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

classes/security/authorization/OmpPublishedMonographAccessPolicy.inc.php

00001 <?php
00014 import('classes.security.authorization.internal.PressPolicy');
00015 
00016 class OmpPublishedMonographAccessPolicy extends PressPolicy {
00025    function OmpPublishedMonographAccessPolicy(&$request, $args, $roleAssignments, $submissionParameterName = 'monographId') {
00026       parent::PressPolicy($request);
00027 
00028       // Access may be made either as a member of the public, or
00029       // via pre-publication access to editorial users.
00030       $monographAccessPolicy = new PolicySet(COMBINING_PERMIT_OVERRIDES);
00031       // Published monograph access for the public
00032       $publishedMonographAccessPolicy = new PolicySet(COMBINING_DENY_OVERRIDES);
00033       import('classes.security.authorization.internal.MonographRequiredPolicy');
00034       $publishedMonographAccessPolicy->addPolicy(new MonographRequiredPolicy($request, $args, $submissionParameterName));
00035       import('classes.security.authorization.internal.MonographPublishedPolicy');
00036       $publishedMonographAccessPolicy->addPolicy(new MonographPublishedPolicy($request));
00037       $monographAccessPolicy->addPolicy($publishedMonographAccessPolicy);
00038 
00039       // Pre-publication access for editorial roles
00040       import('classes.security.authorization.OmpSubmissionAccessPolicy');
00041       $monographAccessPolicy->addPolicy(
00042          new OmpSubmissionAccessPolicy(
00043             $request, $args,
00044             array_intersect_key(
00045                $roleAssignments,
00046                array( // Only permit these roles
00047                   ROLE_ID_PRESS_MANAGER,
00048                   ROLE_ID_SERIES_EDITOR,
00049                )
00050             ),
00051             $submissionParameterName
00052          )
00053       );
00054 
00055       $this->addPolicy($monographAccessPolicy);
00056    }
00057 }
00058 
00059 ?>

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