Code

Added missing classes
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 1 Oct 2009 12:01:59 +0000 (12:01 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Thu, 1 Oct 2009 12:01:59 +0000 (12:01 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@14436 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-core/plugins/admin/departments/class_domain.inc [new file with mode: 0644]
gosa-core/plugins/admin/departments/domain.tpl [new file with mode: 0644]

diff --git a/gosa-core/plugins/admin/departments/class_domain.inc b/gosa-core/plugins/admin/departments/class_domain.inc
new file mode 100644 (file)
index 0000000..04fa3a4
--- /dev/null
@@ -0,0 +1,95 @@
+<?php
+/*
+ * This code is part of GOsa (http://www.gosa-project.org)
+ * Copyright (C) 2003-2008 GONICUS GmbH
+ *
+ * ID: $$Id: class_departmentGeneric.inc 11085 2008-05-28 10:54:49Z hickert $$
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ */
+
+class domain extends department
+{
+       /* attribute list for save action */
+       var $attributes     = array( "dc", "ou", "description","gosaUnitTag");
+       var $objectclasses  = array("top", "domain", "gosaDepartment");
+        var $structuralOC   = array("locality");
+        var $type       = "dc";
+        var $dc         = "";
+        var $orgi_dc    = "";
+        var $namingAttr = "dc";
+
+
+  function check()
+  {
+    $message = plugin::check();
+
+               /* Check for presence of this department */
+               $ldap= $this->config->get_ldap_link();
+    $ldap->ls ("(&(dc=".$this->dc.")(objectClass=domain))", $this->base, array('dn'));
+    if ($this->orig_dc == "new" && $ldap->count()){
+                       $message[]= msgPool::duplicated(_("Name"));
+               } elseif ($this->orig_dn != $this->dn && $ldap->count()){
+                       $message[]= msgPool::duplicated(_("Name"));
+               }
+
+               /* All required fields are set? */
+               if ($this->dc == ""){
+                       $message[]= msgPool::required(_("Name"));
+               }elseif(tests::is_department_name_reserved($this->dc,$this->base)){
+      $message[]= msgPool::reserved(_("Name"));
+    }elseif(!preg_match ('/[a-z0-9 \.,\-_]/i', $this->dc)){
+                       $message[]= msgPool::invalid(_("Name"), $this->dc, "/[a-z0-9 \.,\-_]/");
+               }
+
+    /* Check description */
+               if ($this->description == ""){
+                       $message[]= msgPool::required(_("Description"));
+               }
+
+    /* Check if we are allowed to create or move this object
+     */
+    if($this->orig_dn == "new" && !$this->acl_is_createable($this->base)){
+      $message[] = msgPool::permCreate();
+    }elseif($this->orig_dn != "new" && $this->base != $this->orig_base && !$this->acl_is_moveable($this->base)){
+      $message[] = msgPool::permMove();
+    }
+
+    return($message);
+  }
+
+
+  /* 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"),
+            "gosaUnitTag"       => _("Administrative settings"))
+          ));
+  }
+}
+
+// vim:tabstop=2:expandtab:shiftwidth=2:filetype=php:syntax:ruler:
+?>
diff --git a/gosa-core/plugins/admin/departments/domain.tpl b/gosa-core/plugins/admin/departments/domain.tpl
new file mode 100644 (file)
index 0000000..5910edc
--- /dev/null
@@ -0,0 +1,57 @@
+<!--////////////////////
+       //      LOCALITY (l)
+    //////////////////// -->
+
+<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
+ <tr>
+   <td style="vertical-align:top; width:50%">
+     <h2><img class="center" alt="" align="middle" src="images/rightarrow.png"> {t}Properties{/t}</h2>
+     <table summary="">
+      <tr>
+       <td><LABEL for="dc">{t}Domain name{/t}</LABEL>{$must}</td>
+       <td>
+{render acl=$dcACL}
+       <input id="dc" name="dc" size=25 maxlength=60 value="{$dc}" title="{t}Name of domain to create{/t}">
+{/render}
+       </td>
+      </tr>
+      <tr>
+       <td><LABEL for="description">{t}Description{/t}</LABEL>{$must}</td>
+       <td>
+{render acl=$descriptionACL}
+        <input id="description" name="description" size=25 maxlength=80 value="{$description}" title="{t}Descriptive text for department{/t}">
+{/render}
+       </td>
+      </tr>
+       {if !$is_root_dse}
+      <tr>
+        <td><LABEL for="base">{t}Base{/t}</LABEL>{$must}</td>
+        <td>
+{render acl=$baseACL}
+         <select id="base" size="1" name="base" title="{t}Choose subtree to place department in{/t}"> 
+          {html_options options=$bases selected=$base_select}
+         </select>
+{/render}
+
+{render acl=$baseACL disable_picture='images/lists/folder_grey.png'}
+        <input type="image" name="chooseBase" src="images/lists/folder.png" class="center" title="{t}Select a base{/t}">
+{/render}
+         </td>
+        </tr>
+       {/if}
+       </table>
+  </td>
+ </tr>
+</table>
+<p class='seperator'>&nbsp;</p>
+<table summary="" style="width:100%; vertical-align:top; text-align:left;" cellpadding=4>
+ <tr>
+   <td style="vertical-align:top; width:100%">
+     <h2><img class="center" alt="" align="middle" src="images/lists/locked.png"> {t}Administrative settings{/t}</h2>
+{render acl=$gosaUnitTagACL}
+     <input id="is_administrational_unit" type=checkbox name="is_administrational_unit" value="1" {$gosaUnitTag}><label for="is_administrational_unit">{t}Tag department as an independent administrative unit{/t}</label>
+{/render}
+   </td>
+  </tr>
+</table>
+<input type='hidden' name='dep_generic_posted' value='1'>