/** * Show the form to allow the user to select files from previous stages * @param $args array * @param $request PKPRequest * @return JSONMessage JSON object */ function selectFiles($args, $request) { import('lib.pkp.controllers.grid.files.final.form.ManageFinalDraftFilesForm'); $manageFinalDraftFilesForm = new ManageFinalDraftFilesForm($this->getSubmission()->getId()); $manageFinalDraftFilesForm->initData($args, $request); return new JSONMessage(true, $manageFinalDraftFilesForm->fetch($request)); }
/** * Save 'manage final draft files' form * @param $args array * @param $request PKPRequest * @return JSONMessage JSON object */ function updateFinalDraftFiles($args, $request) { $submission = $this->getSubmission(); import('lib.pkp.controllers.grid.files.final.form.ManageFinalDraftFilesForm'); $manageFinalDraftFilesForm = new ManageFinalDraftFilesForm($submission->getId()); $manageFinalDraftFilesForm->readInputData(); if ($manageFinalDraftFilesForm->validate()) { $manageFinalDraftFilesForm->execute($args, $request, $this->getGridCategoryDataElements($request, $this->getStageId())); // Let the calling grid reload itself return DAO::getDataChangedEvent(); } else { return new JSONMessage(false); } }
/** * Save 'manage final draft files' form * @param $args array * @param $request PKPRequest * @return string Serialized JSON object */ function updateFinalDraftFiles($args, &$request) { // Instantiate the files form. import('controllers.grid.files.finalDraftFiles.form.ManageFinalDraftFilesForm'); $monograph =& $this->getAuthorizedContextObject(ASSOC_TYPE_MONOGRAPH); /* @var $monograph Monograph */ $manageFinalDraftFilesForm = new ManageFinalDraftFilesForm($monograph); // Initialize form and read in data. $manageFinalDraftFilesForm->initData($args, $request); $manageFinalDraftFilesForm->readInputData(); // Validate and execute form. if ($manageFinalDraftFilesForm->validate()) { $selectedFiles =& $manageFinalDraftFilesForm->execute($args, $request); // Re-render the grid with the updated files. $this->setData($selectedFiles); $this->initialize($request); // 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'); } // Serialize JSON. return $json->getString(); }
/** * Save 'manage final draft files' form * @param $args array * @param $request PKPRequest * @return string Serialized JSON object */ function updateFinalDraftFiles($args, &$request) { // Instantiate the files form. import('controllers.grid.files.final.form.ManageFinalDraftFilesForm'); $monograph =& $this->getMonograph(); /* @var $monograph Monograph */ $manageFinalDraftFilesForm = new ManageFinalDraftFilesForm($monograph); // Initialize form and read in data. $manageFinalDraftFilesForm->initData($args, $request); $manageFinalDraftFilesForm->readInputData(); // Validate and execute form. if ($manageFinalDraftFilesForm->validate()) { $manageFinalDraftFilesForm->execute($args, $request); // Let the calling grid reload itself return DAO::getDataChangedEvent(); } else { $json = new JSON(false); return $json->getString(); } }