From 8473fe5d78ca3d675a371b5063a5b48fa525de60 Mon Sep 17 00:00:00 2001 From: Benoit Mortier <benoit.mortier@opensides.be> Date: Wed, 7 Nov 2012 14:58:58 +0100 Subject: [PATCH] Fixes: #1223 New tab system --- contrib/fusiondirectory.conf | 66 ----------------- .../departments/class_countryGeneric.inc | 36 ++++----- plugins/admin/departments/class_dcObject.inc | 33 +++++---- .../admin/departments/class_department.inc | 73 ++++++++++--------- .../class_departmentManagement.inc | 20 ++--- plugins/admin/departments/class_domain.inc | 35 +++++---- .../departments/class_localityGeneric.inc | 35 ++++----- .../departments/class_organizationGeneric.inc | 55 +++++++------- 8 files changed, 147 insertions(+), 206 deletions(-) diff --git a/contrib/fusiondirectory.conf b/contrib/fusiondirectory.conf index 5ccbab4ec..8ec85b8ff 100644 --- a/contrib/fusiondirectory.conf +++ b/contrib/fusiondirectory.conf @@ -2,7 +2,6 @@ <conf configVersion="{$config_checksum}" > <!-- FusionDirectory menu definition ************************************************** - This tag defines the side and icon menu inside the interface. Defining an entry here is no guarantie to get it shown, though. Only entries with matching ACL's get shown. @@ -30,7 +29,6 @@ a look at the FusionDirectory.conf(5) manual page. --> <menu> - <!-- Section to enable administrative services --> <section name="Administration"> <plugin acl="department" class="departmentManagement" /> @@ -87,13 +85,9 @@ <plugin acl="users/scalixAccount:self" class="scalixAccount" /> <plugin acl="users/password:self" class="password" /> </section> - </menu> - - <!-- Tab definitions ******************************************************* - Tab definitions define the sub plugins which get included for certain tabbed dialogs. If you change something here, never (!) remove the primary (the first) "tab" tag which is defined. Most tabbed dialogs @@ -107,10 +101,6 @@ <tab class="ServerService" name="Services" /> </servertabs> - <wintabs> - <tab class="wingeneric" name="Generic" /> - </wintabs> - <serverservice> <tab class="goMailServer" /> <tab class="serviceKolab" /> @@ -131,44 +121,6 @@ <tab class="quotaService" /> </serverservice> - <!-- Department plugin --> - <deptabs> - <tab class="department" name="Generic" /> - </deptabs> - - <organization_tabs> - <tab class="organization" name="Generic" /> - </organization_tabs> - - <locality_tabs> - <tab class="locality" name="Generic" /> - </locality_tabs> - - <country_tabs> - <tab class="country" name="Generic" /> - </country_tabs> - - <dcobject_tabs> - <tab class="dcObject" name="Generic" /> - </dcobject_tabs> - - <domain_tabs> - <tab class="domain" name="Generic" /> - </domain_tabs> - - <!-- Supann plugin --> - <supannstructures_tabs> - <tab class="supannStructures" name="Generic" /> - </supannstructures_tabs> - - <etablissement_tabs> - <tab class="etablissement" name="Generic" /> - </etablissement_tabs> - - <entite_tabs> - <tab class="entite" name="Generic" /> - </entite_tabs> - <!-- Connectivity plugins --> <connectivity> <tab class='kolabAccount' /> @@ -188,32 +140,16 @@ <tab class="oxchangeAccount" /> </connectivity> - <ldiftab> - <tab class="ldifexport" name="Export" /> - <tab class="ldifimport" name="Import" /> - <tab class="csvimport" name="CSV Import" /> - </ldiftab> - <faiprofiletabs> <tab class="faiSummaryTab" name="Summary" /> </faiprofiletabs> - <!-- board plugin --> - <boardtabs> - <tab class="board" name="Overview"/> - <tab class="boardUserAccounts" name="Users"/> - <tab class="boardSystems" name="Systems"/> - <tab class="boardNetwork" name="Network"/> - </boardtabs> - <!-- Main section ********************************************************** - The main section defines global settings, which might be overridden by each location definition inside. For more information about the configuration parameters, take a look at the FusionDirectory.conf(5) manual page. - --> <main default="{$cv.location}" {if $cv.optional.logging} @@ -240,7 +176,6 @@ {if $cv.optional.sudoou_active} sudoRDN="{$cv.optional.sudoou}" {/if} - gosaSharedPrefix="" {if $cv.tls} ldapTLS="TRUE" @@ -250,7 +185,6 @@ <referral URI="{$cv.connection}/{$cv.base}" adminDn="{$cv.admin}" adminPassword="{$cv.password}" /> - </location> </main> </conf> diff --git a/plugins/admin/departments/class_countryGeneric.inc b/plugins/admin/departments/class_countryGeneric.inc index 1e2a4087b..7cd31dc95 100644 --- a/plugins/admin/departments/class_countryGeneric.inc +++ b/plugins/admin/departments/class_countryGeneric.inc @@ -39,7 +39,7 @@ class country extends department function check() { $message = plugin::check(); - + /* Check for presence of this department */ $ldap= $this->config->get_ldap_link(); $ldap->ls ("(&(c=".$this->c.")(objectClass=country))", $this->base, array('dn')); @@ -75,25 +75,25 @@ class country extends department } - /* Return plugin informations for acl handling */ + /* Return plugin informations for acl handling */ static function plInfo() { - return (array( - "plShortName" => _("Country"), - "plDescription" => _("Country"), - "plSelfModify" => FALSE, - "plPriority" => 2, - "plDepends" => array(), - "plSection" => array("administration"), - "plCategory" => array("department"), - - "plProvidedAcls" => array( - "c" => _("Country name"), - "description" => _("Description"), - "manager" => _("Manager"), - "base" => _("Base"), - "gosaUnitTag" => _("Administrative settings")) - )); + return array( + "plShortName" => _("Country"), + "plDescription" => _("Country"), + "plSelfModify" => FALSE, + "plSection" => array("administration"), + "plCategory" => array("department"), + "plObjectType" => array("country" => array("name" => _("Country"), "filter" => "objectClass=country")), + + "plProvidedAcls" => array( + "c" => _("Country name"), + "description" => _("Description"), + "manager" => _("Manager"), + "base" => _("Base"), + "gosaUnitTag" => _("Administrative settings") + ) + ); } } diff --git a/plugins/admin/departments/class_dcObject.inc b/plugins/admin/departments/class_dcObject.inc index e406de431..853f32f57 100644 --- a/plugins/admin/departments/class_dcObject.inc +++ b/plugins/admin/departments/class_dcObject.inc @@ -75,24 +75,25 @@ class dcObject extends department } - /* Return plugin informations for acl handling */ + /* Return plugin informations for acl handling */ static function plInfo() { - return (array("plShortName" => _("Domain Component"), - "plDescription" => _("Domain Component"), - "plSelfModify" => FALSE, - "plPriority" => 4, - "plDepends" => array(), - "plSection" => array("administration"), - "plCategory" => array("department"), - - "plProvidedAcls" => array( - "dc" => _("Name"), - "description" => _("Description"), - "manager" => _("Manager"), - "base" => _("Base"), - "gosaUnitTag" => _("Administrative settings")) - )); + return array( + "plShortName" => _("Domain Component"), + "plDescription" => _("Domain Component"), + "plSelfModify" => FALSE, + "plSection" => array("administration"), + "plCategory" => array("department"), + "plObjectType" => array("dcObject" => array("name" => _("Domain Component"), "filter" => "objectClass=dcObject")), + + "plProvidedAcls" => array( + "dc" => _("Name"), + "description" => _("Description"), + "manager" => _("Manager"), + "base" => _("Base"), + "gosaUnitTag" => _("Administrative settings") + ) + ); } } diff --git a/plugins/admin/departments/class_department.inc b/plugins/admin/departments/class_department.inc index ff4d9bb99..bfe7c75ac 100644 --- a/plugins/admin/departments/class_department.inc +++ b/plugins/admin/departments/class_department.inc @@ -91,7 +91,7 @@ class department extends plugin $this->dn= $dn; $this->orig_dn= $dn; - /* Save current naming attribuet + /* Save current naming attribuet */ $nA = $this->namingAttr; $orig_nA = "orig_".$nA; @@ -205,7 +205,7 @@ class department extends plugin $smarty->assign($name."ACL",$this->getacl($name)); } - /* Hide base selector, if this object represents the base itself + /* Hide base selector, if this object represents the base itself */ $smarty->assign("is_root_dse", FALSE); if($this->dn == $this->config->current['BASE']){ @@ -219,7 +219,7 @@ class department extends plugin if(($this->dn == "new")||($this->dn == "")){ $tmp = $bases; }else{ - $tmp = array(); + $tmp = array(); foreach($bases as $dn=>$base){ /* Only attach departments which are not a subtree of this one */ if(!preg_match("/".preg_quote($this->dn)."/",$dn)){ @@ -242,7 +242,7 @@ class department extends plugin } $smarty->assign("dep_type",$this->type); - + $dep_types = departmentManagement::get_support_departments(); $tpl =""; @@ -290,7 +290,7 @@ class department extends plugin /* Save data to object */ function save_object() - { + { if (isset($_POST['dep_generic_posted'])){ $nA = $this->namingAttr; @@ -393,7 +393,7 @@ class department extends plugin { $ldap= $this->config->get_ldap_link(); - /* Ensure that ou is saved too, it is required by objectClass gosaDepartment + /* Ensure that ou is saved too, it is required by objectClass gosaDepartment */ $nA = $this->namingAttr; $this->ou = $this->$nA; @@ -406,7 +406,7 @@ class department extends plugin $this->objectclasses[]= "gosaAdministrativeUnit"; $this->gosaUnitTag= ""; - /* It seams that this method is called twice, + /* It seams that this method is called twice, set this to true. to avoid adding this oc twice */ $this->initially_was_tagged = true; } @@ -462,7 +462,7 @@ class department extends plugin if ($ldap->count()){ $this->cleanup(); - $ldap->modify ($this->attrs); + $ldap->modify ($this->attrs); new log("modify","department/".get_class($this),$this->dn,array_keys($this->attrs),$ldap->get_error()); $this->handle_post_events('modify'); } else { @@ -474,7 +474,7 @@ class department extends plugin msg_dialog::display(_("LDAP error"), msgPool::ldaperror($ldap->get_error(), $this->dn, 0, get_class())); } - /* The parameter forces only to set must_be_tagged, and don't touch any objects + /* The parameter forces only to set must_be_tagged, and don't touch any objects This will be done later */ $this->tag_objects(true); @@ -547,7 +547,7 @@ class department extends plugin echo "<script language=\"javascript\" type=\"text/javascript\">scrollDown2();</script>" ; } } - + if(!$OnlySetTagFlag){ $this->must_be_tagged = FALSE; echo '<p class="seperator"> </p>'; @@ -589,7 +589,7 @@ class department extends plugin if ($ldap->fetch()){ trigger_error("Recursive_move ".LDAP::fix($dst_dn)." already exists.", E_USER_WARNING); - echo sprintf("Recursive_move: '%s' already exists", LDAP::fix($dst_dn))."<br>"; + echo sprintf("Recursive_move: '%s' already exists", LDAP::fix($dst_dn))."<br>"; return (FALSE); } @@ -630,7 +630,7 @@ class department extends plugin $ldap->cd($src_dn); $ldap->recursive_remove(); $this->orig_dn = $this->dn = $dst_dn; - $this->orig_base= $this->base; + $this->orig_base= $this->base; $this->entryCSN = getEntryCSN($this->dn); echo '<p class="seperator"> </p>'; @@ -646,32 +646,33 @@ class department extends plugin } - /* Return plugin informations for acl handling */ + /* Return plugin informations for acl handling */ static function plInfo() { - return (array("plShortName" => _("Generic"), - "plDescription" => _("Departments"), - "plSelfModify" => FALSE, - "plPriority" => 0, - "plDepends" => array(), - "plSection" => array("administration"), - "plCategory" => array("department" => array("objectClass" => "gosaDepartment", "description" => _("Departments"))), - - "plProvidedAcls" => array( - "ou" => _("Department name"), - "description" => _("Description"), - "businessCategory" => _("Category"), - "base" => _("Base"), - - "st" => _("State"), - "l" => _("Location"), - "postalAddress" => _("Address"), - "telephoneNumber" => _("Telephone"), - "facsimileTelephoneNumber" => _("Fax"), - "manager" => _("Manager"), - - "gosaUnitTag" => _("Administrative settings")) - )); + return array( + "plShortName" => _("Generic"), + "plDescription" => _("Departments"), + "plSelfModify" => FALSE, + "plSection" => array("administration"), + "plCategory" => array("department" => array("objectClass" => "gosaDepartment", "description" => _("Departments"))), + "plObjetType" => array("department" => array("name" => _("Department"), "filter" => "objectClass=gosaDepartment")), + + "plProvidedAcls" => array( + "ou" => _("Department name"), + "description" => _("Description"), + "businessCategory" => _("Category"), + "base" => _("Base"), + + "st" => _("State"), + "l" => _("Location"), + "postalAddress" => _("Address"), + "telephoneNumber" => _("Telephone"), + "facsimileTelephoneNumber" => _("Fax"), + "manager" => _("Manager"), + + "gosaUnitTag" => _("Administrative settings") + ) + ); } function handle_object_tagging($dn= "", $tag= "", $show= false) diff --git a/plugins/admin/departments/class_departmentManagement.inc b/plugins/admin/departments/class_departmentManagement.inc index e84ad6f57..2f7fe7aab 100644 --- a/plugins/admin/departments/class_departmentManagement.inc +++ b/plugins/admin/departments/class_departmentManagement.inc @@ -27,10 +27,10 @@ class departmentManagement extends management var $plIcon = "plugins/departments/images/plugin.png"; // Tab definition - protected $tabClass = "deptabs"; - protected $tabType = "DEPTABS"; - protected $aclCategory = "department"; - protected $aclPlugin = "generic"; + protected $tabClass = "deptabs"; + protected $tabType = "DEPARTMENTTABS"; + protected $aclCategory = "department"; + protected $aclPlugin = "generic"; protected $objectName = "department"; function __construct($config,$ui) @@ -185,7 +185,7 @@ class departmentManagement extends management $types['domain']['ACL'] = "domain"; $types['domain']['CLASS'] = "domain"; $types['domain']['ATTR'] = "dc"; - $types['domain']['TAB'] = "DOMAIN_TABS"; + $types['domain']['TAB'] = "DOMAINTABS"; $types['domain']['OC'] = "domain"; $types['domain']['IMG'] = "plugins/departments/images/domain.png"; $types['domain']['IMG_FULL']= "plugins/departments/images/domain.png"; @@ -197,7 +197,7 @@ class departmentManagement extends management $types['dcObject']['ACL'] = "dcObject"; $types['dcObject']['CLASS'] = "dcObject"; $types['dcObject']['ATTR'] = "dc"; - $types['dcObject']['TAB'] = "DCOBJECT_TABS"; + $types['dcObject']['TAB'] = "DCOBJECTTABS"; $types['dcObject']['OC'] = "dcObject"; $types['dcObject']['IMG'] = "plugins/departments/images/dc.png"; $types['dcObject']['IMG_FULL']= "plugins/departments/images/dc.png"; @@ -208,7 +208,7 @@ class departmentManagement extends management */ $types['country']['ACL'] = "country"; $types['country']['CLASS'] = "country"; - $types['country']['TAB'] = "COUNTRY_TABS"; + $types['country']['TAB'] = "COUNTRYTABS"; $types['country']['ATTR'] = "c"; $types['country']['OC'] = "country"; $types['country']['IMG'] = "plugins/departments/images/country.png"; @@ -220,7 +220,7 @@ class departmentManagement extends management */ $types['locality']['ACL'] = "locality"; $types['locality']['CLASS'] = "locality"; - $types['locality']['TAB'] = "LOCALITY_TABS"; + $types['locality']['TAB'] = "LOCALITYTABS"; $types['locality']['ATTR'] = "l"; $types['locality']['OC'] = "locality"; $types['locality']['IMG'] = "plugins/departments/images/locality.png"; @@ -232,7 +232,7 @@ class departmentManagement extends management */ $types['organization']['ACL'] = "organization"; $types['organization']['CLASS'] = "organization"; - $types['organization']['TAB'] = "ORGANIZATION_TABS"; + $types['organization']['TAB'] = "ORGANIZATIONTABS"; $types['organization']['ATTR'] = "o"; $types['organization']['OC'] = "organization"; $types['organization']['IMG'] = "plugins/departments/images/organization.png"; @@ -244,7 +244,7 @@ class departmentManagement extends management */ $types['organizationalUnit']['ACL'] = "department"; $types['organizationalUnit']['CLASS'] = "department"; - $types['organizationalUnit']['TAB'] = "DEPTABS"; + $types['organizationalUnit']['TAB'] = "DEPARTMENTTABS"; $types['organizationalUnit']['ATTR'] = "ou"; $types['organizationalUnit']['OC'] = "organizationalUnit"; $types['organizationalUnit']['IMG'] = "images/lists/folder.png";//plugins/departments/images/department.png"; diff --git a/plugins/admin/departments/class_domain.inc b/plugins/admin/departments/class_domain.inc index 79092e635..981dca1df 100644 --- a/plugins/admin/departments/class_domain.inc +++ b/plugins/admin/departments/class_domain.inc @@ -75,24 +75,27 @@ class domain extends department } - /* Return plugin informations for acl handling */ + /* Return plugin informations for acl handling */ static function plInfo() { - return (array("plShortName" => _("Domain Component"), - "plDescription" => _("Domain Component"), - "plSelfModify" => FALSE, - "plPriority" => 4, - "plDepends" => array(), - "plSection" => array("administration"), - "plCategory" => array("department"), - - "plProvidedAcls" => array( - "dc" => _("Name"), - "description" => _("Description"), - "base" => _("Base"), - "manager" => _("Manager"), - "gosaUnitTag" => _("Administrative settings")) - )); + return array( + "plShortName" => _("Domain"), + "plDescription" => _("Domain"), + "plSelfModify" => FALSE, + "plPriority" => 4, + "plDepends" => array(), + "plSection" => array("administration"), + "plCategory" => array("department"), + "plObjectType" => array("domain" => array("name" => _("Domain"), "filter" => "objectClass=domain")), + + "plProvidedAcls" => array( + "dc" => _("Name"), + "description" => _("Description"), + "base" => _("Base"), + "manager" => _("Manager"), + "gosaUnitTag" => _("Administrative settings") + ) + ); } } diff --git a/plugins/admin/departments/class_localityGeneric.inc b/plugins/admin/departments/class_localityGeneric.inc index 11ed2f810..fd30dac00 100644 --- a/plugins/admin/departments/class_localityGeneric.inc +++ b/plugins/admin/departments/class_localityGeneric.inc @@ -40,7 +40,7 @@ class locality extends department function check() { $message = plugin::check(); - + /* Check for presence of this department */ $ldap= $this->config->get_ldap_link(); $ldap->ls ("(&(l=".$this->l.")(objectClass=locality))", $this->base, array('dn')); @@ -76,24 +76,25 @@ class locality extends department } - /* Return plugin informations for acl handling */ + /* Return plugin informations for acl handling */ static function plInfo() { - return (array("plShortName" => _("Locality"), - "plDescription" => _("Locality"), - "plSelfModify" => FALSE, - "plPriority" => 3, - "plDepends" => array(), - "plSection" => array("administration"), - "plCategory" => array("department"), - - "plProvidedAcls" => array( - "l" => _("Location"), - "description" => _("Description"), - "manager" => _("Manager"), - "base" => _("Base"), - "gosaUnitTag" => _("Administrative settings")) - )); + return array( + "plShortName" => _("Locality"), + "plDescription" => _("Locality"), + "plSelfModify" => FALSE, + "plSection" => array("administration"), + "plCategory" => array("department"), + "plObjectType" => array("locality" => array("name" => _("Locality"), "filter" => "objectClass=locality")), + + "plProvidedAcls" => array( + "l" => _("Location"), + "description" => _("Description"), + "manager" => _("Manager"), + "base" => _("Base"), + "gosaUnitTag" => _("Administrative settings") + ) + ); } } diff --git a/plugins/admin/departments/class_organizationGeneric.inc b/plugins/admin/departments/class_organizationGeneric.inc index 8d3ecf9e4..3ce4ae192 100644 --- a/plugins/admin/departments/class_organizationGeneric.inc +++ b/plugins/admin/departments/class_organizationGeneric.inc @@ -33,8 +33,8 @@ class organization extends department var $objectclasses = array("top", "gosaDepartment"); var $structuralOC = array("organization"); - /* Attributes - */ + /* Attributes + */ var $st =""; var $l =""; var $description =""; @@ -57,7 +57,7 @@ class organization extends department var $teletexTerminalIdentifier=""; var $physicalDeliveryOfficeName=""; - /* Naming attributes + /* Naming attributes */ var $o =""; var $type = "organization"; @@ -110,30 +110,31 @@ class organization extends department /* Return plugin informations for acl handling */ static function plInfo() { - return (array("plShortName" => _("Organization"), - "plDescription" => _("Organization"), - "plSelfModify" => FALSE, - "plPriority" => 1, - "plDepends" => array(), - "plSection" => array("administration"), - "plCategory" => array("department"), - - "plProvidedAcls" => array( - "o" => _("Organization name"), - "description" => _("Description"), - "businessCategory" => _("Category"), - "base" => _("Base"), - - "manager" => _("Manager"), - - "st" => _("State"), - "l" => _("Location"), - "postalAddress" => _("Postal address"), - "telephoneNumber" => _("Phone number"), - "facsimileTelephoneNumber"=> _("Fax"), - - "gosaUnitTag" => _("Administrative settings")) - )); + return array( + "plShortName" => _("Organization"), + "plDescription" => _("Organization"), + "plSelfModify" => FALSE, + "plSection" => array("administration"), + "plCategory" => array("department"), + "plObjectType" => array("organization" => array("name" => _("Organization"), "filter" => "objectClass=organization")), + + "plProvidedAcls" => array( + "o" => _("Organization name"), + "description" => _("Description"), + "businessCategory" => _("Category"), + "base" => _("Base"), + + "manager" => _("Manager"), + + "st" => _("State"), + "l" => _("Location"), + "postalAddress" => _("Postal address"), + "telephoneNumber" => _("Phone number"), + "facsimileTelephoneNumber" => _("Fax"), + + "gosaUnitTag" => _("Administrative settings") + ) + ); } } -- GitLab