17 import(
'lib.pkp.classes.controllers.grid.GridHandler');
21 import(
'controllers.grid.catalogEntry.SalesRightsGridCellProvider');
22 import(
'controllers.grid.catalogEntry.SalesRightsGridRow');
25 import(
'lib.pkp.classes.linkAction.request.AjaxModal');
38 parent::__construct();
40 array(ROLE_ID_MANAGER),
41 array(
'fetchGrid',
'fetchRow',
'addRights',
'editRights',
42 'updateRights',
'deleteRights'));
62 $this->_submission = $submission;
70 return $this->_publication;
78 $this->_publication = $publication;
94 $this->_publicationFormat = $publicationFormat;
106 function authorize($request, &$args, $roleAssignments) {
107 import(
'lib.pkp.classes.security.authorization.PublicationAccessPolicy');
109 return parent::authorize($request, $args, $roleAssignments);
116 parent::initialize($request, $args);
122 $representationId =
null;
125 $salesRightsId = (int) $request->getUserVar(
'salesRightsId');
127 if ($salesRightsId !=
'') {
131 $representationId = $salesRights->getPublicationFormatId();
134 $representationId = (int) $request->getUserVar(
'representationId');
138 $publicationFormat = $publicationFormatDao->getById($representationId, $this->
getPublication()->
getId());
140 if ($publicationFormat) {
143 fatalError(
'The publication format is not assigned to authorized submission!');
148 LOCALE_COMPONENT_APP_SUBMISSION,
149 LOCALE_COMPONENT_PKP_SUBMISSION,
150 LOCALE_COMPONENT_PKP_USER,
151 LOCALE_COMPONENT_APP_DEFAULT,
152 LOCALE_COMPONENT_PKP_DEFAULT
156 $this->
setTitle(
'grid.catalogEntry.salesRights');
159 $router = $request->getRouter();
165 $router->url($request,
null,
null,
'addRights',
null, $actionArgs),
166 __(
'grid.action.addRights'),
169 __(
'grid.action.addRights'),
179 'grid.catalogEntry.salesRightsType',
188 'grid.catalogEntry.salesRightsROW',
190 'controllers/grid/common/cell/checkMarkCell.tpl',
224 function loadData($request, $filter =
null) {
227 $data = $salesRightsDao->getByPublicationFormatId($publicationFormat->getId());
228 return $data->toArray();
253 $salesRightsId = (int) $request->getUserVar(
'salesRightsId');
260 import(
'controllers.grid.catalogEntry.form.SalesRightsForm');
262 $salesRightsForm->initData();
264 return new JSONMessage(
true, $salesRightsForm->fetch($request));
275 $salesRightsId = $request->getUserVar(
'salesRightsId');
282 import(
'controllers.grid.catalogEntry.form.SalesRightsForm');
284 $salesRightsForm->readInputData();
285 if ($salesRightsForm->validate()) {
286 $salesRightsId = $salesRightsForm->execute();
288 if(!isset($salesRights)) {
292 $notificationContent = __(
'notification.addedSalesRights');
295 $notificationContent = __(
'notification.editedSalesRights');
299 $currentUser = $request->getUser();
301 $notificationMgr->createTrivialNotification($currentUser->getId(), NOTIFICATION_TYPE_SUCCESS, array(
'contents' => $notificationContent));
305 $row->setGridId($this->
getId());
306 $row->setId($salesRightsId);
307 $row->setData($salesRights);
308 $row->initialize($request);
314 return new JSONMessage(
true, $salesRightsForm->fetch($request));
327 $salesRightsId = $request->getUserVar(
'salesRightsId');
331 if ($salesRights !=
null) {
333 $result = $salesRightsDao->deleteObject($salesRights);
336 $currentUser = $request->getUser();
338 $notificationMgr->createTrivialNotification($currentUser->getId(), NOTIFICATION_TYPE_SUCCESS, array(
'contents' => __(
'notification.removedSalesRights')));
341 return new JSONMessage(
false, __(
'manager.setup.errorDeletingItem'));