X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-plugins%2Ffai%2Fadmin%2Ffai%2Fclass_divListFai.inc;h=6e897c156e13f39916239844d8090962b3844178;hb=803cc8ab6dbca270c2e39fbbf131b10ccd2cdce2;hp=4994be56582c5aa8621eb59ab419182732addf90;hpb=8aa109da98ae5948fdb84bd1c5c8c1ea929df80c;p=gosa.git
diff --git a/gosa-plugins/fai/admin/fai/class_divListFai.inc b/gosa-plugins/fai/admin/fai/class_divListFai.inc
index 4994be565..6e897c156 100644
--- a/gosa-plugins/fai/admin/fai/class_divListFai.inc
+++ b/gosa-plugins/fai/admin/fai/class_divListFai.inc
@@ -2,12 +2,6 @@
class divListFai extends MultiSelectWindow
{
- /* Current base */
- var $selectedBase = "";
- var $selectedBranch = "main";
- var $AvailableBranches = array();
- var $departments = array();
-
/* Regex */
var $Regex = "*";
var $ShowProfiles;
@@ -24,7 +18,8 @@ class divListFai extends MultiSelectWindow
var $parent ;
var $ui ;
- var $SaveAdditionalVars = array("selectedBranch");
+ var $ShowOpsiLocal;
+ var $ShowOpsiNetboot;
function divListFai (&$config,$parent)
{
@@ -33,15 +28,9 @@ class divListFai extends MultiSelectWindow
$this->parent = $parent;
$this->ui = get_userinfo();
- /* Set default base */
- if(!session::is_set('CurrentMainBase')){
- session::set('CurrentMainBase',$this->config->current['BASE']);
- }
- $this->selectedBase = session::get('CurrentMainBase');
-
/* Set list strings */
- $this->SetTitle(_("List of FAI classes"));
- $this->SetSummary(_("This table displays all FAI classes in the selected tree."));
+ $this->SetTitle( _("List of classes"));
+ $this->SetSummary(_("List of deployment classes and products"));
/* Result page will look like a headpage */
$this->SetHeadpageMode();
@@ -53,33 +42,46 @@ class divListFai extends MultiSelectWindow
$this->EnableSaveButton (false);
/* Dynamic action col, depending on snapshot icons */
- $action_col_size = 120;
-# if($this->parent->snapshotEnabled()){
-# $action_col_size += 32;
-# }
+ $action_col_size = 130;
/* Toggle all selected / deselected */
- $chk = "";
/* set Page header */
$this->AddHeader(array("string"=> $chk, "attach"=>"style='width:20px;'"));
$this->AddHeader(array("string" => " ", "attach" => "style='text-align:center;width:20px;'"));
- $this->AddHeader(array("string" => _("Name of FAI class"), "attach" => "style=''"));
+ $this->AddHeader(array("string" => _("Class name"), "attach" => "style=''"));
$this->AddHeader(array("string" => _("Class type"), "attach" => "style='width:200px;'"));
$this->AddHeader(array("string" => _("Actions"), "attach" => "style='width:".$action_col_size."px;border-right:0px;text-align:right;'"));
- $this->AddCheckBox("ShowProfiles" , _("Display FAI profile objects") ,_("Show profiles") ,true);
- $this->AddCheckBox("ShowTemplates" , _("Display FAI template objects") ,_("Show templates") ,true);
- $this->AddCheckBox("ShowScripts" , _("Display FAI scripts") ,_("Show scripts") ,true);
- $this->AddCheckBox("ShowHooks" , _("Display FAI hooks") ,_("Show hooks") ,true);
- $this->AddCheckBox("ShowVariables" , _("Display FAI variables") ,_("Show variables") ,true);
- $this->AddCheckBox("ShowPackages" , _("Display FAI packages") ,_("Show packages") ,true);
- $this->AddCheckBox("ShowPartitions" , _("Display FAI partitions") ,_("Show partitions") ,true);
+ $this->AddCheckBox("ShowProfiles" , sprintf(_("Display objects of type '%s'."),
+ _("Profile")) ,_("Show profiles") ,true);
+ $this->AddCheckBox("ShowTemplates" , sprintf(_("Display objects of type '%s'."),
+ _("Variable")) ,_("Show templates") ,true);
+ $this->AddCheckBox("ShowScripts" , sprintf(_("Display objects of type '%s'."),
+ _("Script")) ,_("Show scripts") ,true);
+ $this->AddCheckBox("ShowHooks" , sprintf(_("Display objects of type '%s'."),
+ _("Hook")) ,_("Show hooks") ,true);
+ $this->AddCheckBox("ShowVariables" , sprintf(_("Display objects of type '%s'."),
+ _("Variable")) ,_("Show variables") ,true);
+ $this->AddCheckBox("ShowPackages" , sprintf(_("Display objects of type '%s'."),
+ _("Package")) ,_("Show packages") ,true);
+ $this->AddCheckBox("ShowPartitions" , sprintf(_("Display objects of type '%s'."),
+ _("Partition")),_("Show partitions") ,true);
+
+ /* Add opsi checkboxes if opsi is enabled
+ */
+ if($this->parent->opsi instanceof opsi && $this->parent->opsi->enabled()){
+ $this->AddCheckBox("ShowOpsiNetboot" , sprintf(_("Display objects of type '%s'."),
+ _("OPSI netboot product")),_("Show netboot products") ,true);
+ $this->AddCheckBox("ShowOpsiLocal" , sprintf(_("Display objects of type '%s'."),
+ _("OPSI local product")),_("Show local products") ,true);
+ }
/* Add SubSearch checkbox */
//$this->AddCheckBox(SEPERATOR);
- //$this->AddCheckBox("SubSearch", _("Select to search within subtrees"), _("Search in subtrees"), false);
+ //$this->AddCheckBox("SubSearch", msgPool::selectToView("","subsearch"), msgPool::selectToView("","subsearch_small"), false);
/* Name ,Text ,Default , Connect with alphabet */
$this->AddRegex ("Regex", _("Display users matching"),"*" , true);
@@ -97,11 +99,14 @@ class divListFai extends MultiSelectWindow
$c = $this->config->search("faiManagement", "POSTCREATE",array('menu','tabs'));
$smarty = get_smarty();
+ $releases = $this->parent->getBranches();
+
$smarty->assign("allow_create", $c);
$smarty->assign("allow_remove", $r);
- $smarty->assign("selectedBranch",$this->selectedBranch);
- $smarty->assign("branchimage","images/branch.png");
- $smarty->assign("branches",$this->AvailableBranches);
+ $smarty->assign("fai_release" , $releases[$this->parent->fai_release]);
+ $smarty->assign("fai_base" , $releases[$this->parent->fai_base]);
+ $smarty->assign("branchimage","plugins/fai/images/branch.png");
+ $smarty->assign("fai_releases", $releases);
$plug_id = 0;
if(isset($_GET['plug'])){
$plug_id = $_GET['plug'];
@@ -114,139 +119,74 @@ class divListFai extends MultiSelectWindow
function GenHeader()
{
- /* Prepare departments,
- which are shown in the listbox on top of the listbox
- */
- $options= "";
-
/* Get all departments within this subtree */
$ui= get_userinfo();
$first = "";
$found = FALSE;
$base = $this->config->current['BASE'];
- /* Add base */
- $tmp = array();
- $tmp[] = array("dn"=>$this->config->current['BASE']);
- $tmp= array_merge($tmp,get_list("(&(|(ou=*)(description=*))(objectClass=gosaDepartment))", $this->module, $base,
- array("ou", "description"), GL_SIZELIMIT | GL_SUBSEARCH));
-
- $deps = array();
- foreach($tmp as $tm){
- $deps[$tm['dn']] = $tm['dn'];
- }
-
- /* Load possible departments */
- $ui= get_userinfo();
- $tdeps= $ui->get_module_departments("fai");
- $ids = $this->config->idepartments;
- $first = "";
- $found = FALSE;
- foreach($ids as $dep => $name){
- if(isset($deps[$dep]) && in_array_ics($dep, $tdeps)){
-
- /* Keep first base dn in mind, we could need this
- * info if no valid base was found
- */
- if(empty($first)) {
- $first = $dep['dn'];
- }
-
- $value = $ids[$dep];
- if ($this->selectedBase == $dep){
- $found = TRUE;
- $options.= "";
- } else {
- $options.= "";
- }
- }
- }
-
- /* The currently used base is not visible with your acl setup.
- * Set base to first useable base.
- */
- if(!$found){
- $this->selectedBase = $first;
- }
-
/* Add seperator */
$add_sep = false;
/* Get complete fai acls, to be able to check if we must show or hide the snapshot abilities */
- $acl_all = $ui->has_complete_category_acls($this->selectedBase,$this->module);
+ $acl_all = $ui->has_complete_category_acls($this->parent->acl_base,$this->module);
/* Add default header */
- $listhead = MultiSelectWindow::get_default_header();
+ $listhead = MultiSelectWindow::get_default_header(false);
/* Add additional seperator */
if($add_sep){
- $listhead .=" ";
+ $listhead .="
";
}
- $listhead .= _("Base")." ".
- " ";
-
-
$s = ".|"._("Actions")."|\n";
- $s .= "..|
".
+ $s .= "..|
".
" "._("Create")."|\n";
- $acl = $ui->get_permissions($this->selectedBase,"fai/faiProfile");
- if(preg_match("/c/",$acl)){
- $s.= "...|".
- " "._("Profile")."|Create_profile|\n";
- }
-
- /* Append create icons for each fai component */
- $arr = array(
- array("images/fai_new_partitionTable.png" , _("Partition table") ,"Create_partition" , _("PT") , "faiPartitionTable"),
- array("images/fai_new_script.png" , _("Scripts") ,"Create_script" , _("S") , "faiScript"),
- array("images/fai_new_hook.png" , _("Hooks") ,"Create_hook" , _("H") , "faiHook"),
- array("images/fai_new_variable.png" , _("Variables") ,"Create_variable" , _("V") , "faiVariable"),
- array("images/fai_new_template.png" , _("Templates ") ,"Create_template" , _("I") , "faiTemplate"),
- array("images/fai_new_packages.png" , _("Package list") ,"Create_package" , _("PK") , "faiPackage"));
-
- foreach($arr as $ar){
- $acl = $ui->get_permissions($this->selectedBase,"fai/".$ar[4]);
+ $acl = $ui->get_permissions($this->parent->acl_base,"fai/faiProfile");
+ if($this->parent->lock_type == "freeze" && !$this->parent->allow_freeze_object_attach){
+ $s.= "...|".
+ " "._("Freezed")."|\n";
+ }else{
if(preg_match("/c/",$acl)){
- $s.= "...|".
- " ".$ar[1]."|".$ar[2]."|\n";
+ $s.= "...|".
+ " "._("Profile")."|Create_profile|\n";
+ }
+
+ /* Append create icons for each fai component */
+ $arr = array(
+ array("plugins/fai/images/fai_new_partitionTable.png" , _("Partition table") ,
+ "Create_partition" , _("PT") , "faiPartitionTable"),
+ array("plugins/fai/images/fai_new_script.png" , _("Scripts") ,
+ "Create_script" , _("S") , "faiScript"),
+ array("plugins/fai/images/fai_new_hook.png" , _("Hooks") ,
+ "Create_hook" , _("H") , "faiHook"),
+ array("plugins/fai/images/fai_new_variable.png" , _("Variables") ,
+ "Create_variable" , _("V") , "faiVariable"),
+ array("plugins/fai/images/fai_new_template.png" , _("Templates ") ,
+ "Create_template" , _("I") , "faiTemplate"),
+ array("plugins/fai/images/fai_new_packages.png" , _("Package list") ,
+ "Create_package" , _("PK") , "faiPackage"));
+
+ foreach($arr as $ar){
+ $acl = $ui->get_permissions($this->parent->acl_base,"fai/".$ar[4]);
+ if(preg_match("/c/",$acl)){
+ $s.= "...|".
+ " ".$ar[1]."|".$ar[2]."|\n";
+ }
}
}
/* Multiple options */
- $s.= "..|
".
+ $s.= "..|
".
" "._("Remove")."|"."remove_multiple|\n";
- /* Add multiple copy & cut icons */
- if(is_object($this->parent->CopyPasteHandler)){
- $s.= "..|---|\n";
- $s.= "..|
".
- " "._("Copy")."|"."multiple_copy_systems|\n";
- $s.= "..|
".
- " "._("Cut")."|"."multiple_cut_systems|\n";
- }
- /* Add copy & paste icons, currently disabled, this ability is not implemeneted yet */
- if(preg_match("/(c.*w|w.*c)/",$acl_all) && isset($this->parent->CopyPasteHandler) && $this->parent->CopyPasteHandler){
- $s .= "..|---|\n";
- if($this->parent->CopyPasteHandler->entries_queued()){
- $img = "
";
- $s.="..|".$img." "._("Paste")."|editPaste|\n";
- }else{
- $img = "
";
- $s.="..|".$img." "._("Paste")."\n";
- }
- }
+ /* Add Copy & Paste header */
+ $s .= $this->parent->get_copypaste_header($this->selectedBase,$this->module,TRUE,FALSE);
# /* Add snapshot icons, if we are allowed to write and create the complete fai module ($ui->has_complete_category_acls) */
-# if(preg_match("/(c.*w|w.*c)/",$acl_all)){
-# if($this->parent->snapshotEnabled()){
-# $s .= "..|---|\n";
-# $s .= $this->get_snapshot_header(TRUE);
-# }
-# }
+# $s .= $this->parent->get_snapshot_header($this->selectedBase,$this->module);
$this->SetDropDownHeaderMenu($s);
$this->SetListHeader($listhead);
@@ -266,19 +206,29 @@ class divListFai extends MultiSelectWindow
Variable init
********************/
- $objects = array(
- "FAIpartitionTable" => array("IMG"=> "images/fai_partitionTable.png", "NAME"=>_("Partition table"),"KZL"=> "PT", "VAR"=>"ShowPartitions"),
- "FAIpackageList" => array("IMG"=> "images/fai_packages.png", "NAME"=>_("Package list") , "KZL"=> "PL", "VAR"=>"ShowPackages"),
- "FAIscript" => array("IMG"=> "images/fai_script.png", "NAME"=>_("Scripts") , "KZL"=> "S", "VAR"=>"ShowScripts"),
- "FAIvariable" => array("IMG"=> "images/fai_variable.png", "NAME"=>_("Variables") , "KZL"=> "V", "VAR"=>"ShowVariables"),
- "FAIhook" => array("IMG"=> "images/fai_hook.png", "NAME"=>_("Hooks"), "KZL"=> "H", "VAR"=>"ShowHooks"),
- "FAIprofile" => array("IMG"=> "images/fai_profile.png", "NAME"=>_("Profile") , "KZL"=> "P", "VAR"=>"ShowProfiles"),
- "FAItemplate" => array("IMG"=> "images/fai_template.png", "NAME"=>_("Templates") , "KZL"=> "T", "VAR"=>"ShowTemplates"));
+ $objects = array(
+ "FAIpartitionTable" => array("IMG"=> "plugins/fai/images/fai_partitionTable.png",
+ "NAME"=>_("Partition table"),"KZL"=> "PT", "VAR"=>"ShowPartitions"),
+ "FAIpackageList" => array("IMG"=> "plugins/fai/images/fai_packages.png",
+ "NAME"=>_("Package list") , "KZL"=> "PL", "VAR"=>"ShowPackages"),
+ "FAIscript" => array("IMG"=> "plugins/fai/images/fai_script.png",
+ "NAME"=>_("Scripts") , "KZL"=> "S", "VAR"=>"ShowScripts"),
+ "FAIvariable" => array("IMG"=> "plugins/fai/images/fai_variable.png",
+ "NAME"=>_("Variables") , "KZL"=> "V", "VAR"=>"ShowVariables"),
+ "FAIhook" => array("IMG"=> "plugins/fai/images/fai_hook.png",
+ "NAME"=>_("Hooks"), "KZL"=> "H", "VAR"=>"ShowHooks"),
+ "FAIprofile" => array("IMG"=> "plugins/fai/images/fai_profile.png",
+ "NAME"=>_("Profile") , "KZL"=> "P", "VAR"=>"ShowProfiles"),
+ "FAItemplate" => array("IMG"=> "plugins/fai/images/fai_template.png",
+ "NAME"=>_("Templates") , "KZL"=> "T", "VAR"=>"ShowTemplates"),
+ "opsi_netboot" => array("IMG"=> "plugins/opsi/images/netboot_package.png",
+ "NAME"=>_("OPSI netboot product") , "KZL"=> "ON", "VAR"=>"ShowOpsiNetboot"),
+ "opsi_local" => array("IMG"=> "plugins/opsi/images/local_package.png",
+ "NAME"=>_("OPSI local product") , "KZL"=> "OL", "VAR"=>"ShowOpsiLocal"));
- $editlink ="%NAME%";
/* Dynamic action col, depending on snapshot icons */
- $action_col_size = 120;
+ $action_col_size = 130;
# if($this->parent->snapshotEnabled()){
# $action_col_size += 32;
# }
@@ -319,27 +269,35 @@ class divListFai extends MultiSelectWindow
/* Add copy & cut icons */
$ui = get_userinfo();
$action ="";
- $acl_all = $ui->has_complete_category_acls($this->selectedBase,$this->module);
- if(preg_match("/(c.*w|w.*c)/",$acl_all) && $this->parent->CopyPasteHandler){
- $action .= " ";
- $action.= " ";
- }
+ $acl_all = $ui->has_complete_category_acls($this->parent->acl_base,$this->module);
- if($value['FAIstate'] == "freeze"){
- $action.= "";
- $action.= "
";
+ if(preg_match("/^opsi_/",$type)){
+ $editlink ="%NAME%";
+ $action.= "
";
}else{
- $action.= "";
- if(preg_match("/d/",$value['acl'])){
- $action.= "";
+
+ /* Add copy & cut functionality */
+ $action.= $this->parent->get_copypaste_action($value['dn'],"fai",$value['class'],TRUE,FALSE);
+
+ if(preg_match("/^freeze/", $value['FAIstate'])){
+ $editlink ="%NAME%";
+ $action.= "";
+ $action.= "
";
+ }else{
+ $editlink ="%NAME%";
+ $action.= "";
+ if(preg_match("/d/",$value['acl'])){
+ $action.= "";
+ }
}
}
+# $action.= $this->parent->get_snapshot_action($val['dn'],$this->module);
+
/* Cutted objects should be displayed in light grey */
$display = $value['cn'].$desc;
if($this->parent->CopyPasteHandler){
@@ -353,11 +311,17 @@ class divListFai extends MultiSelectWindow
$edi = $editlink;
$acti = $action;
- /* Create each field */
+ $display = "