X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-plugins%2Fgoto%2Fadmin%2Fsystems%2Fgoto%2FDevice%2Fclass_InstallRecipe.inc;h=b0c3fb068483f447ee6d6e89fa978442a52613b1;hb=242f3de63a7274c3db9a63c30b17ec84e6dbeb9d;hp=ae246c8ab7cee77c202bc26dbdb2c2add68c0935;hpb=bde16e112893b97417d203c4c894c8537f7b5235;p=gosa.git diff --git a/gosa-plugins/goto/admin/systems/goto/Device/class_InstallRecipe.inc b/gosa-plugins/goto/admin/systems/goto/Device/class_InstallRecipe.inc index ae246c8ab..b0c3fb068 100644 --- a/gosa-plugins/goto/admin/systems/goto/Device/class_InstallRecipe.inc +++ b/gosa-plugins/goto/admin/systems/goto/Device/class_InstallRecipe.inc @@ -3,28 +3,35 @@ class InstallRecipe extends plugin { public $member = array(); - public $ksTemplate = ""; - public $ksKeyboardlayout = ""; - public $ksSystemLocale = ""; - public $ksTimezone = ""; - public $ksTimeUTC = ""; - public $ksNTPServer = ""; - public $ksMirror = ""; - public $ksMirrorTorrent = ""; - public $ksRootEnabled = ""; - public $ksRootPasswordHash = ""; - public $ksKernelPackage = ""; - public $ksPartitionTable = ""; + public $kickstartTemplateDN = ""; + public $kickstartKeyboardlayout = ""; + public $kickstartSystemLocale = ""; + public $kickstartTimezone = ""; + public $kickstartTimeUTC = ""; + public $kickstartNTPServer = ""; + public $kickstartMirrorDN = ""; + public $kickstartRootEnabled = ""; + public $kickstartRootPasswordHash = ""; + public $kickstartKernelPackage = ""; + public $kickstartPartitionTable = ""; public $objectclasses = array('installRecipe'); - public $attributes = array("member","ksTemplate","ksKeyboardlayout","ksSystemLocale", - "ksTimezone","ksTimeUTC","ksNTPServer","ksMirror","ksMirrorTorrent", - "ksRootEnabled","ksRootPasswordHash","ksKernelPackage","ksPartitionTable"); + public $attributes = array("member","kickstartTemplateDN","kickstartKeyboardlayout","kickstartSystemLocale", + "kickstartTimezone","kickstartTimeUTC","kickstartNTPServer","kickstartMirrorDN", + "kickstartRootEnabled","kickstartRootPasswordHash","kickstartKernelPackage","kickstartPartitionTable"); function __construct(&$config, $dn) { plugin::plugin($config, $dn); + // Preset some values for new accounts + if(!$this->is_account){ + + // Preset the device timezone + $tz = timezone::get_default_timezone(); + $this->kickstartTimezone = $tz['name']; + } + // Prepare list of timezones $tmp = timezone::_get_tz_zones(); $list = array(); @@ -35,8 +42,18 @@ class InstallRecipe extends plugin $offset = $offset * -1; $list[$name] = $name." ( - ".sprintf("%0.2f",($offset/(60*60)))." "._("hours").")"; } - } + } + uksort($list, 'strnatcasecmp'); $this->timezones = $list; + + // Prepare member list + $this->memberList= new sortableListing($this->member); + $this->memberList->setDeleteable(true); + $this->memberList->setColspecs(array('*')); + $this->memberList->setWidth("100%"); + $this->memberList->setHeight("70px"); + + } function execute() @@ -47,18 +64,36 @@ class InstallRecipe extends plugin foreach($this->attributes as $attr){ $smarty->assign($attr, $this->$attr); } + + // Fill and render the member list widget + $this->memberList->setListData($this->member); + $this->memberList->update(); + $this->memberList->setAcl($this->getacl('member')); + $smarty->assign('memberList', $this->memberList->render()); return($smarty->fetch(get_template_path('goto/Device/InstallRecipe.tpl', TRUE))); } + + function save_object() + { + plugin::save_object(); + $this->kickstartRootEnabled = isset($_POST['kickstartRootEnabled']); + + // Update the member list widget. + $this->memberList->save_object(); + $this->member = $this->memberList->getMaintainedData(); + if(isset($_POST['member']) && isset($_POST['addMember'])){ + $member= get_post('member'); + $this->member[] = $member; + } + } + function save() { - $this->member = array(); plugin::save(); - #$this->cleanup(); - - print_a($this->attrs); + $this->cleanup(); $ldap=$this->config->get_ldap_link(); $ldap->cd($this->config->current['BASE']); $ldap->cd($this->dn); @@ -83,18 +118,17 @@ class InstallRecipe extends plugin "plCategory" => array("Device"), "plProvidedAcls" => array( "member" => _("Member"), - "ksTemplate" => _("Template"), - "ksKeyboardlayout" => _("Keyboard layout"), - "ksSystemLocale" => _("System locale"), - "ksTimezone" => _("Timezone"), - "ksTimeUTC" => _("Time"), - "ksNTPServer" => _("NTP-Server"), - "ksMirror" => _("Kickstart mirror"), - "ksMirrorTorrent" => _("Kickstart torrent mirror"), - "ksRootEnabled" => _("Root login enabled"), - "ksRootPasswordHash" => _("Root password hash"), - "ksKernelPackage" => _("Kernal package"), - "ksPartitionTable" => _("Partition table") + "kickstartTemplateDN" => _("Template"), + "kickstartKeyboardlayout" => _("Keyboard layout"), + "kickstartSystemLocale" => _("System locale"), + "kickstartTimezone" => _("Timezone"), + "kickstartTimeUTC" => _("Time"), + "kickstartNTPServer" => _("NTP-Server"), + "kickstartMirrorDN" => _("Kickstart mirror"), + "kickstartRootEnabled" => _("Root login enabled"), + "kickstartRootPasswordHash" => _("Root password hash"), + "kickstartKernelPackage" => _("Kernal package"), + "kickstartPartitionTable" => _("Partition table") ) ) );