diff --git a/CHANGELOG b/CHANGELOG index c4bebdb3d..e53ca06d9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -32,6 +32,8 @@ header to be send to early (Closes: #252, #254) - regular users with sufficient access rights may remove documents via webdav - fix error in utils/indexer.php when new documents were indexed +- set url in approval request email after reviewing a document (Closes #259) +- inform groups and users watching a new document too (Closes #260) -------------------------------------------------------------------------------- Changes in version 4.3.25 diff --git a/inc/inc.ClassAccessOperation.php b/inc/inc.ClassAccessOperation.php index 303b72ff2..b350e8b69 100644 --- a/inc/inc.ClassAccessOperation.php +++ b/inc/inc.ClassAccessOperation.php @@ -361,7 +361,7 @@ class SeedDMS_AccessOperation { */ function check_view_access($view, $get=array()) { /* {{{ */ if(!$this->settings->_advancedAcl) - return false; + return true; if(is_string($view)) { $scripts = array($view); } elseif(is_array($view)) { diff --git a/inc/inc.ClassViewCommon.php b/inc/inc.ClassViewCommon.php index 791586658..c5d199a6b 100644 --- a/inc/inc.ClassViewCommon.php +++ b/inc/inc.ClassViewCommon.php @@ -223,9 +223,10 @@ class SeedDMS_View_Common { * @param boolean $hsc set to false if htmlspecialchars() shall not be called * @return string link */ - protected function html_link($view='', $urlparams=array(), $linkparams=array(), $link, $hsc=true) { /* {{{ */ - if(!$this->check_access($view)) - return ''; + protected function html_link($view='', $urlparams=array(), $linkparams=array(), $link, $hsc=true, $nocheck=false) { /* {{{ */ + if(!$nocheck) + if(!$this->check_access($view)) + return ''; $url = $this->html_url($view, $urlparams); $tag = "getNotifyList(); + $notifyList1 = $folder->getNotifyList(); + $notifyList2 = $document->getNotifyList(); $subject = "new_document_email_subject"; $message = "new_document_email_body"; @@ -408,8 +409,12 @@ for ($file_num=0;$file_num_httpRoot."out/out.ViewDocument.php?documentid=".$document->getID(); $params['sitename'] = $settings->_siteName; $params['http_root'] = $settings->_httpRoot; - $notifier->toList($user, $notifyList["users"], $subject, $message, $params); - foreach ($notifyList["groups"] as $grp) { + $notifier->toList($user, $notifyList1["users"], $subject, $message, $params); + foreach ($notifyList1["groups"] as $grp) { + $notifier->toGroup($user, $grp, $subject, $message, $params); + } + $notifier->toList($user, $notifyList2["users"], $subject, $message, $params); + foreach ($notifyList2["groups"] as $grp) { $notifier->toGroup($user, $grp, $subject, $message, $params); } diff --git a/out/out.EditOnline.php b/out/out.EditOnline.php index d911bf87b..4e6d70969 100644 --- a/out/out.EditOnline.php +++ b/out/out.EditOnline.php @@ -20,14 +20,19 @@ include("../inc/inc.Settings.php"); include("../inc/inc.LogInit.php"); -include("../inc/inc.DBInit.php"); include("../inc/inc.Language.php"); +include("../inc/inc.Init.php"); +include("../inc/inc.Extension.php"); +include("../inc/inc.DBInit.php"); include("../inc/inc.ClassUI.php"); include("../inc/inc.ClassAccessOperation.php"); include("../inc/inc.Authentication.php"); -$documentid = $_GET["documentid"]; +$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); +$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); +$accessop = new SeedDMS_AccessOperation($dms, $user, $settings); +$documentid = $_GET["documentid"]; if (!isset($documentid) || !is_numeric($documentid) || intval($documentid)<1) { UI::exitError(getMLText("document_title", array("documentname" => getMLText("invalid_doc_id"))),getMLText("invalid_doc_id")); } @@ -72,13 +77,8 @@ if (!isset($settings->_editOnlineFileTypes) || !is_array($settings->_editOnlineF } */ -/* Create object for checking access to certain operations */ -$accessop = new SeedDMS_AccessOperation($dms, $user, $settings); - $folder = $document->getFolder(); -$tmp = explode('.', basename($_SERVER['SCRIPT_FILENAME'])); -$view = UI::factory($theme, $tmp[1], array('dms'=>$dms, 'user'=>$user)); if($view) { $view->setParam('document', $document); $view->setParam('version', $content); diff --git a/views/bootstrap/class.ViewDocument.php b/views/bootstrap/class.ViewDocument.php index be6cb87d5..845fb01de 100644 --- a/views/bootstrap/class.ViewDocument.php +++ b/views/bootstrap/class.ViewDocument.php @@ -524,51 +524,51 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { print ""; print ""; echo ""; @@ -686,9 +686,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($accessop->mayReview($document)) { if ($is_reviewer && $r["status"]==0) { - print "
  • getVersion()."&reviewid=".$r['reviewID']."\" class=\"btn btn-mini\">".getMLText("add_review")."
  • "; + print "
  • ".$this->html_link('ReviewDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID']), array('class'=>'btn btn-mini'), getMLText("add_review"), false, true)."
  • "; }else if (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){ - print "
  • getVersion()."&reviewid=".$r['reviewID']."\" class=\"btn btn-mini\">".getMLText("edit")."
  • "; + print "
  • ".$this->html_link('ReviewDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'reviewid'=>$r['reviewID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; } } @@ -755,9 +755,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($accessop->mayApprove($document)) { if ($is_approver && $a['status'] == 0 /*$status["status"]==S_DRAFT_APP*/) { - print "
  • getVersion()."&approveid=".$a['approveID']."\">".getMLText("add_approval")."
  • "; + print "
  • ".$this->html_link('ApproveDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID']), array('class'=>'btn btn-mini'), getMLText("add_approval"), false, true)."
  • "; }else if (($updateUser==$user)&&(($a["status"]==1)||($a["status"]==-1))&&(!$document->hasExpired())){ - print "
  • getVersion()."&approveid=".$a['approveID']."\">".getMLText("edit")."
  • "; + print "
  • ".$this->html_link('ApproveDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'approveid'=>$a['approveID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; } } @@ -1040,9 +1040,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($accessop->mayReceipt($document)) { if ($is_recipient && $r["status"]==0) { - print "
  • getVersion()."&receiptid=".$r['receiptID']."\" class=\"btn btn-mini\">".getMLText("add_receipt")."
  • "; + print "
  • ".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("add_receipt"), false, true)."
  • "; }else if (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){ - print "
  • getVersion()."&receiptid=".$r['receiptID']."\" class=\"btn btn-mini\">".getMLText("edit")."
  • "; + print "
  • ".$this->html_link('ReceiptDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'receiptid'=>$r['receiptID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; } } @@ -1150,9 +1150,9 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { if($accessop->mayRevise($document)) { if ($is_recipient && $r["status"]==0) { - print "
  • getVersion()."&revisionid=".$r['revisionID']."\" class=\"btn btn-mini\">".getMLText("add_revision")."
  • "; + print "
  • ".$this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini'), getMLText("add_revision"), false, true)."
  • "; } elseif (($updateUser==$user)&&(($r["status"]==1)||($r["status"]==-1))&&(!$document->hasExpired())){ - print "
  • getVersion()."&revisionid=".$r['revisionID']."\" class=\"btn btn-mini\">".getMLText("edit")."
  • "; + print "
  • ".$this->html_link('ReviseDocument', array('documentid'=>$documentid, 'version'=>$latestContent->getVersion(), 'revisionid'=>$r['revisionID']), array('class'=>'btn btn-mini'), getMLText("edit"), false, true)."
  • "; } } @@ -1261,15 +1261,15 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { * user if enableVersionDeletion is on */ if($accessop->mayRemoveVersion($document)) { - print "
  • getVersion()."\">".getMLText("rm_version")."
  • "; + print "
  • ".$this->html_link('RemoveVersion', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "".getMLText("rm_version"), false, true)."
  • "; } if($accessop->mayEditComment($document)) { - print "
  • getID()."&version=".$version->getVersion()."\">".getMLText("edit_comment")."
  • "; + print "
  • ".$this->html_link('EditComment', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "".getMLText("edit_comment"), false, true)."
  • "; } if($accessop->mayEditAttributes($document)) { - print "
  • getID()."&version=".$latestContent->getVersion()."\">".getMLText("edit_attributes")."
  • "; + print "
  • ".$this->html_link('EditAttributes', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "".getMLText("edit_attributes"), false, true)."
  • "; } - print "
  • ".getMLText("details")."
  • "; + print "
  • ".$this->html_link('DocumentVersionDetail', array('documentid'=>$documentid, 'version'=>$version->getVersion()), array(), "".getMLText("details"), false, true)."
  • "; print ""; print "\n\n"; } @@ -1351,7 +1351,7 @@ class SeedDMS_View_ViewDocument extends SeedDMS_Bootstrap_Style { else printMLText("no_attached_files"); if ($document->getAccessMode($user) >= M_READWRITE){ - print "\n"; + print "\n"; } $this->contentContainerEnd(); ?>