/**
* Save changes to a review form element.
* @param $args array
* @param $request PKPRequest
* @return JSONMessage JSON object
*/
function updateReviewFormElement($args, $request)
{
$reviewFormElementId = (int) $request->getUserVar('reviewFormElementId');
$context = $request->getContext();
$reviewFormDao = DAORegistry::getDAO('ReviewFormDAO');
$reviewFormElementDao = DAORegistry::getDAO('ReviewFormElementDAO');
$reviewForm = $reviewFormDao->getById($this->reviewFormId, Application::getContextAssocType(), $context->getId());
if (!$reviewFormDao->unusedReviewFormExists($this->reviewFormId, Application::getContextAssocType(), $context->getId()) || $reviewFormElementId && !$reviewFormElementDao->reviewFormElementExists($reviewFormElementId, $this->reviewFormId)) {
fatalError('Invalid review form information!');
}
import('lib.pkp.controllers.grid.settings.reviewForms.form.ReviewFormElementForm');
$reviewFormElementForm = new ReviewFormElementForm($this->reviewFormId, $reviewFormElementId);
$reviewFormElementForm->readInputData();
if ($reviewFormElementForm->validate()) {
$reviewFormElementId = $reviewFormElementForm->execute($request);
// Create the notification.
$notificationMgr = new NotificationManager();
$user = $request->getUser();
$notificationMgr->createTrivialNotification($user->getId());
return DAO::getDataChangedEvent($reviewFormElementId);
}
return new JSONMessage(false);
}