00001 <?php
00002
00015
00016 import('controllers.grid.submissions.SubmissionsListGridHandler');
00017 import('controllers.grid.submissions.SubmissionsListGridRow');
00018
00019
00020 import('controllers.grid.submissions.mySubmissions.MySubmissionsListGridCellProvider');
00021
00022 class MySubmissionsListGridHandler extends SubmissionsListGridHandler {
00026 function MySubmissionsListGridHandler() {
00027 parent::SubmissionsListGridHandler();
00028
00029 $this->addRoleAssignment(array(ROLE_ID_PRESS_MANAGER, ROLE_ID_SERIES_EDITOR, ROLE_ID_PRESS_ASSISTANT, ROLE_ID_AUTHOR),
00030 array('fetchGrid', 'fetchRow', 'deleteSubmission'));
00031 }
00032
00033
00034
00035
00039 function initialize(&$request) {
00040 parent::initialize($request);
00041
00042 $titleColumn =& $this->getColumn('title');
00043 $titleColumn->setCellProvider(new MySubmissionsListGridCellProvider());
00044 }
00045
00046
00047
00048
00049
00056 function deleteSubmission($args, &$request) {
00057 $monographDao =& DAORegistry::getDAO('MonographDAO');
00058 $monograph = $monographDao->getById(
00059 (int) $request->getUserVar('monographId')
00060 );
00061
00062
00063 if ($monograph && $monograph->getSubmissionProgress() != 0) {
00064 $monographDao =& DAORegistry::getDAO('MonographDAO');
00065 $monographDao->deleteById($monograph->getId());
00066
00067 $user =& $request->getUser();
00068 NotificationManager::createTrivialNotification($user->getId(), NOTIFICATION_TYPE_SUCCESS, array('contents' => __('notification.removedSubmission')));
00069 return DAO::getDataChangedEvent($monograph->getId());
00070 } else {
00071 $json = new JSONMessage(false);
00072 return $json->getString();
00073 }
00074 }
00075
00076
00077
00078
00079
00083 function getSubmissions(&$request, $userId) {
00084 $this->setTitle('submission.mySubmissions');
00085
00086 $monographDao =& DAORegistry::getDAO('MonographDAO');
00087 $submissions = $monographDao->getByUserId($userId);
00088 $data = array();
00089 while ($submission =& $submissions->next()) {
00090 if ($submission->getDatePublished() == null) {
00091 $submissionId = $submission->getId();
00092 $data[$submissionId] =& $submission;
00093 }
00094 unset($submission);
00095 }
00096
00097 return $data;
00098 }
00099
00100
00101
00102
00103
00108 function &getRowInstance() {
00109 $row = new SubmissionsListGridRow(true);
00110 return $row;
00111 }
00112 }
00113
00114 ?>