00001 <?php
00002
00015 import('lib.pkp.classes.controllers.grid.GridRow');
00016
00017 class SignoffGridRow extends GridRow {
00019 var $_stageId;
00020
00024 function SignoffGridRow($stageId) {
00025 $this->_stageId = (int)$stageId;
00026 parent::GridRow();
00027 }
00028
00029
00030
00031
00032
00033
00034
00035
00036 function initialize(&$request) {
00037 parent::initialize($request);
00038
00039
00040 $rowId = $this->getId();
00041
00042
00043 $signoffDao =& DAORegistry::getDAO('SignoffDAO');
00044 $signoff =& $signoffDao->getById($rowId);
00045
00046
00047 $monographFileId = $signoff->getAssocId();
00048 $submissionFileDao =& DAORegistry::getDAO('SubmissionFileDAO');
00049 $monographFile =& $submissionFileDao->getLatestRevision($monographFileId);
00050 $monographDao =& DAORegistry::getDAO('MonographDAO');
00051 $monographId = $monographFile->getMonographId();
00052 $copyeditedFileId = $signoff->getFileId();
00053
00054 $user =& $request->getUser();
00055
00056 if (!empty($rowId) && is_numeric($rowId)) {
00057
00058 $router =& $request->getRouter();
00059 $actionArgs = array_merge($this->getRequestArgs(),
00060 array('signoffId' => $rowId));
00061
00062
00063 import('controllers.informationCenter.linkAction.ReadSignoffHistoryLinkAction');
00064 $this->addAction(new ReadSignoffHistoryLinkAction($request, $rowId, $monographId, $this->getStageId()));
00065
00066
00067 if (!$signoff->getDateCompleted()) {
00068 import('lib.pkp.classes.linkAction.request.RemoteActionConfirmationModal');
00069 $this->addAction(new LinkAction(
00070 'deleteSignoff',
00071 new RemoteActionConfirmationModal(
00072 __('common.confirmDelete'), __('common.delete'),
00073 $router->url(
00074 $request, null, null, 'deleteSignoff',
00075 null, array_merge(array(
00076 'monographId' => $monographId,
00077 'stageId' => $this->getStageId(),
00078 'signoffId' => $rowId,
00079 'fileId' => $copyeditedFileId
00080 ), $this->getRequestArgs())
00081 ),
00082 'modal_delete'
00083 ),
00084 __('grid.copyediting.deleteSignoff'),
00085 'delete'
00086 ));
00087 }
00088
00089
00090 if (!$signoff->getDateCompleted() && $signoff->getUserId() == $user->getId()) {
00091 if ($signoff->getUserId() == $user->getId()) {
00092 import('controllers.api.signoff.linkAction.AddSignoffFileLinkAction');
00093 $this->addAction(new AddSignoffFileLinkAction(
00094 $request, $monographId,
00095 $this->getStageId(), $signoff->getSymbolic(), $signoff->getId(),
00096 __('submission.upload.signoff'), __('submission.upload.signoff')));
00097 }
00098 }
00099 }
00100 }
00101
00102
00103
00104
00109 function getStageId() {
00110 return $this->_stageId;
00111 }
00112 }
00113
00114 ?>