diff --git a/gosa-plugins/opsi/admin/opsiLicenses/class_licenseByProduct.inc b/gosa-plugins/opsi/admin/opsiLicenses/class_licenseByProduct.inc
index f54b036a4c50702c256c8b879b28f1698180d66c..4ed7a54e0e9041fd575c10da7f57e1ce665f16a5 100644 (file)
$this->dn = $this->orig_dn = $dn;
$this->si = new opsiLicenceHandler($this->config);
+ // Is this a new object?
$this->is_account=TRUE;
if($this->dn == "new"){
$this->initially_was_account = FALSE;
}else{
$this->initially_was_account = TRUE;
+
+ // Extract pool name out of the fake dn.
$this->cn = $this->orig_cn = preg_replace("/^opsi:cn=([^,]*),.*$/","\\1",$dn);
}
- // Extract pool name out of the fake dn.
$this->init();
}
$this->init_successfull = TRUE;
}else{
- $res = $this->si->getLicenseUsage("", $this->cn);
+ // Get license information for the current product.
+ $res = $this->si->getLicensesForProduct($this->cn);
if($this->si->is_error()){
$this->init_successfull = FALSE;
+ msg_dialog::display(_("Error"),msgPool::siError($this->si->get_error()),ERROR_DIALOG);
return;
}
function execute()
{
+ plugin::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__))));
+ return($smarty->fetch(get_template_path('licenseByProduct.tpl',TRUE,dirname(__FILE__))));
}
// Create usage list
$list = new divSelectBox("licenseUsage");
- foreach($this->licenseUses as $license){
-
- $f1 = array("string" => $license['hostId'][0]);
- $f2 = array("string" => $license['licenseKey'][0]);
- $f3 = array("string" => $license['licensePoolId'][0]);
- $f4 = array("string" => $license['softwareLicenseId'][0],
- "attach" => "style='border-right:0px;'");
- $list->addEntry(array($f1,$f2,$f3,$f4));
+
+ $ui = get_userinfo();
+ $readable = $ui->get_permissions($this->config->current['BASE'], "opsi/licenseByProduct","");
+ if($readable) {
+ foreach($this->licenseUses as $license){
+ $f1 = array("string" => $license['HOSTID'][0]['VALUE']);
+ $f2 = array("string" => $license['SOFTWARELICENSEID'][0]['VALUE']);
+ $f3 = array("string" => $license['LICENSEPOOLID'][0]['VALUE'],
+ "attach" => "style='border-right:0px;'");
+ $list->addEntry(array($f1,$f2,$f3));
+ }
}
$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("licenseUses", $list->DrawList());
$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__))));
+ return($smarty->fetch(get_template_path('licenseByProduct.tpl',TRUE,dirname(__FILE__))));
}
}
- /* 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; }
+ function save( ){}
+ function remove_from_parent(){ }
static function plInfo()
{
return (array(
- "plShortName" => _("Usage"),
- "plDescription" => _("License usage"),
+ "plShortName" => _("Usage by product"),
+ "plDescription" => _("License usage by product"),
"plSelfModify" => FALSE,
"plDepends" => array(),
- "plPriority" => 1,
+ "plPriority" => 12,
"plSection" => array("administration"),
"plCategory" => array("opsi"),
- "plProvidedAcls"=> array(
- "cn" => _("Name"),
- "description" => _("Description"))
- ));
+ "plProvidedAcls"=> array()));
}
}