/** * Update a series * @param $args array * @param $request PKPRequest * @return JSONMessage JSON object */ function updateSeries($args, $request) { $seriesId = $request->getUserVar('seriesId'); import('controllers.grid.settings.series.form.SeriesForm'); $seriesForm = new SeriesForm($request, $seriesId); $seriesForm->readInputData(); if ($seriesForm->validate()) { $seriesForm->execute($args, $request); return DAO::getDataChangedEvent($seriesForm->getSeriesId()); } else { return new JSONMessage(false); } }
/** * Update a series * @param $args array * @param $request PKPRequest * @return string Serialized JSON object */ function updateSeries($args, &$request) { $seriesId = Request::getUserVar('rowId'); //FIXME: add validation here? // -> seriesId must be present and valid // -> htmlId must be present and valid $press =& $request->getPress(); import('controllers.grid.settings.series.form.SeriesForm'); $seriesForm = new SeriesForm($seriesId); $seriesForm->readInputData(); $router =& $request->getRouter(); $context =& $router->getContext($request); if ($seriesForm->validate()) { $seriesForm->execute($args, $request); $divisionDao =& DAORegistry::getDAO('DivisionDAO'); $division = $divisionDao->getById($seriesForm->getData('division'), $press->getId()); if (isset($division)) { $divisionTitle = $division->getLocalizedTitle(); } else { $divisionTitle = Locale::translate('common.none'); } $seriesEditorsDao =& DAORegistry::getDAO('SeriesEditorsDAO'); $assignedSeriesEditors =& $seriesEditorsDao->getEditorsBySeriesId($seriesId, $press->getId()); if (isset($assignedSeriesEditors)) { $editorsString = Locale::translate('common.none'); } else { foreach ($assignedSeriesEditors as $seriesEditor) { $user = $seriesEditor['user']; $editorsString .= $user->getInitials() . ' '; } } // prepare the grid row data $row =& $this->getRowInstance(); $row->setGridId($this->getId()); $rowData = array('title' => $seriesForm->getData('title'), 'division' => $divisionTitle, 'editors' => $editorsString, 'affiliation' => $seriesForm->getData('affiliation')); $row->setId($seriesForm->seriesId); $row->setData($rowData); $row->initialize($request); $json = new JSON('true', $this->_renderRowInternally($request, $row)); } else { $json = new JSON('false'); } return $json->getString(); }