Code

Fix typo in message
[gosa.git] / trunk / gosa-plugins / goto / admin / ogroups / goto / class_termgroup.inc
index 889acaf16c1cce3b7e7cb1022f7d6fc48fae3442..91e64315823db83088e032c285ddd15b5eba0a47 100644 (file)
@@ -5,6 +5,9 @@ class termgroup extends plugin
   /* attribute list for save action */
   var $members= array();
 
+  /* Stores a list of the member dn's */
+  var $member_dn = array();
+
   var $gotoMode           = "locked";
   var $gotoSyslogServer   = "";
   var $gotoNtpServer      = array();
@@ -21,6 +24,7 @@ class termgroup extends plugin
                             "reinstall"       => "reinstall",
                             "rescan"          => "rescan",
                             "wake"            => "wakeup",
+                            "localboot"       => "localboot"
                           # These are currently not supported by the tftp daemon
                            # "memcheck"        => "memcheck",
                            # "sysinfo"         => "sysinfo"
@@ -33,7 +37,7 @@ class termgroup extends plugin
   var $nfsservers     = array();
   var $swapservers    = array();
   var $member_of_ogroup= false;
-
+  var $inherit_confirmation;
 
   function termgroup (&$config, $dn= NULL, $parent= NULL)
   {
@@ -61,6 +65,7 @@ class termgroup extends plugin
     if(isset($this->attrs['member'])){
       for ($i= 0; $i<$this->attrs['member']['count']; $i++){
         $member= $this->attrs['member'][$i];
+        array_push($this->member_dn, $member);
         $ldap->cat($member, array('objectClass', 'macAddress', 'cn'));
         if ($ldap->success()){
           $attrs = $ldap->fetch();
@@ -181,6 +186,15 @@ class termgroup extends plugin
       Handle requested action
      ***************/
 
+    /* Handle the inherit to members button */
+    if (isset($_POST['inheritToMembers'])) {
+      $this->inherit_confirmation = new msg_dialog(_("Pass on attributs to all members"),  _("This action will overwrite all values in the member objects by the values specified in this object group. Do you want to proceed??"),CONFIRM_DIALOG);
+    }
+    if (is_object($this->inherit_confirmation) && ($this->inherit_confirmation->is_confirmed())) {
+        $this->pass_attributes_to_members();
+    }
+
     /* Watch for events */
     if ((isset($_POST['action'])) && ($this->acl_is_writeable("FAIstate")) && isset($this->mapActions[$_POST['saction']]) ){
 
@@ -258,7 +272,8 @@ class termgroup extends plugin
           "update" => _("Software update"),
           "wake" => _("Wake"),
           "reinstall" => _("Reinstall"),
-          "rescan" => _("Rescan hardware")
+          "rescan" => _("Rescan hardware"),
+          "localboot" => _("Force localboot")
 #          "memcheck" => _("Memory test"),
 #          "sysinfo"  => _("System analysis")
         ));
@@ -384,6 +399,15 @@ class termgroup extends plugin
           ));
   }
 
+  function pass_attributes_to_members()
+  {
+    foreach ($this->member_dn as $dn) {
+      $member_obj = new worktabs($this->config, $this->config->data['TABS']['WORKTABS'], $dn, 'workstation/workgeneric');
+      $member_obj->by_object['workgeneric']->set_everything_to_inherited();
+      $member_obj->save();
+    }
+  }
+
   function PrepareForCopyPaste($source)
   {
     /* Create used ntp server array */