/** * Configure the grid * @param $request PKPRequest */ function initialize(&$request) { parent::initialize($request); // Retrieve the authorized monograph $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH); assert(is_a($monograph, 'Monograph')); $this->setMonograph($monograph); Locale::requireComponents(array(LOCALE_COMPONENT_OMP_DEFAULT_SETTINGS, LOCALE_COMPONENT_OMP_SUBMISSION)); // Basic grid configuration $this->setTitle('grid.chapters.title'); // Set the category data $chapterDao =& DAORegistry::getDAO('ChapterDAO'); $chapters =& $chapterDao->getChapters($monograph->getId()); $this->setGridDataElements($chapters); // Grid actions $router =& $request->getRouter(); $actionArgs = array('monographId' => $monograph->getId()); $this->addAction(new LinkAction('addChapter', new AjaxModal($router->url($request, null, null, 'addChapter', null, $actionArgs), __('submission.chapter.addChapter'), 'fileManagement'), __('grid.action.addItem'), 'add_item')); // Columns // reuse the cell providers for the SubmissionContributorGrid $cellProvider = new SubmissionContributorGridCellProvider(); $this->addColumn(new GridColumn('name', 'author.users.contributor.name', null, 'controllers/grid/gridCell.tpl', $cellProvider)); $this->addColumn(new GridColumn('email', 'author.users.contributor.email', null, 'controllers/grid/gridCell.tpl', $cellProvider)); $this->addColumn(new GridColumn('role', 'author.users.contributor.role', null, 'controllers/grid/gridCell.tpl', $cellProvider)); $this->addColumn(new GridColumn('principalContact', 'author.users.contributor.principalContact', null, 'controllers/grid/users/submissionContributor/primaryContact.tpl', $cellProvider)); }
/** * Configure the grid * @param $request PKPRequest */ function initialize($request) { parent::initialize($request); // Retrieve the authorized submission. $this->setSubmission($this->getAuthorizedContextObject(ASSOC_TYPE_SUBMISSION)); // Load submission-specific translations AppLocale::requireComponents(LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_PKP_DEFAULT); }
/** * @copydoc Gridhandler::initialize() */ function initialize($request, $args = null) { parent::initialize($request); $context = $request->getContext(); $this->setSubmissionId($request->getUserVar('submissionId')); // Set the grid details. $this->setTitle('plugins.generic.vgWort.vgWortGrid'); $this->setEmptyRowText('plugins.generic.vgWort.emptyRow'); $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO'); $files = $submissionFileDao->getLatestRevisions($this->getSubmissionId(), 10); //getBySubmissionId($this->submissionId); $this->setGridDataElements($files); // Columns $cellProvider = new VGWortPrivateGridCellProvider($this->getSubmissionId()); $this->addColumn(new GridColumn('name', 'plugins.generic.vgWort.submissionFiles', null, 'controllers/grid/gridCell.tpl', $cellProvider)); $this->addColumn(new GridColumn('code', 'plugins.generic.vgWort.submissionMetadataForm.code', null, 'controllers/grid/gridCell.tpl', $cellProvider)); }
/** * @copydoc PKPHandler::initialize() */ function initialize($request) { parent::initialize($request); $press = $request->getPress(); $this->_pressId = $press->getId(); AppLocale::requireComponents(LOCALE_COMPONENT_APP_MANAGER); // Set the grid title. $this->setTitle('grid.category.categories'); $this->setInstructions('manager.setup.categories.description'); // Add grid-level actions. $router = $request->getRouter(); $this->addAction(new LinkAction('addCategory', new AjaxModal($router->url($request, null, null, 'addCategory'), __('grid.category.add'), 'modal_manage'), __('grid.category.add'), 'add_category')); // Add grid columns. $cellProvider = new DataObjectGridCellProvider(); $cellProvider->setLocale(AppLocale::getLocale()); $this->addColumn(new GridColumn('title', 'grid.category.name', null, null, $cellProvider)); }
function initialize($request) { parent::initialize($request); $router = $request->getRouter(); $this->_context = $router->getContext($request); // Set name $this->setTitle('manager.publication.library'); AppLocale::requireComponents(LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_APP_COMMON, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_APP_SUBMISSION, LOCALE_COMPONENT_PKP_MANAGER, LOCALE_COMPONENT_APP_MANAGER); // Columns // Basic grid row configuration $this->addColumn($this->getFileNameColumn()); $router = $request->getRouter(); // Add grid-level actions if ($this->canEdit()) { $this->addAction(new LinkAction('addFile', new AjaxModal($router->url($request, null, null, 'addFile', null, $this->getActionArgs()), __('grid.action.addFile'), 'modal_add_file'), __('grid.action.addFile'), 'add')); } }
/** * @copydoc PKPHandler::initialize() */ function initialize($request) { parent::initialize($request); // Load user-related translations. AppLocale::requireComponents(LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_APP_ADMIN, LOCALE_COMPONENT_PKP_ADMIN, LOCALE_COMPONENT_APP_MANAGER, LOCALE_COMPONENT_APP_COMMON); // Basic grid configuration. $this->setTitle('admin.systemConfiguration'); // // Grid columns. // import('lib.pkp.controllers.grid.admin.systemInfo.InfoGridCellProvider'); $infoGridCellProvider = new InfoGridCellProvider(); // setting name. $this->addColumn(new GridColumn('name', 'admin.systemInfo.settingName', null, null, $infoGridCellProvider, array('width' => 20))); // setting value. $this->addColumn(new GridColumn('value', 'admin.systemInfo.settingValue', null, null, $infoGridCellProvider)); $this->_configData = Config::getData(); }
function initialize(&$request) { parent::initialize($request); // Basic grid configuration $this->setId('copyeditingFiles'); $this->setTitle('submission.copyediting'); Locale::requireComponents(array(LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_APPLICATION_COMMON, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_OMP_EDITOR, LOCALE_COMPONENT_OMP_SUBMISSION)); // Grab the copyediting files to display as categories import('classes.monograph.MonographFile'); $submissionFileDao =& DAORegistry::getDAO('SubmissionFileDAO'); /* @var $submissionFileDao SubmissionFileDAO */ $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH); $monographFiles =& $submissionFileDao->getLatestRevisions($monograph->getId(), MONOGRAPH_FILE_COPYEDIT); $rowData = array(); foreach ($monographFiles as $monographFile) { $rowData[$monographFile->getFileId()] = $monographFile; } $this->setGridDataElements($rowData); // Grid actions // Action to add a file -- Adds a category row for the file $router =& $request->getRouter(); $this->addAction(new LegacyLinkAction('uploadFile', LINK_ACTION_MODE_MODAL, LINK_ACTION_TYPE_APPEND, $router->url($request, null, 'grid.files.submission.CopyeditingSubmissionFilesGridHandler', 'addFile', null, array('monographId' => $monograph->getId(), 'fileStage' => MONOGRAPH_FILE_COPYEDIT)), 'submission.addFile', null, 'add')); // Action to add a user -- Adds the user as a subcategory to the files selected in its modal // FIXME: Not all roles should see this action. Bug #5975. $this->addAction(new LegacyLinkAction('addUser', LINK_ACTION_MODE_MODAL, LINK_ACTION_TYPE_REPLACE, $router->url($request, null, null, 'addUser', null, array('monographId' => $monograph->getId())), 'editor.monograph.copyediting.addUser', null, 'add')); // Grid Columns $cellProvider = new CopyeditingFilesGridCellProvider(); // Add a column for the file's label $this->addColumn(new GridColumn('name', 'common.file', null, 'controllers/grid/gridCell.tpl', $cellProvider)); // Add role columns -- One of each user group currently assigned to the stage: $signoffDao =& DAORegistry::getDAO('SignoffDAO'); /* @var $signoffDao SignoffDAO */ $signoffs =& $signoffDao->getAllBySymbolic('SIGNOFF_STAGE', ASSOC_TYPE_MONOGRAPH, $monograph->getId(), null, WORKFLOW_STAGE_ID_EDITING); $userGroupDao =& DAORegistry::getDAO('UserGroupDAO'); $userGroups = array(); while ($signoff =& $signoffs->next()) { $userGroup =& $userGroupDao->getById($signoff->getUserGroupId()); $userGroups[$userGroup->getId()] = $userGroup->getLocalizedAbbrev(); unset($signoff, $userGroup); } foreach ($userGroups as $userGroupId => $userGroupAbbrev) { $this->addColumn(new GridColumn($userGroupId, null, $userGroupAbbrev, 'controllers/grid/common/cell/statusCell.tpl', $cellProvider)); } }
/** * @see GridHandler::initialize($request, $args) */ function initialize($request, $args) { parent::initialize($request); $dataProvider = $this->getDataProvider(); $user = $request->getUser(); $dataProvider->setUserId($user->getId()); AppLocale::requireComponents(LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_APP_COMMON, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_APP_SUBMISSION); $addSignoffFileLinkAction = $dataProvider->getAddSignoffFile($request); if ($addSignoffFileLinkAction) { $this->addAction($addSignoffFileLinkAction); } // The file name column is common to all file grid types. import('lib.pkp.controllers.grid.files.FileNameGridColumn'); $this->addColumn(new FileNameGridColumn(true, WORKFLOW_STAGE_ID_PRODUCTION)); import('lib.pkp.controllers.grid.files.fileSignoff.AuthorSignoffFilesGridCellProvider'); $submission = $this->getAuthorizedContextObject(ASSOC_TYPE_SUBMISSION); $cellProvider = new AuthorSignoffFilesGridCellProvider($submission, WORKFLOW_STAGE_ID_PRODUCTION); // Add a column to show whether the author uploaded a signoff. $this->addColumn(new GridColumn('response', 'submission.response', null, 'controllers/grid/gridCell.tpl', $cellProvider)); // Set the grid title. $this->setTitle('submission.pageProofs'); }
/** * @copydoc GridDataProvider::getRequestArgs() */ function getRequestArgs() { $issue = $this->getAuthorizedContextObject(ASSOC_TYPE_ISSUE); return array_merge(parent::getRequestArgs(), array('issueId' => $issue->getId())); }
/** * @copydoc GridHandler::initFeatures() */ function initFeatures($request, $args) { import('lib.pkp.classes.controllers.grid.feature.OrderCategoryGridItemsFeature'); return array_merge(parent::initFeatures($request, $args), array(new OrderCategoryGridItemsFeature(ORDER_CATEGORY_GRID_CATEGORIES_AND_ROWS))); }
/** * @see PKPHandler::authorize() * @param $request PKPRequest * @param $args array * @param $roleAssignments array */ function authorize($request, &$args, $roleAssignments) { import('lib.pkp.classes.security.authorization.SubmissionAccessPolicy'); $this->addPolicy(new SubmissionAccessPolicy($request, $args, $roleAssignments)); return parent::authorize($request, $args, $roleAssignments); }
/** * @copydoc GridDataProvider::getRequestArgs() */ function getRequestArgs() { $submission = $this->getSubmission(); $signoff = $this->getAuthorizedContextObject(ASSOC_TYPE_SIGNOFF); $args = array_merge(parent::getRequestArgs(), array('submissionId' => $submission->getId(), 'stageId' => $this->getStageId())); if (is_a($signoff, 'Signoff')) { $args['signoffId'] = $signoff->getId(); } return $args; }
/** * Get the arguments that will identify the data in the grid * In this case, the context. * @return array */ function getRequestArgs() { $context = $this->getContext(); return array_merge(parent::getRequestArgs(), array('contextId' => $context->getId())); }
/** * @see GridDataProvider::getRequestArgs() */ function getRequestArgs() { $monograph = $this->getMonograph(); return array_merge(parent::getRequestArgs(), array('submissionId' => $monograph->getId())); }
/** * @copydoc GridHandler::renderFilter() */ function renderFilter($request) { $categoriesSymbolic = $this->loadData($request, null); $categories = array('all' => __('grid.plugin.allCategories')); foreach ($categoriesSymbolic as $category) { $categories[$category] = __("plugins.categories.{$category}"); } $filterData = array('categories' => $categories); return parent::renderFilter($request, $filterData); }
/** * @copydoc PKPHandler::initialize() */ function initialize($request) { parent::initialize($request); // Load translations. AppLocale::requireComponents(LOCALE_COMPONENT_APP_SUBMISSION, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_APP_EDITOR, LOCALE_COMPONENT_PKP_EDITOR, LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_APP_COMMON); // Add grid actions $capabilities = $this->getCapabilities(); $dataProvider = $this->getDataProvider(); if ($capabilities->canManage()) { $this->addAction($dataProvider->getSelectAction($request)); } if ($capabilities->canAdd()) { assert(isset($dataProvider)); $this->addAction($dataProvider->getAddFileAction($request)); } // Test whether the tar binary is available for the export to work, if so, add 'download all' grid action if ($capabilities->canDownloadAll() && $this->hasGridDataElements($request)) { $submission = $this->getSubmission(); $stageId = $this->getStageId(); $linkParams = array('submissionId' => $submission->getId(), 'stageId' => $stageId); $files = $this->getFilesToDownload($request); $this->addAction($capabilities->getDownloadAllAction($request, $files, $linkParams), GRID_ACTION_POSITION_BELOW); } // The file name column is common to all file grid types. $this->addColumn(new FileNameGridColumn($capabilities->canViewNotes(), $this->getStageId())); // The file list grid layout has an additional file genre column. import('lib.pkp.controllers.grid.files.fileList.FileGenreGridColumn'); $this->addColumn(new FileGenreGridColumn()); // Set the no items row text $this->setEmptyRowText('grid.noFiles'); }
/** * @copydoc GridHandler::getRequestArgs() */ function getRequestArgs() { $submission = $this->getSubmission(); return array_merge(parent::getRequestArgs(), array('submissionId' => $submission->getId(), 'stageId' => $this->getStageId())); }