addRoleAssignment( [Role::ROLE_ID_MANAGER, Role::ROLE_ID_SITE_ADMIN, Role::ROLE_ID_SUB_EDITOR, Role::ROLE_ID_ASSISTANT, Role::ROLE_ID_REVIEWER, Role::ROLE_ID_AUTHOR], ['identifiers', 'updateIdentifiers', 'clearPubId',] ); } /** * Edit proof submission file pub ids. * * @param array $args * @param Request $request * * @return JSONMessage JSON object */ public function identifiers($args, $request) { $submissionFile = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_SUBMISSION_FILE); $stageId = $request->getUserVar('stageId'); $form = new PublicIdentifiersForm($submissionFile, $stageId); $form->initData(); return new JSONMessage(true, $form->fetch($request)); } /** * Update proof submission file pub ids. * * @param array $args * @param Request $request * * @return JSONMessage JSON object */ public function updateIdentifiers($args, $request) { $submissionFile = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_SUBMISSION_FILE); $stageId = $request->getUserVar('stageId'); $form = new PublicIdentifiersForm($submissionFile, $stageId); $form->readInputData(); if ($form->validate()) { $form->execute(); return DAO::getDataChangedEvent($submissionFile->getId()); } else { return new JSONMessage(true, $form->fetch($request)); } } /** * Clear proof submission file pub id. * * @param array $args * @param Request $request * * @return JSONMessage JSON object */ public function clearPubId($args, $request) { if (!$request->checkCSRF()) { return new JSONMessage(false); } $submissionFile = $this->getAuthorizedContextObject(Application::ASSOC_TYPE_SUBMISSION_FILE); $stageId = $request->getUserVar('stageId'); $form = new PublicIdentifiersForm($submissionFile, $stageId); $form->clearPubId($request->getUserVar('pubIdPlugIn')); return new JSONMessage(true); } }