/** * Save the metadata tab. * @param $args array * @param $request PKPRequest */ function saveForm($args, $request) { $this->setupTemplate($request); import('controllers.modals.submissionMetadata.form.SubmissionMetadataViewForm'); $submissionMetadataViewForm = new SubmissionMetadataViewForm($this->_submission->getId()); // Try to save the form data. $submissionMetadataViewForm->readInputData($request); if ($submissionMetadataViewForm->validate()) { $submissionMetadataViewForm->execute($request); // Create trivial notification. $notificationManager = new NotificationManager(); $user = $request->getUser(); $notificationManager->createTrivialNotification($user->getId(), NOTIFICATION_TYPE_SUCCESS, array('contents' => __('notification.savedSubmissionMetadata'))); return new JSONMessage(true); } return new JSONMessage(false); }
/** * @see SubmissionMetadataViewForm::fetch() */ function fetch($request) { $templateMgr = TemplateManager::getManager($request); // Make this available for expedited submissions. $salesTypes = array('openAccess' => 'payment.directSales.openAccess', 'directSales' => 'payment.directSales.directSales', 'notAvailable' => 'payment.directSales.notAvailable'); $templateMgr->assign('salesTypes', $salesTypes); return parent::fetch($request); }
/** * Save the metadata. */ function execute($request) { parent::execute($request); $submission = $this->getSubmission(); $submissionDao = Application::getSubmissionDAO(); $publishedArticleDao = DAORegistry::getDAO('PublishedArticleDAO'); $publishedArticle = $publishedArticleDao->getPublishedArticleByArticleId($submission->getId(), null, false); $isExistingEntry = $publishedArticle ? true : false; if ($isExistingEntry) { // Update the search index for this published article. import('classes.search.ArticleSearchIndex'); ArticleSearchIndex::articleMetadataChanged($submission); } $submissionDao->updateObject($submission); }
/** * Assign form data to user-submitted data. */ function readInputData() { parent::readInputData(); // Read in the additional fields price data. $this->readUserVars(array('price')); }