• Main Page
  • Modules
  • Classes
  • Files
  • File List

classes/security/authorization/internal/SeriesAssignmentPolicy.inc.php

00001 <?php
00017 import('lib.pkp.classes.security.authorization.AuthorizationPolicy');
00018 
00019 class SeriesAssignmentPolicy extends AuthorizationPolicy {
00021    var $_request;
00022 
00027    function SeriesAssignmentPolicy(&$request) {
00028       parent::AuthorizationPolicy('user.authorization.seriesAssignment');
00029       $this->_request =& $request;
00030    }
00031 
00032    //
00033    // Implement template methods from AuthorizationPolicy
00034    //
00038    function effect() {
00039       // Get the user
00040       $user =& $this->_request->getUser();
00041       if (!is_a($user, 'PKPUser')) return AUTHORIZATION_DENY;
00042 
00043       // Get the press
00044       $router =& $this->_request->getRouter();
00045       $press =& $router->getContext($this->_request);
00046       if (!is_a($press, 'Press')) return AUTHORIZATION_DENY;
00047 
00048       // Get the monograph
00049       $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00050       if (!is_a($monograph, 'Monograph')) return AUTHORIZATION_DENY;
00051 
00052       import('classes.security.authorization.internal.SeriesAssignmentRule');
00053       if (SeriesAssignmentRule::effect($press->getId(), $monograph->getSeriesId(), $user->getId())) {
00054          return AUTHORIZATION_PERMIT;
00055       } else {
00056          return AUTHORIZATION_DENY;
00057       }
00058    }
00059 }
00060 
00061 ?>

Generated on Mon Sep 17 2012 13:58:55 for Open Monograph Press by  doxygen 1.7.1