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

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

00001 <?php
00015 import('lib.pkp.classes.security.authorization.DataObjectRequiredPolicy');
00016 
00017 class SeriesEditorSubmissionRequiredPolicy extends DataObjectRequiredPolicy {
00024    function SeriesEditorSubmissionRequiredPolicy(&$request, &$args, $submissionParameterName = 'monographId', $operations = null) {
00025       parent::DataObjectRequiredPolicy($request, $args, $submissionParameterName, 'user.authorization.invalidSeriesEditorSubmission', $operations);
00026    }
00027 
00028    //
00029    // Implement template methods from DataObjectRequiredPolicy
00030    //
00034    function dataObjectEffect() {
00035       // Get the monograph id.
00036       $monographId = $this->getDataObjectId();
00037       if ($monographId === false) return AUTHORIZATION_DENY;
00038 
00039       // Validate the monograph id.
00040       $seriesEditorSubmissionDao =& DAORegistry::getDAO('SeriesEditorSubmissionDAO');
00041       $seriesEditorSubmission =& $seriesEditorSubmissionDao->getById($monographId);
00042       if (!is_a($seriesEditorSubmission, 'SeriesEditorSubmission')) return AUTHORIZATION_DENY;
00043 
00044       // Validate that this monograph belongs to the current press.
00045       $press =& $this->_request->getPress();
00046       if ($press->getId() !== $seriesEditorSubmission->getPressId()) return AUTHORIZATION_DENY;
00047 
00048       // Save the monograph to the authorization context.
00049       $this->addAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH, $seriesEditorSubmission);
00050       return AUTHORIZATION_PERMIT;
00051    }
00052 }
00053 
00054 ?>

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