/** * 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)); }
/** * @copydoc GridHandler::initialize() */ function initialize($request) { parent::initialize($request); // Load language components AppLocale::requireComponents(LOCALE_COMPONENT_PKP_MANAGER, LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_APP_MANAGER); // Basic grid configuration $this->setTitle('common.plugins'); // Set the no items row text $this->setEmptyRowText('grid.noItems'); // Columns import('lib.pkp.controllers.grid.plugins.PluginGridCellProvider'); $pluginCellProvider = new PluginGridCellProvider(); $this->addColumn(new GridColumn('name', 'common.name', null, null, $pluginCellProvider, array('multiline' => true, 'showTotalItemsNumber' => true, 'collapseAllColumnsInCategories' => true))); $descriptionColumn = new GridColumn('description', 'common.description', null, null, $pluginCellProvider); $descriptionColumn->addFlag('html', true); $this->addColumn($descriptionColumn); $this->addColumn(new GridColumn('enabled', 'common.enabled', null, 'controllers/grid/common/cell/selectStatusCell.tpl', $pluginCellProvider)); $router = $request->getRouter(); // Grid level actions. $userRoles = $this->getAuthorizedContextObject(ASSOC_TYPE_USER_ROLES); if (in_array(ROLE_ID_SITE_ADMIN, $userRoles)) { import('lib.pkp.classes.linkAction.request.AjaxModal'); // Install plugin. $this->addAction(new LinkAction('upload', new AjaxModal($router->url($request, null, null, 'uploadPlugin'), __('manager.plugins.upload'), 'modal_add_file'), __('manager.plugins.upload'), 'add')); } }
function initialize($request) { parent::initialize($request); // Retrieve the authorized monograph. $this->setMonograph($this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH)); $representativeId = (int) $request->getUserVar('representativeId'); // set if editing or deleting a representative entry if ($representativeId != '') { $representativeDao = DAORegistry::getDAO('RepresentativeDAO'); $representative = $representativeDao->getById($representativeId, $this->getMonograph()->getId()); if (!isset($representative)) { fatalError('Representative referenced outside of authorized monograph context!'); } } // Load submission-specific translations AppLocale::requireComponents(LOCALE_COMPONENT_APP_SUBMISSION, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_APP_DEFAULT, LOCALE_COMPONENT_PKP_DEFAULT); // Basic grid configuration $this->setTitle('grid.catalogEntry.representatives'); // Grid actions $router = $request->getRouter(); $actionArgs = $this->getRequestArgs(); $this->addAction(new LinkAction('addRepresentative', new AjaxModal($router->url($request, null, null, 'addRepresentative', null, $actionArgs), __('grid.action.addRepresentative'), 'modal_add_item'), __('grid.action.addRepresentative'), 'add_item')); // Columns $cellProvider = new RepresentativesGridCellProvider(); $this->addColumn(new GridColumn('name', 'grid.catalogEntry.representativeName', null, null, $cellProvider)); $this->addColumn(new GridColumn('role', 'grid.catalogEntry.representativeRole', null, null, $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 PKPHandler::initialize() */ function initialize($request) { parent::initialize($request); AppLocale::requireComponents(LOCALE_COMPONENT_APP_EDITOR, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_APP_SUBMISSION); // // Grid columns. // import('controllers.grid.toc.TocGridCellProvider'); $tocGridCellProvider = new TocGridCellProvider(); // Article title $this->addColumn(new GridColumn('title', 'article.title', null, null, $tocGridCellProvider)); }
/** * Configure the grid * @param PKPRequest $request */ function initialize($request) { parent::initialize($request); AppLocale::requireComponents(LOCALE_COMPONENT_PKP_COMMON, LOCALE_COMPONENT_APP_COMMON, LOCALE_COMPONENT_PKP_SUBMISSION, LOCALE_COMPONENT_APP_EDITOR, LOCALE_COMPONENT_PKP_EDITOR, LOCALE_COMPONENT_APP_SUBMISSION); $submission = $this->getSubmission(); // Bring in file constants import('lib.pkp.classes.submission.SubmissionFile'); // Grid actions // Action to add a file -- Adds a category row for the file import('lib.pkp.controllers.api.file.linkAction.AddFileLinkAction'); $this->addAction(new AddFileLinkAction($request, $submission->getId(), $this->getStageId(), array(ROLE_ID_MANAGER, ROLE_ID_SUB_EDITOR, ROLE_ID_ASSISTANT), null, $this->getFileStage(), $this->getAssocType(), $this->getAssocId())); // Action to signoff on a file -- Lets user interact with their own rows. $user = $request->getUser(); $signoffDao = DAORegistry::getDAO('SubmissionFileSignoffDAO'); /* @var $signoffDao SubmissionFileSignoffDAO */ $signoffFactory = $signoffDao->getAllBySubmission($submission->getId(), $this->getSymbolic(), $user->getId(), null, true); if (!$signoffFactory->wasEmpty()) { import('lib.pkp.controllers.api.signoff.linkAction.AddSignoffFileLinkAction'); $this->addAction(new AddSignoffFileLinkAction($request, $submission->getId(), $this->getStageId(), $this->getSymbolic(), null, __('submission.upload.signoff'), __('submission.upload.signoff'))); } $router = $request->getRouter(); // Action to add a user -- Adds the user as a subcategory to the files selected in its modal $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO'); /* @var $submissionFileDao SubmissionFileDAO */ $submissionFiles = $submissionFileDao->getLatestRevisions($submission->getId(), $this->getFileStage()); // The "Add Auditor" link should only be available if at least // one file already exists. if (!empty($submissionFiles)) { $this->addAction(new LinkAction('addAuditor', new AjaxModal($router->url($request, null, null, 'addAuditor', null, $this->getRequestArgs()), __('editor.submission.addAuditor'), 'modal_add_user'), __('editor.submission.addAuditor'), 'add_user')); } // // Grid Columns // $userIds = $this->_getSignoffCapableUsersId(); // Add a column for the file's label $this->addColumn(new GridColumn('name', 'common.file', null, null, new SignoffGridCellProvider($submission->getId(), $this->getStageId()), array('alignment' => COLUMN_ALIGNMENT_LEFT, 'width' => 60))); // Add the considered column (signoff). import('lib.pkp.controllers.grid.files.SignoffOnSignoffGridColumn'); $this->addColumn(new SignoffOnSignoffGridColumn('common.considered', $userIds, $this->getRequestArgs(), array('hoverTitle' => true))); // Add approved column (make the file visible). This column // will only have content in category rows, so we define // a cell provider there. See getCategoryRowInstance(). import('lib.pkp.classes.controllers.grid.GridColumn'); import('lib.pkp.classes.controllers.grid.NullGridCellProvider'); $this->addColumn(new GridColumn('approved', 'editor.signoff.approved', null, null, new NullGridCellProvider())); // Set the no-row locale key $this->setEmptyRowText('grid.noFiles'); }
/** * @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'); // 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)); }
/** * @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); // Load submission-specific translations AppLocale::requireComponents(LOCALE_COMPONENT_APP_EDITOR, LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_APP_DEFAULT, LOCALE_COMPONENT_PKP_DEFAULT, LOCALE_COMPONENT_PKP_SUBMISSION); // Columns import('lib.pkp.controllers.grid.users.stageParticipant.StageParticipantGridCellProvider'); $cellProvider = new StageParticipantGridCellProvider(); $this->addColumn(new GridColumn('participants', null, null, null, $cellProvider)); // The "Add stage participant" grid action is available to // Editors and Managers only if ($this->_canAdminister()) { $router = $request->getRouter(); $this->addAction(new LinkAction('requestAccount', new AjaxModal($router->url($request, null, null, 'addParticipant', null, $this->getRequestArgs()), __('editor.submission.addStageParticipant'), 'modal_add_user'), __('common.add'), 'add_user')); } $this->setEmptyCategoryRowText('editor.submission.noneAssigned'); }
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(); }
/** * Configure the grid * @param $request PKPRequest */ function initialize($request) { parent::initialize($request); $this->setTitle('submission.chapters'); AppLocale::requireComponents(LOCALE_COMPONENT_APP_DEFAULT, LOCALE_COMPONENT_PKP_DEFAULT, LOCALE_COMPONENT_APP_SUBMISSION); if (!$this->getReadOnly()) { // Grid actions $router = $request->getRouter(); $actionArgs = $this->getRequestArgs(); $this->addAction(new LinkAction('addChapter', new AjaxModal($router->url($request, null, null, 'addChapter', null, $actionArgs), __('submission.chapter.addChapter'), 'modal_add_item'), __('submission.chapter.addChapter'), 'add_item')); } // Columns // reuse the cell providers for the AuthorGrid $cellProvider = new PKPAuthorGridCellProvider(); $this->addColumn(new GridColumn('name', 'author.users.contributor.name', null, null, $cellProvider, array('width' => 50, 'alignment' => COLUMN_ALIGNMENT_LEFT))); $this->addColumn(new GridColumn('email', 'author.users.contributor.email', null, null, $cellProvider)); $this->addColumn(new GridColumn('role', 'author.users.contributor.role', null, null, $cellProvider)); }
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)); } }
function initialize($request) { parent::initialize($request); AppLocale::requireComponents(LOCALE_COMPONENT_PKP_MANAGER, LOCALE_COMPONENT_APP_MANAGER); // Basic grid configuration $this->setTitle('grid.content.navigation.footer'); // Set the no items row text $this->setEmptyRowText('grid.content.navigation.footer.noneExist'); $context = $request->getContext(); $this->setContext($context); // Columns import('lib.pkp.controllers.grid.content.navigation.FooterGridCellProvider'); $footerLinksGridCellProvider = new FooterGridCellProvider(); $gridColumn = new GridColumn('title', 'common.title', null, 'controllers/grid/gridCell.tpl', $footerLinksGridCellProvider, array()); $gridColumn->addFlag('html', true); $this->addColumn($gridColumn); // Add grid action. $router = $request->getRouter(); import('lib.pkp.classes.linkAction.request.AjaxModal'); $this->addAction(new LinkAction('addFooterCategoryLink', new AjaxModal($router->url($request, null, null, 'addFooterCategory', null, null), __('grid.content.navigation.footer.addCategory'), 'modal_add_item', true), __('grid.content.navigation.footer.addCategory'), 'add_item')); }
/** * @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'); }
/** * 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_EDITOR, LOCALE_COMPONENT_PKP_USER, LOCALE_COMPONENT_PKP_DEFAULT); $this->setTitle('monograph.publicationFormats'); // Load submission-specific translations AppLocale::requireComponents(LOCALE_COMPONENT_APP_SUBMISSION, LOCALE_COMPONENT_APP_DEFAULT, LOCALE_COMPONENT_APP_EDITOR); // Grid actions $router = $request->getRouter(); $actionArgs = $this->getRequestArgs(); $this->addAction(new LinkAction('addFormat', new AjaxModal($router->url($request, null, null, 'addFormat', null, $actionArgs), __('grid.action.addFormat'), 'modal_add_item'), __('grid.action.addFormat'), 'add_item')); // Columns $submission = $this->getSubmission(); import('controllers.grid.catalogEntry.PublicationFormatGridCellProvider'); $this->_cellProvider = new PublicationFormatGridCellProvider($submission->getId()); $this->addColumn(new GridColumn('name', 'common.name', null, null, $this->_cellProvider, array('width' => 60, 'anyhtml' => true))); $this->addColumn(new GridColumn('isComplete', 'common.complete', null, 'controllers/grid/common/cell/statusCell.tpl', $this->_cellProvider, array('width' => 20))); $this->addColumn(new GridColumn('isAvailable', 'grid.catalogEntry.availability', null, 'controllers/grid/common/cell/statusCell.tpl', $this->_cellProvider, array('width' => 20))); }
/** * @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'); }