From 4f1c4a9219fbc5ffe9ca5e05ee8f790b65caed78 Mon Sep 17 00:00:00 2001 From: hickert Date: Tue, 27 May 2008 12:16:53 +0000 Subject: [PATCH] Display correct action icons, depending on the acls. git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@11032 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../applications/class_divListApplication.inc | 58 +++++++++++-------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/gosa-plugins/goto/admin/applications/class_divListApplication.inc b/gosa-plugins/goto/admin/applications/class_divListApplication.inc index 5a4d449c1..54b9b9a06 100644 --- a/gosa-plugins/goto/admin/applications/class_divListApplication.inc +++ b/gosa-plugins/goto/admin/applications/class_divListApplication.inc @@ -143,16 +143,16 @@ class divListApplication extends MultiSelectWindow /* Get acls */ $ui = get_userinfo(); - $acl = $ui->get_permissions("cn=dummy,".$this->parent->app_base,"application/application"); + $acl = $ui->get_permissions($this->selectedBase,"application/application"); $acl_all = $ui->has_complete_category_acls($this->parent->app_base,"application"); /* Create Layers menu */ $s = ".|"._("Actions")."|\n"; - $s .= "..|". - " "._("Create")."|\n"; /* Append create options */ if(preg_match("/c/",$acl)) { + $s .= "..|". + " "._("Create")."|\n"; $s.= "...|". " "._("Application")."|appl_new|\n"; } @@ -162,23 +162,25 @@ class divListApplication extends MultiSelectWindow $s.= "..|". " "._("Remove")."|"."remove_multiple|\n"; - /* Add multiple copy & cut icons */ - if(is_object($this->parent->CopyPasteHandler) && preg_match("/(c.*w|w.*c)/",$acl_all)){ + if(is_object($this->parent->CopyPasteHandler) && preg_match("/r/",$acl_all)){ $s.= "..|---|\n"; $s.= "..|". " "._("Copy")."|"."multiple_copy_systems|\n"; - $s.= "..|". - " "._("Cut")."|"."multiple_cut_systems|\n"; - - if($this->parent->CopyPasteHandler->entries_queued()){ - $img = ""; - $s.="..|".$img." "._("Paste")."|editPaste|\n"; - }else{ - $img = ""; - $s.="..|".$img." "._("Paste")."\n"; + if(is_object($this->parent->CopyPasteHandler) && preg_match("/(r.*d|d.*r)/",$acl_all)){ + $s.= "..|". + " "._("Cut")."|"."multiple_cut_systems|\n"; } } + /* Copy & paste icons */ + if(is_object($this->parent->CopyPasteHandler) && $this->parent->CopyPasteHandler->entries_queued()){ + $img = ""; + $s.="..|".$img." "._("Paste")."|editPaste|\n"; + }else{ + $img = ""; + $s.="..|".$img." "._("Paste")."\n"; + } + /* Add snapshot icons */ if(preg_match("/(c.*w|w.*c)/",$acl_all)){ $s .= "..|---|\n"; @@ -231,24 +233,30 @@ class divListApplication extends MultiSelectWindow $actions= ""; /* Add Copy & Paste icon */ - if(($this->parent->CopyPasteHandler) && preg_match("/(c.*w|w.*c)/",$acl_all)){ - /* Only add cut icon, if we are allowed to move this user */ - if(preg_match("/m/",$acl)){ - $actions.= " "; - - $actions.= " "; - } + if(preg_match("/(r.*d|r.*d)/",$acl_all) && $this->parent->CopyPasteHandler){ + $actions .= " "; + }else{ + $actions.="  "; + } + + if(preg_match("/r/",$acl_all) && $this->parent->CopyPasteHandler){ + $actions.= " "; + }else{ + $actions.="  "; } /* Add edit icon */ $actions.= ""; - - if(preg_match("/(c.*w|w.*c)/",$acl_all)){ + /* Add snapshot icon */ + if(preg_match("/(r.*w|w.*r)/",$acl_all)){ $actions.= $this->GetSnapShotActions($val['dn']); + }else{ + $actions.="  "; + $actions.="  "; } /* If we are allowed to remove the application account, display remove icon */ -- 2.30.2