addRoleAssignment( [ Role::ROLE_ID_SUB_EDITOR, Role::ROLE_ID_MANAGER, Role::ROLE_ID_SITE_ADMIN, Role::ROLE_ID_ASSISTANT, Role::ROLE_ID_AUTHOR, ], [ 'fetchGrid', 'fetchRow', ] ); $this->addRoleAssignment( [ Role::ROLE_ID_SUB_EDITOR, Role::ROLE_ID_MANAGER, Role::ROLE_ID_SITE_ADMIN, Role::ROLE_ID_ASSISTANT ], [ 'selectFiles' ] ); $this->setTitle('submission.copyedited'); } // // Public handler methods // /** * @copydoc GridHandler::initialize() * * @param null|mixed $args */ public function initialize($request, $args = null) { if (0 != count(array_intersect( $this->getAuthorizedContextObject(Application::ASSOC_TYPE_USER_ROLES), [Role::ROLE_ID_MANAGER, Role::ROLE_ID_SITE_ADMIN, Role::ROLE_ID_ASSISTANT, Role::ROLE_ID_SUB_EDITOR] // Authors may also view this grid, and shouldn't be able to do anything (just view). ))) { $this->setCapabilities(new FilesGridCapabilities(FilesGridCapabilities::FILE_GRID_EDIT | FilesGridCapabilities::FILE_GRID_MANAGE | FilesGridCapabilities::FILE_GRID_VIEW_NOTES | FilesGridCapabilities::FILE_GRID_DELETE)); } parent::initialize($request, $args); } /** * Show the form to allow the user to select files from previous stages * * @param array $args * @param PKPRequest $request * * @return JSONMessage JSON object */ public function selectFiles($args, $request) { $manageCopyeditFilesForm = new ManageCopyeditFilesForm($this->getSubmission()->getId()); $manageCopyeditFilesForm->initData(); return new JSONMessage(true, $manageCopyeditFilesForm->fetch($request)); } }