16 import(
'classes.handler.Handler');
17 import(
'lib.pkp.classes.core.JSONMessage');
18 import(
'classes.log.SubmissionEventLogEntry');
28 parent::__construct();
30 array(ROLE_ID_SUB_EDITOR, ROLE_ID_MANAGER),
32 'viewInformationCenter',
34 'viewNotes',
'listNotes',
'saveNote',
'deleteNote',
46 function authorize($request, &$args, $roleAssignments) {
48 import(
'lib.pkp.classes.security.authorization.SubmissionAccessPolicy');
50 return parent::authorize($request, $args, $roleAssignments);
58 parent::initialize($request);
77 return $templateMgr->fetchJson(
'controllers/informationCenter/informationCenter.tpl');
84 abstract function viewNotes($args, $request);
92 abstract function saveNote($args, $request);
103 $noteId = (int) $request->getUserVar(
'noteId');
105 $note = $noteDao->getById($noteId);
107 if (!$request->checkCSRF() || !$note || $note->getAssocType() != $this->_getAssocType() || $note->getAssocId() != $this->_getAssocId())
fatalError(
'Invalid note!');
108 $noteDao->deleteById($noteId);
110 $user = $request->getUser();
114 $jsonViewNotesResponse = $this->
viewNotes($args, $request);
115 $json->setEvent(
'dataChanged');
116 $json->setEvent(
'noteDeleted', $jsonViewNotesResponse->_content);
132 $templateMgr->assign(
'notes', $noteDao->getByAssoc($this->_getAssocType(), $this->_getAssocId()));
134 $user = $request->getUser();
135 $templateMgr->assign(
'currentUserId', $user->getId());
136 $templateMgr->assign(
'notesDeletable',
true);
138 $templateMgr->assign(
'notesListId',
'notesList');
140 return $templateMgr->fetch(
'controllers/informationCenter/notesList.tpl');
151 'submissionId' => $this->_submission->getId(),
162 function _logEvent($request, $object, $eventType, $logClass) {
165 case SUBMISSION_LOG_NOTE_POSTED:
166 $logMessage =
'informationCenter.history.notePosted';
168 case SUBMISSION_LOG_MESSAGE_SENT:
169 $logMessage =
'informationCenter.history.messageSent';
174 import(
'lib.pkp.classes.log.SubmissionFileLog');
175 $logClass::logEvent($request, $object, $eventType, $logMessage);
185 switch ($request->getUserVar(
'tab')) {
187 $templateMgr->assign(
'selectedTabIndex', 2);
190 $userId = (int) $request->getUserVar(
'userId');
192 $linkParams[
'userId'] = $userId;
194 $templateMgr->assign(
'selectedTabIndex', 1);
198 $templateMgr->assign(
'selectedTabIndex', 0);
202 $templateMgr->assign(
'linkParams', $linkParams);
203 parent::setupTemplate($request);