15 import(
'lib.pkp.classes.security.authorization.DataObjectRequiredPolicy');
27 function __construct($request, &$args, $operations =
null) {
28 parent::__construct($request, $args,
'issueId',
'user.authorization.invalidIssue', $operations);
29 $this->journal = $request->getJournal();
40 if (!$issueId)
return AUTHORIZATION_DENY;
44 $issue = $issueDao->getByBestId($issueId, $this->journal->getId());
46 if (!is_a($issue,
'Issue'))
return AUTHORIZATION_DENY;
51 if (!$issue->getPublished() && count(array_intersect(
60 return AUTHORIZATION_DENY;
65 return AUTHORIZATION_PERMIT;
73 if ($lookOnlyByParameterName)
throw new Exception(
'lookOnlyByParameterName not supported for issues.');
75 $router = $this->_request->getRouter();
77 case is_a($router,
'PKPPageRouter'):
78 if ( ctype_digit((
string) $this->_request->getUserVar($this->_parameterName)) ) {
80 return (
int) $this->_request->getUserVar($this->_parameterName);
81 }
else if (isset($this->_args[0])) {
83 return $this->_args[0];
88 return parent::getDataObjectId();