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
00034
00038 function effect() {
00039
00040 $user =& $this->_request->getUser();
00041 if (!is_a($user, 'PKPUser')) return AUTHORIZATION_DENY;
00042
00043
00044 $router =& $this->_request->getRouter();
00045 $press =& $router->getContext($this->_request);
00046 if (!is_a($press, 'Press')) return AUTHORIZATION_DENY;
00047
00048
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 ?>