/** * Show the form to allow the user to select review files * (bring in/take out files from submission stage to review stage) * * FIXME: Move to its own handler so that it can be re-used among grids. * * @param $args array * @param $request PKPRequest * @return JSONMessage JSON object */ function selectFiles($args, $request) { $submission = $this->getSubmission(); import('lib.pkp.controllers.grid.files.review.form.ManageReviewFilesForm'); $manageReviewFilesForm = new ManageReviewFilesForm($submission->getId(), $this->getRequestArg('stageId'), $this->getRequestArg('reviewRoundId')); $manageReviewFilesForm->initData($args, $request); return new JSONMessage(true, $manageReviewFilesForm->fetch($request)); }
/** * Show the form to allow the user to select review files * (bring in/take out files from submission stage to review stage) * * FIXME: Move to it's own handler so that it can be re-used among grids. * * @param $args array * @param $request PKPRequest * @return string Serialized JSON object */ function selectFiles($args, &$request) { $monograph =& $this->getMonograph(); import('controllers.grid.files.review.form.ManageReviewFilesForm'); $manageReviewFilesForm = new ManageReviewFilesForm($monograph->getId(), $this->getRequestArg('reviewType'), $this->getRequestArg('round')); $manageReviewFilesForm->initData($args, $request); $json = new JSON(true, $manageReviewFilesForm->fetch($request)); return $json->getString(); }
/** * Save 'manage review files' form * @param $args array * @param $request PKPRequest * @return string Serialized JSON object */ function updateReviewFiles($args, &$request) { $monograph =& $this->getMonograph(); import('controllers.grid.files.review.form.ManageReviewFilesForm'); $manageReviewFilesForm = new ManageReviewFilesForm($monograph->getId(), $this->getRequestArg('reviewType'), $this->getRequestArg('round')); $manageReviewFilesForm->readInputData(); if ($manageReviewFilesForm->validate()) { $manageReviewFilesForm->execute($args, $request); // Let the calling grid reload itself return DAO::getDataChangedEvent(); } else { $json = new JSON(false); return $json->getString(); } }
/** * Save 'manage review files' form. * @param $args array * @param $request PKPRequest * @return JSONMessage JSON object */ function updateReviewFiles($args, $request) { $submission = $this->getSubmission(); import('lib.pkp.controllers.grid.files.review.form.ManageReviewFilesForm'); $manageReviewFilesForm = new ManageReviewFilesForm($submission->getId(), $this->getRequestArg('stageId'), $this->getRequestArg('reviewRoundId')); $manageReviewFilesForm->readInputData(); if ($manageReviewFilesForm->validate()) { $dataProvider = $this->getDataProvider(); $manageReviewFilesForm->execute($args, $request, $this->getGridCategoryDataElements($request, $this->getStageId())); $this->setupTemplate($request); $user = $request->getUser(); NotificationManager::createTrivialNotification($user->getId(), NOTIFICATION_TYPE_SUCCESS, array('contents' => __('notification.updatedReviewFiles'))); // Let the calling grid reload itself return DAO::getDataChangedEvent(); } else { return new JSONMessage(false); } }
/** * Save 'manage review files' form * @param $args array * @param $request PKPRequest * @return string Serialized JSON object */ function updateReviewFiles($args, &$request) { $monographId = $request->getUserVar('monographId'); import('controllers.grid.files.reviewFiles.form.ManageReviewFilesForm'); $manageReviewFilesForm = new ManageReviewFilesForm($monographId); $manageReviewFilesForm->readInputData(); if ($manageReviewFilesForm->validate()) { $selectedFiles =& $manageReviewFilesForm->execute($args, $request); // Re-render the grid with the updated files $this->setData($selectedFiles); $this->initialize($request); // Pass to modal.js to reload the grid with the new content // FIXME: Calls to private methods of superclasses are not allowed! $gridBodyParts = $this->_renderGridBodyPartsInternally($request); if (count($gridBodyParts) == 0) { // The following should usually be returned from a // template also so we remain view agnostic. But as this // is easy to migrate and we want to avoid the additional // processing overhead, let's just return plain HTML. $renderedGridRows = '<tbody> </tbody>'; } else { assert(count($gridBodyParts) == 1); $renderedGridRows = $gridBodyParts[0]; } $json = new JSON('true', $renderedGridRows); } else { $json = new JSON('false'); } return $json->getString(); }