diff --git a/gosa-plugins/fai/admin/fai/class_divListFai.inc b/gosa-plugins/fai/admin/fai/class_divListFai.inc
index 29b54840df8d16c29c08580d9fba963d0dd42fce..f171d9c0655394c665cdec7be0d473340f13db80 100644 (file)
var $parent ;
var $ui ;
+ var $ShowOpsiLocal;
+ var $ShowOpsiNetboot;
+
function divListFai (&$config,$parent)
{
MultiSelectWindow::MultiSelectWindow($config, "Fai", "fai");
/* Set list strings */
$this->SetTitle( _("List of classes"));
- $this->SetSummary(_("List of deployment classes and packages"));
+ $this->SetSummary(_("List of deployment classes and products"));
/* Result page will look like a headpage */
$this->SetHeadpageMode();
$this->EnableSaveButton (false);
/* Dynamic action col, depending on snapshot icons */
- $action_col_size = 120;
+ $action_col_size = 130;
/* Toggle all selected / deselected */
$chk = "<input type='checkbox' id='select_all' name='select_all' title='"._("Select all")."'
$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" , 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);
+ $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);
$smarty->assign("allow_remove", $r);
$smarty->assign("fai_release" , $releases[$this->parent->fai_release]);
$smarty->assign("fai_base" , $releases[$this->parent->fai_base]);
- $smarty->assign("branchimage","images/branch.png");
+ $smarty->assign("branchimage","plugins/fai/images/branch.png");
$smarty->assign("fai_releases", $releases);
$plug_id = 0;
if(isset($_GET['plug'])){
$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->parent->fai_base,$this->module);
+ $acl_all = $ui->has_complete_category_acls($this->parent->acl_base,$this->module);
/* Add default header */
$listhead = MultiSelectWindow::get_default_header(false);
$s .= "..|<img src='images/lists/new.png' alt='' border='0' class='center'>".
" "._("Create")."|\n";
- $acl = $ui->get_permissions($this->parent->fai_base,"fai/faiProfile");
+ $acl = $ui->get_permissions($this->parent->acl_base,"fai/faiProfile");
if($this->parent->lock_type == "freeze" && !$this->parent->allow_freeze_object_attach){
- $s.= "...|<input class='center' type='image' src='images/freeze.png' alt=''>".
+ $s.= "...|<input class='center' type='image' src='plugins/fai/images/freeze.png' alt=''>".
" "._("Freezed")."|\n";
}else{
if(preg_match("/c/",$acl)){
- $s.= "...|<input class='center' type='image' src='images/fai_new_profile.png' alt=''>".
+ $s.= "...|<input class='center' type='image' src='plugins/fai/images/fai_new_profile.png' alt=''>".
" "._("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"));
+ 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->fai_base,"fai/".$ar[4]);
+ $acl = $ui->get_permissions($this->parent->acl_base,"fai/".$ar[4]);
if(preg_match("/c/",$acl)){
$s.= "...|<input class='center' type='image' src='".$ar[0]."' alt=''>".
" ".$ar[1]."|".$ar[2]."|\n";
$s.= "..|<img src='images/lists/trash.png' alt='' border='0' class='center'>".
" "._("Remove")."|"."remove_multiple|\n";
- /* Add multiple copy & cut icons */
- if(is_object($this->parent->CopyPasteHandler)){
- $s.= "..|---|\n";
- $s.= "..|<img src='images/lists/copy.png' alt='' border='0' class='center'>".
- " "._("Copy")."|"."multiple_copy_systems|\n";
- }
- /* Add copy & paste icons, currently disabled, this ability is not implemeneted yet */
- if(!($this->parent->lock_type == "freeze" && !$this->parent->allow_freeze_object_attach) &&
- preg_match("/(c.*w|w.*c)/",$acl_all) && isset($this->parent->CopyPasteHandler) && $this->parent->CopyPasteHandler){
- $s .= "..|---|\n";
- if($this->parent->CopyPasteHandler->entries_queued()){
- $img = "<img border='0' class='center' src='images/lists/paste.png' alt=''>";
- $s.="..|".$img." "._("Paste")."|editPaste|\n";
- }else{
- $img = "<img border='0' class='center' src='images/lists/paste.png' alt=''>";
- $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);
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"));
/* Dynamic action col, depending on snapshot icons */
- $action_col_size = 120;
+ $action_col_size = 130;
# if($this->parent->snapshotEnabled()){
# $action_col_size += 32;
# }
/* Add copy & cut icons */
$ui = get_userinfo();
$action ="";
- $acl_all = $ui->has_complete_category_acls($this->parent->fai_base,$this->module);
- if(preg_match("/(c.*w|w.*c)/",$acl_all) && $this->parent->CopyPasteHandler){
- $action .= "<input class='center' type='image'
- src='images/lists/copy.png' alt='"._("copy")."' name='copy_%KEY%' title='"._("Copy this entry")."'> ";
- }
+ $acl_all = $ui->has_complete_category_acls($this->parent->acl_base,$this->module);
- if(preg_match("/^freeze/", $value['FAIstate'])){
- $editlink ="<a href='?plug=".$_GET['plug']."&edit_freeze_entry=%KEY%' title='%TITLE%'>%NAME%</a>";
+ if(preg_match("/^opsi_/",$type)){
+ $editlink ="<a href='?plug=".$_GET['plug']."&edit_opsi_entry=%KEY%' title='%TITLE%'>%NAME%</a>";
$action.= "<input class='center' type='image' src='images/lists/edit.png' alt='"._("edit")."'
- name='entry_freeze_edit_%KEY%' title='"._("Edit class")."'>";
- $action.= "<img src='images/lists/locked.png' alt='F' class='center'>";
+ name='entry_opsi_edit_%KEY%' title='"._("Edit product")."'><img src='images/empty.png' alt=' ' class='center'>";
}else{
- $editlink ="<a href='?plug=".$_GET['plug']."&edit_entry=%KEY%' title='%TITLE%'>%NAME%</a>";
- $action.= "<input class='center' type='image' src='images/lists/edit.png' alt='"._("edit")."'
- name='entry_edit_%KEY%' title='"._("Edit class")."'>";
- if(preg_match("/d/",$value['acl'])){
- $action.= "<input class='center' type='image' src='images/lists/trash.png' alt='"._("delete")."'
- name='entry_delete_%KEY%' title='"._("Delete class")."'>";
+
+ /* Add copy & cut functionality */
+ $action.= $this->parent->get_copypaste_action($value['dn'],"fai",$value['class'],TRUE,FALSE);
+
+ if(preg_match("/^freeze/", $value['FAIstate'])){
+ $editlink ="<a href='?plug=".$_GET['plug']."&edit_freeze_entry=%KEY%' title='%TITLE%'>%NAME%</a>";
+ $action.= "<input class='center' type='image' src='images/lists/edit.png' alt='"._("edit")."'
+ name='entry_freeze_edit_%KEY%' title='"._("Edit class")."'>";
+ $action.= "<img src='images/lists/locked.png' alt='F' class='center'>";
+ }else{
+ $editlink ="<a href='?plug=".$_GET['plug']."&edit_entry=%KEY%' title='%TITLE%'>%NAME%</a>";
+ $action.= "<input class='center' type='image' src='images/lists/edit.png' alt='"._("edit")."'
+ name='entry_edit_%KEY%' title='"._("Edit class")."'>";
+ if(preg_match("/d/",$value['acl'])){
+ $action.= "<input class='center' type='image' src='images/lists/trash.png' alt='"._("delete")."'
+ name='entry_delete_%KEY%' title='"._("Delete class")."'>";
+ }
}
}
+# $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){
$edi = $editlink;
$acti = $action;
- /* Create each field */
+ $display = "<div style='overflow:hidden; height:1em;'>".$display."</div>";
+
+ /* Some objects are non ldap objects which do not have a dn.
+ */
+ if(!isset($value['dn'])) $value['dn'] = "";
+
+ /* Create each field */
$field0 = array("string" => "<input type='checkbox' id='item_selected_".$key."' name='item_selected_".$key."'>" ,
"attach" => "style='width:20px;'");
$field1 = array("string" => $img , "attach" => "style='text-align:center;width:20px;'");
- $field2 = array("string" => preg_replace(array("/%KEY%/","/%NAME%/","/%TITLE%/"),array($key,$display,preg_replace('/ /', ' ', @LDAP::fix($value['dn']))),$edi) , "attach" => "style=''");
+ $field2 = array("string" => preg_replace(array("/%KEY%/","/%NAME%/","/%TITLE%/"),array($key,$display,preg_replace('/ /', ' ', LDAP::fix($value['dn']))),$edi) , "attach" => "style=''");
$field3 = array("string" => $info, "attach" => "style='width:200px;'");
$field4 = array("string" => preg_replace("/%KEY%/",$key,$acti) , "attach" => "style='width:".$action_col_size."px;border-right:0px;text-align:right;'");
$this->AddElement(array($field0,$field1,$field2,$field3,$field4));
$template_str = sprintf(_("Number of listed '%s'"),_("templates"));
$package_str = sprintf(_("Number of listed '%s'"),_("packages"));
$dep_str = sprintf(_("Number of listed '%s'"),_("departments"));
-
- $str = "<img class='center' src='".$objects['FAIprofile']['IMG']."'
- title='".$profile_str."' alt='".$profile_str."'> ".$cnts['FAIprofile']." ";
- $str.= "<img class='center' src='".$objects['FAIpartitionTable']['IMG']."'
- title='".$partition_str."' alt='".$partition_str."'> ".$cnts['FAIpartitionTable']." ";
- $str.= "<img class='center' src='".$objects['FAIscript']['IMG']."'
- title='".$script_str."' alt='".$script_str."'> ".$cnts['FAIscript']." ";
- $str.= "<img class='center' src='".$objects['FAIhook']['IMG']."'
- title='".$hook_str."' alt='".$hook_str."'> ".$cnts['FAIhook']." ";
- $str.= "<img class='center' src='".$objects['FAIvariable']['IMG']."'
- title='".$variable_str."' alt='".$variable_str."'> ".$cnts['FAIvariable']." ";
- $str.= "<img class='center' src='".$objects['FAItemplate']['IMG']."'
- title='".$template_str."' alt='".$template_str."'> ".$cnts['FAItemplate']." ";
- $str.= "<img class='center' src='".$objects['FAIpackageList']['IMG']."'
- title='".$package_str."' alt='".$package_str."'> ".$cnts['FAIpackageList']." ";
- $str.= "<img class='center' src='images/lists/folder.png'
- title='".$dep_str."' alt='".$dep_str."'> ".$num_deps." ";
- $this->set_List_Bottom_Info($str);
+ $opsi_netboot = sprintf(_("Number of listed '%s'"),_("netboot products"));
+ $opsi_local = sprintf(_("Number of listed '%s'"),_("local products"));
+
+ $str = "<img class=\"center\" src=\"".$objects['FAIprofile']['IMG']."\"
+ title=\"".$profile_str."\" alt=\"".$profile_str."\"> ".$cnts['FAIprofile']." ";
+ $str.= "<img class=\"center\" src=\"".$objects['FAIpartitionTable']['IMG']."\"
+ title=\"".$partition_str."\" alt=\"".$partition_str."\"> ".$cnts['FAIpartitionTable']." ";
+ $str.= "<img class=\"center\" src=\"".$objects['FAIscript']['IMG']."\"
+ title=\"".$script_str."\" alt=\"".$script_str."\"> ".$cnts['FAIscript']." ";
+ $str.= "<img class=\"center\" src=\"".$objects['FAIhook']['IMG']."\"
+ title=\"".$hook_str."\" alt=\"".$hook_str."\"> ".$cnts['FAIhook']." ";
+ $str.= "<img class=\"center\" src=\"".$objects['FAIvariable']['IMG']."\"
+ title=\"".$variable_str."\" alt=\"".$variable_str."\"> ".$cnts['FAIvariable']." ";
+ $str.= "<img class=\"center\" src=\"".$objects['FAItemplate']['IMG']."\"
+ title=\"".$template_str."\" alt=\"".$template_str."\"> ".$cnts['FAItemplate']." ";
+ $str.= "<img class=\"center\" src=\"".$objects['FAIpackageList']['IMG']."\"
+ title=\"".$package_str."\" alt=\"".$package_str."\"> ".$cnts['FAIpackageList']." ";
+ $str.= "<img class=\"center\" src='images/lists/folder.png'
+ title=\"".$dep_str."\" alt=\"".$dep_str."\"> ".$num_deps." ";
+
+ if($this->parent->opsi instanceof opsi && $this->parent->opsi->enabled()){
+ $str.= "<img class=\"center\" src=\"".$objects['opsi_netboot']['IMG']."\"
+ title=\"".$opsi_netboot."\" alt=\"".$opsi_netboot."\"> ".$cnts['opsi_netboot']." ";
+ $str.= "<img class=\"center\" src=\"".$objects['opsi_local']['IMG']."\"
+ title=\"".$opsi_local."\" alt=\"".$opsi_local."\"> ".$cnts['opsi_local']." ";
+ }
+ $this->set_List_Bottom_Info($str);
}
function Save()