move many access checks from view into controller

issue message on receive tab if document isn't released yet, but there
are already receivers
This commit is contained in:
Uwe Steinmann 2018-01-16 18:13:41 +01:00
parent 48141e1116
commit c3e413c476

View File

@ -650,30 +650,30 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
/* Only admin has the right to remove version in any case or a regular
* user if enableVersionDeletion is on
*/
if($this->check_access('RemoveVersion'))
if($accessop->check_controller_access('RemoveVersion'))
if($accessop->mayRemoveVersion($document)) {
print "<li>".$this->html_link('RemoveVersion', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-remove\"></i>".getMLText("rm_version"), false, true)."</li>";
}
if($this->check_access('OverrideContentStatus'))
if($accessop->check_controller_access('OverrideContentStatus'))
if($accessop->mayOverrideStatus($document)) {
print "<li>".$this->html_link('OverrideContentStatus', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-align-justify\"></i>".getMLText("change_status"), false, true)."</li>";
}
if($this->check_access('SetRecipients'))
if($accessop->check_controller_access('SetRecipients'))
if($accessop->maySetRecipients($document)) {
print "<li>".$this->html_link('SetRecipients', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-check\"></i>".getMLText("change_recipients"), false, true)."</li>";
}
if($this->check_access('SetRevisors'))
if($accessop->check_controller_access('SetRevisors'))
if($accessop->maySetRevisors($document)) {
print "<li>".$this->html_link('SetRevisors', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-refresh\"></i>".getMLText("change_revisors"), false, true)."</li>";
}
if($workflowmode == 'traditional' || $workflowmode == 'traditional_only_approval') {
// Allow changing reviewers/approvals only if not reviewed
if($this->check_access('SetReviewersApprovers'))
if($accessop->check_controller_access('SetReviewersApprovers'))
if($accessop->maySetReviewersApprovers($document)) {
print "<li>".$this->html_link('SetReviewersApprovers', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-edit\"></i>".getMLText("change_assignments"), false, true)."</li>";
}
} else {
if($this->check_access('SetWorkflow'))
if($accessop->check_controller_access('SetWorkflow'))
if($accessop->maySetWorkflow($document)) {
if(!$workflow) {
print "<li>".$this->html_link('SetWorkflow', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-random\"></i>".getMLText("set_workflow"), false, true)."</li>";
@ -685,16 +685,16 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
print "<li>".$this->html_link('SetExpires', array('documentid'=>$documentid), array(), "<i class=\"icon-time\"></i>".getMLText("set_expiry"), false, true)."</li>";
}
*/
if($this->check_access('AddToTransmittal'))
if($accessop->check_controller_access('AddToTransmittal'))
if($dms->getAllTransmittals($user)) {
if($this->check_access('AddToTransmittal'))
print "<li>".$this->html_link('AddToTransmittal', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-list\"></i>".getMLText("add_to_transmittal"), false, true)."</li>";
}
if($this->check_access('EditComment'))
if($accessop->check_controller_access('EditComment'))
if($accessop->mayEditComment($document)) {
print "<li>".$this->html_link('EditComment', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-comment\"></i>".getMLText("edit_comment"), false, true)."</li>";
}
if($this->check_access('EditAttributes'))
if($accessop->check_controller_access('EditAttributes'))
if($accessop->mayEditAttributes($document)) {
print "<li>".$this->html_link('EditAttributes', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion()), array(), "<i class=\"icon-edit\"></i>".getMLText("edit_attributes"), false, true)."</li>";
}
@ -1191,6 +1191,8 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
?>
<div class="tab-pane <?php if($currenttab == 'recipients') echo 'active'; ?>" id="recipients">
<?php
if($status["status"]!=S_RELEASED)
echo "<div class=\"alert alert-warning\">".getMLText('info_recipients_tab_not_released')."</div>";
$this->contentContainerStart();
print "<table class=\"table-condensed\">\n";
@ -1279,7 +1281,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
</table>
<?php
$this->contentContainerEnd();
if($user->isAdmin() || $user->getId() == $document->getOwner()->getId()) {
if($accessop->check_view_access('ViewDocument', array('action'=>'receptionBar'))/* $user->isAdmin() || $user->getId() == $document->getOwner()->getId()*/) {
/* Do not count entries '-2' as they are removed userѕ */
$totalreceipts = $stat['-1'] + $stat['0'] + $stat['1'];
?>
@ -1507,7 +1509,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
if($accessop->mayRemoveVersion($document)) {
print "<li>".$this->html_link('RemoveVersion', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-remove\"></i>".getMLText("rm_version"), false, true)."</li>";
}
if($this->check_access('AddToTransmittal'))
if($accessop->check_controller_access('AddToTransmittal'))
print "<li>".$this->html_link('AddToTransmittal', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-list\"></i>".getMLText("add_to_transmittal"), false, true)."</li>";
if($accessop->mayEditComment($document)) {
print "<li>".$this->html_link('EditComment', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "<i class=\"icon-comment\"></i>".getMLText("edit_comment"), false, true)."</li>";
@ -1620,7 +1622,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style {
}
else printMLText("no_attached_files");
if($this->check_access('AddFile')) {
if($accessop->check_controller_access('AddFile')) {
if ($document->getAccessMode($user) >= M_READWRITE){
print "<ul class=\"unstyled\"><li>".$this->html_link('AddFile', array('documentid'=>$documentid), array('class'=>'btn'), getMLText("add"), false, true)."</li></ul>\n";
}