00001 <?php
00002
00016 import('lib.pkp.classes.controllers.grid.CategoryGridDataProvider');
00017
00018 class AuthorProofingSignoffFilesCategoryGridDataProvider extends CategoryGridDataProvider {
00019
00026 function AuthorProofingSignoffFilesCategoryGridDataProvider() {
00027 import("controllers.grid.files.fileSignoff.AuthorSignoffFilesGridDataProvider");
00028 $gridDataProvider = new AuthorSignoffFilesGridDataProvider('SIGNOFF_PROOFING', WORKFLOW_STAGE_ID_PRODUCTION);
00029 $this->setDataProvider($gridDataProvider);
00030 }
00031
00036 function setUserId($userId) {
00037 $dataProvider =& $this->getDataProvider();
00038 $dataProvider->setUserId($userId);
00039 }
00040
00044 function getAuthorizationPolicy($request, $args, $roleAssignments) {
00045 $dataProvider =& $this->getDataProvider();
00046 return $dataProvider->getAuthorizationPolicy($request, $args, $roleAssignments);
00047 }
00048
00052 function getRequestArgs() {
00053 $dataProvider =& $this->getDataProvider();
00054 $args = $dataProvider->getRequestArgs();
00055 return $args;
00056 }
00057
00061 function loadData() {
00062 $monograph = $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH);
00063 $publicationFormatDao =& DAORegistry::getDAO('PublicationFormatDAO');
00064 $publicationFormatFactory =& $publicationFormatDao->getByMonographId($monograph->getId());
00065
00066 return $publicationFormatFactory->toAssociativeArray();
00067 }
00068
00072 function &getCategoryData(&$publicationFormat, $filter = null) {
00073 $dataProvider =& $this->getDataProvider();
00074 $signoffFiles =& $dataProvider->loadData();
00075
00076 $categoryData = array();
00077 foreach ($signoffFiles as $signoffId => $objects) {
00078 if ($objects['submissionFile']->getAssocType() == ASSOC_TYPE_PUBLICATION_FORMAT &&
00079 $objects['submissionFile']->getAssocId() == $publicationFormat->getId()) {
00080 $categoryData[$signoffId] = $objects;
00081 }
00082 }
00083
00084 return $categoryData;
00085 }
00086
00087
00088
00089
00090
00094 function &getAddSignoffFile($request) {
00095 $dataProvider =& $this->getDataProvider();
00096 return $dataProvider->getAddSignoffFile($request);
00097 }
00098 }
00099
00100 ?>