From 0e1adfedae64287d3f327794b0ba0b68d1ccdb97 Mon Sep 17 00:00:00 2001 From: hickert Date: Wed, 23 Sep 2009 08:51:45 +0000 Subject: [PATCH] Update licenses git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@14327 594d385d-05f5-0310-b6e9-bd551577e9d8 --- .../opsiLicenses/class_licenceGeneric.inc | 20 ++- .../admin/opsiLicenses/class_licenceUsage.inc | 155 ++++++++++++++++++ .../opsiLicenses/class_opsiLicenseHandler.inc | 1 - .../admin/opsiLicenses/licenseGeneric.tpl | 30 ++-- .../opsi/admin/opsiLicenses/licenseUsage.tpl | 30 ++++ 5 files changed, 213 insertions(+), 23 deletions(-) create mode 100644 gosa-plugins/opsi/admin/opsiLicenses/class_licenceUsage.inc create mode 100644 gosa-plugins/opsi/admin/opsiLicenses/licenseUsage.tpl diff --git a/gosa-plugins/opsi/admin/opsiLicenses/class_licenceGeneric.inc b/gosa-plugins/opsi/admin/opsiLicenses/class_licenceGeneric.inc index aaf9ff3ae..19c295bd3 100644 --- a/gosa-plugins/opsi/admin/opsiLicenses/class_licenceGeneric.inc +++ b/gosa-plugins/opsi/admin/opsiLicenses/class_licenceGeneric.inc @@ -27,19 +27,16 @@ class licenseGeneric extends plugin var $cn = ""; var $orig_cn = ""; var $description = ""; - var $orig_dn = ""; + var $data = array(); var $orig_data = array(); - var $productIds = array(); var $softwareIds= array(); - var $licenses= array(); + var $licenses = array(); var $availableProductIds = array(); - var $attributes =array("cn","description"); - var $si = NULL; function __construct(&$config,$dn) @@ -132,11 +129,22 @@ class licenseGeneric extends plugin $smarty->assign("availableProductIds", array_diff( $this->availableProductIds, $this->productIds)); $smarty->assign("productIds", $this->productIds); $smarty->assign("softwareIds", $this->softwareIds); - $smarty->assign("licenses", $this->licenses); + $smarty->assign("licenses", $this->getLicenseList()); $smarty->assign("initially_was_account", $this->initially_was_account); return($smarty->fetch(get_template_path('licenseGeneric.tpl',TRUE,dirname(__FILE__)))); } + + function getLicenseList() + { + $list = new divSelectBox("test"); + $list->setHeight(100); + + + + return($list->DrawList()); + } + /* Save HTML inputs */ diff --git a/gosa-plugins/opsi/admin/opsiLicenses/class_licenceUsage.inc b/gosa-plugins/opsi/admin/opsiLicenses/class_licenceUsage.inc new file mode 100644 index 000000000..76776725d --- /dev/null +++ b/gosa-plugins/opsi/admin/opsiLicenses/class_licenceUsage.inc @@ -0,0 +1,155 @@ +config = $config; + $this->dn = $this->orig_dn = $dn; + $this->si = new opsiLicenceHandler($this->config); + + $this->is_account=TRUE; + if($this->dn == "new"){ + $this->initially_was_account = FALSE; + }else{ + $this->initially_was_account = TRUE; + $this->cn = $this->orig_cn = preg_replace("/^opsi:cn=([^,]*),.*$/","\\1",$dn); + } + + // Extract pool name out of the fake dn. + $this->init(); + } + + + function init() + { + $this->init_successfull = TRUE; + } + + + function execute() + { + // Handle initialization failures. + if(isset($_POST['retry_init'])) $this->init(); + if(!$this->init_successfull){ + $smarty = get_smarty(); + $smarty->assign("init_successfull", $this->init_successfull); + return($smarty->fetch(get_template_path('licenseGeneric.tpl',TRUE,dirname(__FILE__)))); + } + + $smarty = get_smarty(); + + // Assign ACls + $plInfo = $this->plInfo(); + foreach($plInfo['plProvidedAcls'] as $name => $desc){ + $smarty->assign("{$name}ACL",$this->getacl($name)); + } + foreach($this->attributes as $attr){ + $smarty->assign($attr,$this->$attr); + } + + $smarty->assign("init_successfull", $this->init_successfull); + $smarty->assign("initially_was_account", $this->initially_was_account); + return($smarty->fetch(get_template_path('licenseUsage.tpl',TRUE,dirname(__FILE__)))); + } + + + /* Save HTML inputs + */ + function save_object() + { + if(isset($_POST['opsiLicenseUsagePosted'])){ + plugin::save_object(); + } + } + + + /* Check user input and return a list of 'invalid input' messages. + */ + function check() + { + $message = plugin::check(); + return($message); + } + + + /* Saves object modifications + */ + function save() + { + plugin::save(); + + // Send modify/add events + $mode = "modify"; + if($this->orig_dn == "new"){ + $mode = "add"; + } + + $this->si->createPool($this->cn, $this->description,$this->productIds,$this->softwareIds);# + if($this->si->is_error()){ + msg_dialog::display(_("Error"),msgPool::siError($this->si->get_error()),ERROR_DIALOG); + }else{ + $this->handle_post_events($mode); + } + + // Log action + if($mode == "modify"){ + new log("modify","users/".get_class($this),$this->dn,array_keys($this->attrs),$this->si->get_error()); + }else{ + new log("create","users/".get_class($this),$this->dn,array_keys($this->attrs),$this->si->get_error()); + } + + return 0; + } + + + function remove_from_parent(){ return; } + + + static function plInfo() + { + return (array( + "plShortName" => _("Usage"), + "plDescription" => _("License usage"), + "plSelfModify" => FALSE, + "plDepends" => array(), + "plPriority" => 1, + "plSection" => array("administration"), + "plCategory" => array("opsi"), + "plProvidedAcls"=> array( + "cn" => _("Name"), + "description" => _("Description")) + )); + } +} + + +// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler: +?> diff --git a/gosa-plugins/opsi/admin/opsiLicenses/class_opsiLicenseHandler.inc b/gosa-plugins/opsi/admin/opsiLicenses/class_opsiLicenseHandler.inc index 6a3ea5bc9..fa75d84a1 100644 --- a/gosa-plugins/opsi/admin/opsiLicenses/class_opsiLicenseHandler.inc +++ b/gosa-plugins/opsi/admin/opsiLicenses/class_opsiLicenseHandler.inc @@ -85,7 +85,6 @@ class opsiLicenceHandler extends opsi { $data= array(); $data['licensePoolId'] = htmlentities($licensePoolId); $res = $this->send_data("gosa_opsi_getLicensePool_hash",$this->target,$data,TRUE); - if(isset($res['XML'][0]['ANSWER_OPSI_GETLICENSEPOOL_HASH'])){ $item = array(); foreach(array("LICENSEPOOLID" => "cn", diff --git a/gosa-plugins/opsi/admin/opsiLicenses/licenseGeneric.tpl b/gosa-plugins/opsi/admin/opsiLicenses/licenseGeneric.tpl index 9b9252eef..4e3fe3ec4 100644 --- a/gosa-plugins/opsi/admin/opsiLicenses/licenseGeneric.tpl +++ b/gosa-plugins/opsi/admin/opsiLicenses/licenseGeneric.tpl @@ -10,7 +10,7 @@ - - - - - - - - + + + + + -
+

{t}Generic{/t}

@@ -37,34 +37,32 @@
-

 

-
+

{t}Licenses{/t}

- + {$licenses}
+
+

 

+

{t}Applications{/t}

- {html_options options=$productIds}
+

{t}Windows software IDs{/t}

- {html_options options=$softwareIds} diff --git a/gosa-plugins/opsi/admin/opsiLicenses/licenseUsage.tpl b/gosa-plugins/opsi/admin/opsiLicenses/licenseUsage.tpl new file mode 100644 index 000000000..3790766d7 --- /dev/null +++ b/gosa-plugins/opsi/admin/opsiLicenses/licenseUsage.tpl @@ -0,0 +1,30 @@ +{if !$init_successfull} +
+{msgPool type=siError}
+{t}Check if the GOsa support daemon (gosa-si) is running.{/t}  + +
+
+{else} + + + + + + +
+ + +

{t}Generic{/t}

+ + + + + +
{t}Name{/t} + TESTER +
+ +
+ +{/if} -- 2.30.2