Code

Added changes made for testing new acl handling .
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 17 Jul 2006 11:03:53 +0000 (11:03 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Mon, 17 Jul 2006 11:03:53 +0000 (11:03 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@4177 594d385d-05f5-0310-b6e9-bd551577e9d8

include/smarty/plugins/block.render.php
plugins/personal/generic/class_user.inc
plugins/personal/generic/generic.tpl

index 1aa87baf5afeb32d2c0db13af0827c885c94beb8..96381c9f064bf9ac5f9d102991f8c7c5e8ad290a 100755 (executable)
@@ -3,33 +3,33 @@
 function smarty_block_render($params, $text, &$smarty)
 {
        $text = stripslashes($text);
+       $acl = "";
 
        if (isset($params['acl'])) {
                $acl = $params['acl'];
                unset($params['acl']);
        }
 
+       /* Read / Write*/
        if(preg_match("/w/i",$acl)){
-               
-               /* Read / Write*/
+               return ($text);
+       }
 
-       }elseif(preg_match("/r/i",$acl)){
+       $from   =  array("/name=/i");
+       $to     =  array("disabled name=");
+       $text = preg_replace($from,$to,$text);
                
-               /* Read only */
-               $from   =  array("/name=/i");
-               $to     =  array("disabled name=");
-               $text = preg_replace($from,$to,$text);
+       /* Read only */
+       if(preg_match("/r/i",$acl)){
+               return($text);  
+       }
 
-       }elseif(empty($acl)){
-               
-               /* No rights */
-               $text= "&nbsp;";
-               
+       /* No acls */   
+       if(preg_match("/type['\"= ].*submit/",$text)){
+               $text = preg_replace("/submit/","button",$text);
        }else{
-               // unknown
-               $text ="&nbsp;";
+               $text = preg_replace("/value=['\" ].*['\" ]/","",$text);
        }
-               
 
        return $text;
 }
index 700a3aeead304e0c7f44bc80c09e8129cd03313e..bc2522c98e7bfff71469890b1b449209438d6acb 100644 (file)
@@ -468,14 +468,6 @@ class user extends plugin
       return($smarty->fetch (get_template_path('generic_certs.tpl', TRUE, dirname(__FILE__))));
     }
 
-    /* Show us the edit screen */
-    @$smarty->assign("bases", $this->allowedBasesToMoveTo());
-#  $smarty->assign("bases", $this->config->idepartments);
-    $smarty->assign("base_select",      $this->base);
-    $smarty->assign("selectmode",       chkacl($this->acl, "create"));
-    $smarty->assign("certificatesACL",  chkacl($this->acl, "certificates"));
-    $smarty->assign("jpegPhotoACL",     chkacl($this->acl, "jpegPhoto"));
-
     /* Prepare password hashes */
     if ($this->pw_storage == ""){
       $this->pw_storage= $this->config->current['HASH'];
@@ -484,16 +476,27 @@ class user extends plugin
     $temp   = @passwordMethod::get_available_methods();
     $hashes = $temp['name'];
     
-    $smarty->assign("pwmode", $hashes);
-    $smarty->assign("pwmode_select", $this->pw_storage);
-    $smarty->assign("passwordStorageACL", chkacl($this->acl, "passwordStorage"));
-
     /* Load attributes and acl's */
+    $ui =get_userinfo();
     foreach($this->attributes as $val){
       $smarty->assign("$val", $this->$val);
-      $smarty->assign("$val"."ACL", chkacl($this->acl,$val));
+      $smarty->assign("$val"."ACL", $ui->get_permissions($this->dn, "user", $val));
     }
 
+    $smarty->assign("pwmode", $hashes);
+    $smarty->assign("pwmode_select", $this->pw_storage);
+    $smarty->assign("passwordStorageACL", $ui->get_permissions($this->dn,"user", "userPassword"));
+    $smarty->assign("base_select",      $this->base);
+    $smarty->assign("baseACL",          $ui->get_permissions($this->dn,"user", "base"));
+    $smarty->assign("selectmode",       $ui->get_permissions($this->dn,"user", "create"));
+    $smarty->assign("CertificatesACL",  $ui->get_permissions($this->dn,"user", "Certificate"));
+    $smarty->assign("userPictureACL",     $ui->get_permissions($this->dn,"user", "userPicture"));
+
+    /* Show us the edit screen */
+    @$smarty->assign("bases", $this->allowedBasesToMoveTo());
+#  $smarty->assign("bases", $this->config->idepartments);
+
+
     /* Save government mode attributes */
     if (isset($this->config->current['GOVERNMENTMODE']) &&
         preg_match('/true/i', $this->config->current['GOVERNMENTMODE'])){
@@ -503,22 +506,14 @@ class user extends plugin
       $smarty->assign("ivbbmodes", $ivbbmodes);
       foreach ($this->govattrs as $val){
         $smarty->assign("$val", $this->$val);
-        $smarty->assign("$val"."ACL", chkacl($this->acl,$val));
+        $smarty->assign("$val"."ACL", $ui->get_permissions($this->dn,"user",$val));
       }
     } else {
       $smarty->assign("governmentmode", "false");
     }
 
-    /* Special mode for uid */
-    $uidACL= "";
-    if (isset ($this->dn)){
-      if ($this->dn != "new"){
-        $uidACL="readonly";
-      }
-    }  else {
-      $uidACL= "readonly";
-    }
-    $uidACL.= " ".chkacl($this->acl, "uid");
+    $uidACL= $ui->get_permissions($this->dn,"user", "uid");
+    $uidACL= preg_replace("/w/","",$uidACL);
     
     $smarty->assign("uidACL", $uidACL);
     $smarty->assign("is_template", $this->is_template);
@@ -579,7 +574,7 @@ class user extends plugin
       /* Save government mode attributes */
       if ($this->config->current['GOVERNMENTMODE']){
         foreach ($this->govattrs as $val){
-          if (chkacl ($this->acl, "$val") == "" && isset ($_POST["$val"])){
+          if (obj_is_writable($this->dn, "user",$val) && isset ($_POST["$val"])){
             $data= stripcslashes($_POST["$val"]);
             if ($data != $this->$val){
               $this->is_modified= TRUE;
@@ -961,7 +956,7 @@ class user extends plugin
     }
 
     /* must: sn, givenName, uid */
-    if ($this->sn == "" && chkacl ($this->acl, "sn") == ""){
+    if ($this->sn == "" && obj_is_writable($this->dn, "user","sn")){
       $message[]= _("The required field 'Name' is not set.");
     }
 
@@ -976,10 +971,10 @@ class user extends plugin
 
     /* In template mode, the uid and givenName are autogenerated... */
     if (!$this->is_template){
-      if ($this->givenName == "" && chkacl ($this->acl, "givenName") == ""){
+      if ($this->givenName == "" && obj_is_writable($this->dn, "user","givenName")){
         $message[]= _("The required field 'Given name' is not set.");
       }
-      if ($this->uid == "" && chkacl ($this->acl, "uid") == ""){
+      if ($this->uid == "" && obj_is_writable($this->dn, "user","uid")){
         $message[]= _("The required field 'Login' is not set.");
       }
       if (!(isset($this->config->current['DNMODE']) && $this->config->current['DNMODE'] == "uid")){
@@ -1315,6 +1310,7 @@ class user extends plugin
                                                   "objectClass" => "gosaAccount")),
 
         "plProvidedAcls" => array(
+          "base"              => _("Base"), 
           "userPassword"      => _("User password"), 
           "sn"                => _("Surename"),
           "givenName"         => _("Given name"),
@@ -1334,16 +1330,15 @@ class user extends plugin
           "employeeType"      => _("Employee type"),
           "l"                 => _("Location"),
           "st"                => _("State"),
-
+          "userPicture"       => _("User picture"),
           "roomNumber"        => _("Room number"),
           "telephoneNumber"   => _("Telefon number"),
           "mobile"            => _("Mobile number"),
           "pager"             => _("Pager number"),
-          "userPKCS12"        => _("User certificate PKCS12"),
+          "Certificate"        => _("User certificates"),
 
           "postalAddress"                => _("Postal address"),
-          "facsimileTelephoneNumber"     => _("Fax number"),
-          "userSMIMECertificate"         => _("User certificate SMIME"))
+          "facsimileTelephoneNumber"     => _("Fax number"))
         );
 
     /* Append government attributes if required */
index 83635680ad6d457c817abd2ad6df11785acb7247..bac5756b1741bce8c4ba268d304d82bb7e7599a3 100644 (file)
          <table>
           <tr>
                <td width="147" height="200" bgcolor="gray">
-                <img align="center" valign="center" border="0" width="100%" src="getbin.php?rand={$rand}" alt="{t}Personal picture{/t}">
+               {render acl=$userPictureACL}
+                       <img align="center" valign="center" border="0" width="100%" src="getbin.php?rand={$rand}" alt="{t}Personal picture{/t}">
+               {/render}
                </td>
           </tr>
           <tr>
                <td>
-                <input valign="top" type="submit" name="edit_picture" {$jpegPhotoACL} value="{t}Change picture{/t}...">
+               {render acl=$userPictureACL}
+                       <input valign="top" type="submit" name="edit_picture" value="{t}Change picture{/t}...">
+               {/render}
                </td>
           </tr>
          </table>
@@ -31,7 +35,7 @@
   <td style="vertical-align:top">
    <img align="bottom" border="1" width="145" height="200" src="getbin.php?rand={$rand}" alt="{t}Personal picture{/t}">
    <br>
-   <input type="submit" name="edit_picture" {$jpegPhotoACL} value="{t}Change picture{/t}...">
+   <input type="submit" name="edit_picture" value="{t}Change picture{/t}...">
   </td>
        -->
 
     {if $is_template ne "true"}
     <tr>
      <td><label for="sn">{t}Last name{/t}{$must}</label></td>
-     <td><input id="sn" name="sn" size=25 maxlength=60 {$snACL} value="{$sn}"></td>
+     <td>{render acl=$snACL}<input id="sn" name="sn" size=25 maxlength=60 value="{$sn}">{/render}</td>
     </tr>
     {else}
     <tr>
      <td><label for="sn">{t}Template name{/t}{$must}</label></td>
-     <td><input id="sn" name="sn" size=25 maxlength=60 {$snACL} value="{$sn}"></td>
+     <td>{render acl=$snACL}<input id="sn" name="sn" size=25 maxlength=60 value="{$sn}">{/render}</td>
     </tr>
     {/if}
 
     {if $is_template ne "true"}
     <tr>
      <td><label for="givenName">{t}First name{/t}{$must}</label></td>
-     <td><input id="givenName" name="givenName" size=25 maxlength=60 {$givenNameACL} value="{$givenName}"></td>
+     <td>{render acl=$givenNameACL}<input id="givenName" name="givenName" size=25 maxlength=60 value="{$givenName}">{/render}</td>
     </tr>
     <tr>
      <td><label for="uid">{t}Login{/t}{$must}</label></td>
-     <td><input id="uid" name="uid" size=25 maxlength=60 {$uidACL} value="{$uid}"></td>
+     <td>{render acl=$uidACL}<input id="uid" name="uid" size=25 maxlength=60  value="{$uid}">{/render}</td>
     </tr>
     {/if}
       
      </td>
      <td>
       <div style="height:10px;"></div>
-      <input id="personalTitle" name="personalTitle" size=25 maxlength=60 {$personalTitleACL} value="{$personalTitle}">
+       {render acl=$personalTitleACL}
+               <input id="personalTitle" name="personalTitle" size=25 maxlength=60 value="{$personalTitle}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="academicTitle">{t}Academic title{/t}</label></td>
      <td>
-      <input id="academicTitle" name="academicTitle" size=25 maxlength=60 {$academicTitleACL} value="{$academicTitle}">
+       {render acl=$academicTitleACL}
+             <input id="academicTitle" name="academicTitle" size=25 maxlength=60 value="{$academicTitle}">
+       {/render}
      </td>
     </tr>
     <tr>
      </td>
      <td>
       <div style="height:10px;"></div>
-      {if $use_dob eq 1}
-      <select id="day" name=day onChange="createResult(this.form,this.form.dateOfBirth);" {$dateOfBirthACL}>
-       {html_options values=$days output=$days selected=$day}
-      </select>
-      <select name=month onChange="populate(this.form,this.form.dateOfBirth);" {$dateOfBirthACL}>
-       {html_options options=$months selected=$month}
-      </select>
-      <select name=year onChange="populate(this.form,this.form.dateOfBirth);" {$dateOfBirthACL}>
-       {html_options values=$years output=$years selected=$year}
-      </select>
-      <input type="hidden" name="dateOfBirth" value="{$dateOfBirth}">
-      <input type="submit" name="set_dob" value="-" {$dateOfBirthACL}>
-      {else}
-      <input type="submit" name="set_dob" value="{t}Set{/t}" {$dateOfBirthACL}>
-      {/if}
+       {render acl=$dateOfBirthACL}
+             {if $use_dob eq 1}
+             <select id="day" name=day onChange="createResult(this.form,this.form.dateOfBirth);"> 
+              {html_options values=$days output=$days selected=$day}
+             </select>
+             <select name=month onChange="populate(this.form,this.form.dateOfBirth);" >
+              {html_options options=$months selected=$month}
+             </select>
+             <select name=year onChange="populate(this.form,this.form.dateOfBirth);" >
+              {html_options values=$years output=$years selected=$year}
+             </select>
+             <input type="hidden" name="dateOfBirth" value="{$dateOfBirth}">
+             <input type="submit" name="set_dob" value="-" >
+             {else}
+             <input type="submit" name="set_dob" value="{t}Set{/t}" >
+             {/if}
+       {/render}
      </td>
     </tr>
     <tr>
       <label for="gender">{t}Sex{/t}</label>
      </td>
      <td>
-      <select size="1" id="gender" name="gender" {$genderACL}>
-       {html_options options=$gender_list selected=$gender}
-      </select>
+       {render acl=$genderACL}
+             <select size="1" id="gender" name="gender">
+              {html_options options=$gender_list selected=$gender}
+             </select>
+       {/render}
      </td>
     </tr>
     <tr>
       <label for="preferredLanguage">{t}Preferred langage{/t}</label>
      </td>
      <td>
-      <select size="1" id="preferredLanguage" name="preferredLanguage" {$preferredLanguageACL}>
-       {html_options options=$preferredLanguage_list selected=$preferredLanguage}
-      </select>
+       {render acl=$preferredLanguageACL}
+             <select size="1" id="preferredLanguage" name="preferredLanguage">
+              {html_options options=$preferredLanguage_list selected=$preferredLanguage}
+             </select>
+       {/render}
      </td>
     </tr>
     <tr>
      </td>
      <td>
       <div style="height:10px;"></div>
-      <select id="base" size="1" name="base" {$selectmode} title="{t}Choose subtree to place user in{/t}">
-       {html_options options=$bases selected=$base_select}
-      </select>
-               {if $selectmode == ""}
+       {render acl=$baseACL}
+               <select id="base" size="1" name="base" {$selectmode} title="{t}Choose subtree to place user in{/t}">
+                       {html_options options=$bases selected=$base_select}
+               </select>
+               {if $selectmode==""}
                        <input type="image" name="chooseBase" src="images/folder.png" class="center" title="{t}Select a base{/t}">
                {else}
                        <img src="images/folder_gray.png" class="center" title="{t}Select a base{/t}">
                {/if}
+       {/render}
      </td>
     </tr>
    </table>
    <table summary="" style="width:100%"> 
     <tr>
      <td style="vertical-align:top;"><label for="homePostalAddress">{t}Address{/t}</label></td>
-     <td><textarea id="homePostalAddress" name="homePostalAddress" rows="3" style="width:100%" {$homePostalAddressACL}>{$homePostalAddress}</textarea></td>
+      <td>
+       {render acl=$homePostalAddressACL}
+            <textarea id="homePostalAddress" name="homePostalAddress" rows="3" style="width:100%">{$homePostalAddress}</textarea>
+       {/render}
+     </td>
     </tr>
     <tr>
-     <td><label for="homePhone">{t}Private phone{/t}</label></td>
-     <td><input id="homePhone" name="homePhone" size=25 maxlength=60 {$homePhoneACL} value="{$homePhone}"></td>
+     <td><label for="homePhone">{t}Private phone{/t}</label>
+     </td><td>
+       {render acl=$homePhoneACL}
+            <input id="homePhone" name="homePhone" size=25 maxlength=60 value="{$homePhone}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td><label for="labeledURI">{t}Homepage{/t}</label></td>
-     <td><input id="labeledURI" name="labeledURI" size=25 maxlength=60 {$labeledURIACL} value="{$labeledURI}"></td>
+     <td>
+       {render acl=$labeledURIACL}
+               <input id="labeledURI" name="labeledURI" size=25 maxlength=60 value="{$labeledURI}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td colspan=2>
     <tr>
      <td><label for="pw_storage">{t}Password storage{/t}</label></td>
      <td>
-      <select size="1" id="pw_storage" name="pw_storage" {$passwordStorageACL}>
-       {html_options values=$pwmode output=$pwmode selected=$pwmode_select}
-      </select>
+       {render acl=$passwordStorageACL}
+             <select size="1" id="pw_storage" name="pw_storage">
+              {html_options values=$pwmode output=$pwmode selected=$pwmode_select}
+             </select>
+       {/render}
      </td>
     </tr>
 
     <tr>
      <td><label for="edit_cert">{t}Certificates{/t}</label></td>
      <td>
-      <input id="edit_cert" type="submit" name="edit_cert" {$certificatesACL} value="{t}Edit certificates{/t}...">
+       {render acl=$CertificatesACL}
+               <input id="edit_cert" type="submit" name="edit_cert" value="{t}Edit certificates{/t}...">
+       {/render}
      </td>
     </tr>
+<!--
     <tr>
      <td><label for="edit_krb">{t}Kerberos{/t}</label></td>
-     <td><input id="edit_krb" type="submit" name="edit_krb" disabled value="{t}Edit properties{/t}..."></td>
+     <td>
+       no acls
+               <input id="edit_krb" type="submit" name="edit_krb" disabled value="{t}Edit properties{/t}...">
+     </td>
     </tr>
+-->
     {/if}
 
    </table>
    <table summary=""> 
     <tr>
      <td><label for="o">{t}Organization{/t}</label></td>
-     <td><input id="o" name="o" size=22 maxlength=60 {$oACL} value="{$o}"></td>
+     <td>      
+       {render acl=$oACL}
+               <input id="o" name="o" size=22 maxlength=60 value="{$o}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td><label for="ou">{t}Department{/t}</label></td>
-     <td><input id="ou" name="ou" size=22 maxlength=60 {$ouACL} value="{$ou}"></td>
+     <td>
+       {render acl=$ouACL}
+               <input id="ou" name="ou" size=22 maxlength=60 value="{$ou}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td><label for="departmentNumber">{t}Department No.{/t}</label></td>
      <td>
-      <input id="departmentNumber" name="departmentNumber" size=22 maxlength=60 {$departmentNumberACL} value="{$departmentNumber}">
+       {render acl=$departmentNumberACL}
+             <input id="departmentNumber" name="departmentNumber" size=22 maxlength=60 value="{$departmentNumber}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="employeeNumber">{t}Employee No.{/t}</label></td>
      <td>
-      <input id="employeeNumber" name="employeeNumber" size=22 maxlength=60 {$employeeNumberACL} value="{$employeeNumber}">
+       {render acl=$employeeNumberACL}
+               <input id="employeeNumber" name="employeeNumber" size=22 maxlength=60 value="{$employeeNumber}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="employeeType">{t}Employee type{/t}</label></td>
      <td>
-      <input id="employeeType" name="employeeType" size=22 maxlength=60 {$employeeTypeACL} value="{$employeeType}">
+       {render acl=$employeeTypeACL}
+               <input id="employeeType" name="employeeType" size=22 maxlength=60 value="{$employeeType}">
+       {/render}
      </td>
     </tr>
    </table>
    <table summary=""> 
     <tr>
      <td><label for="roomNumber">{t}Room No.{/t}</label></td>
-     <td><input id="roomNumber" name="roomNumber" size=22 maxlength=60 {$roomNumberACL} value="{$roomNumber}"></td>
+     <td>
+       {render acl=$roomNumberACL}
+               <input id="roomNumber" name="roomNumber" size=22 maxlength=60 value="{$roomNumber}">
+       {/render}
+     </td>
     </tr>
     {if $has_phoneaccount ne "true"}
     <tr>
      <td><label for="telephoneNumber">{t}Phone{/t}</label></td>
      <td>
-      <input id="telephoneNumber" name="telephoneNumber" size=22 maxlength=60 {$telephoneNumberACL} value="{$telephoneNumber}">
+       {render acl=$telephoneNumberACL}
+               <input id="telephoneNumber" name="telephoneNumber" size=22 maxlength=60 value="{$telephoneNumber}">
+       {/render}
      </td>
     </tr>
     {/if}
     <tr>
      <td><label for="mobile">{t}Mobile{/t}</label></td>
-     <td><input id="mobile" name="mobile" size=22 maxlength=60 {$mobileACL} value="{$mobile}"></td>
+     <td>
+       {render acl=$mobileACL}
+               <input id="mobile" name="mobile" size=22 maxlength=60 value="{$mobile}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td><label for="pager">{t}Pager{/t}</label></td>
      <td>
-      <input id="pager" name="pager" size=22 maxlength=60 {$pagerACL} value="{$pager}">
+       {render acl=$pagerACL}
+               <input id="pager" name="pager" size=22 maxlength=60 value="{$pager}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="facsimileTelephoneNumber">{t}Fax{/t}</label></td>
-     <td><input id="facsimileTelephoneNumber" name="facsimileTelephoneNumber" size=22 maxlength=60 {$facsimileTelephoneNumberACL}
-                value="{$facsimileTelephoneNumber}">
+     <td>
+       {render acl=$facsimileTelephoneNumberACL}
+               <input id="facsimileTelephoneNumber" name="facsimileTelephoneNumber" size=22 maxlength=60 value="{$facsimileTelephoneNumber}">
+       {/render}
      </td>
     </tr>
    </table>
    <table summary="" style="width:100%"> 
     <tr>
      <td><label for="l">{t}Location{/t}</l></td>
-     <td><input id="l" name="l" size=22 maxlength=60 {$lACL} value="{$l}"></td>
+     <td>
+       {render acl=$lACL}
+               <input id="l" name="l" size=22 maxlength=60 value="{$l}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td><label for="st">{t}State{/t}</label></td>
-     <td><input id="st" name="st" size=22 maxlength=60 {$stACL} value="{$st}"></td>
+     <td>
+       {render acl=$stACL}
+               <input id="st" name="st" size=22 maxlength=60 value="{$st}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td style="vertical-align:top;"><label for="postalAddress">{t}Address{/t}</label></td>
      <td>
-      <textarea id="postalAddress" name="postalAddress" rows=3 style="width:100%" {$postalAddressACL}>{$postalAddress}</textarea>
+       {render acl=$postalAddressACL}
+               <textarea id="postalAddress" name="postalAddress" rows=3 style="width:100%">{$postalAddress}</textarea>
+       {/render}
      </td>
     </tr>
    </table>
    <table summary=""> 
     <tr>
      <td><label for="vocation">{t}Vocation{/t}</label></td>
-     <td><input id="vocation" name="vocation" size=22 maxlength=60 {$vocationACL} value="{$vocation}"></td>
+     <td>
+       {render acl=$vocationACL}
+               <input id="vocation" name="vocation" size=22 maxlength=60 value="{$vocation}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td><label for="gouvernmentOrganizationalUnitDescription">{t}Unit description{/t}</label></td>
      <td>
-      <input id="gouvernmentOrganizationalUnitDescription" name="gouvernmentOrganizationalUnitDescription" size=22 maxlength=60
-       {$gouvernmentOrganizationalUnitDescriptionACL}  
-       value="{$gouvernmentOrganizationalUnitDescription}">
+       {render acl=$gouvernmentOrganizationalUnitDescriptionACL}
+               <input id="gouvernmentOrganizationalUnitDescription" name="gouvernmentOrganizationalUnitDescription" size=22 maxlength=60
+               value="{$gouvernmentOrganizationalUnitDescription}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="gouvernmentOrganizationalUnitSubjectArea">{t}Subject area{/t}</label></td>
      <td>
-      <input id="gouvernmentOrganizationalUnitSubjectArea" name="gouvernmentOrganizationalUnitSubjectArea" size=22 maxlength=60
-          {$gouvernmentOrganizationalUnitSubjectAreaACL}  
-           value="{$gouvernmentOrganizationalUnitSubjectArea}">
+       {render acl=$gouvernmentOrganizationalUnitSubjectAreaACL}
+               <input id="gouvernmentOrganizationalUnitSubjectArea" name="gouvernmentOrganizationalUnitSubjectArea" size=22 maxlength=60
+               value="{$gouvernmentOrganizationalUnitSubjectArea}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="functionalTitle">{t}Functional title{/t}</label></td>
      <td>
-      <input name="functionalTitle" id="functionalTitle"  size=22 maxlength=60 {$functionalTitleACL}
-             value="{$functionalTitle}">
+       {render acl=$functionalTitleACL}
+               <input name="functionalTitle" id="functionalTitle"  size=22 maxlength=60
+               value="{$functionalTitle}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="role">{t}Role{/t}</label></td>
      <td>
-      <input id="role" name="role" size=22 maxlength=60 {$roleACL} value="{$role}">
+       {render acl=$roleACL}
+               <input id="role" name="role" size=22 maxlength=60 value="{$role}">
+       {/render}
      </td>
     </tr>
    </table>
     <tr>
      <td><label for="gouvernmentOrganizationalPersonLocality">{t}Person locality{/t}</label></td>
      <td>
-      <input id="gouvernmentOrganizationalPersonLocality" name="gouvernmentOrganizationalPersonLocality" size=22 maxlength=60
-         {$gouvernmentOrganizationalPersonLocalityACL}
+       {render acl=$gouvernmentOrganizationalPersonLocalityACL}
+               <input id="gouvernmentOrganizationalPersonLocality" name="gouvernmentOrganizationalPersonLocality" size=22 maxlength=60
                 value="{$gouvernmentOrganizationalPersonLocality}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="gouvernmentOrganizationalUnit">{t}Unit{/t}</label></td>
-     <td><input id="gouvernmentOrganizationalUnit" name="gouvernmentOrganizationalUnit" size=22 maxlength=60 
-     {$gouvernmentOrganizationalUnitACL}
-            value="{$gouvernmentOrganizationalUnit}">
+     <td>
+       {render acl=$gouvernmentOrganizationalUnitACL}
+               <input id="gouvernmentOrganizationalUnit" name="gouvernmentOrganizationalUnit" size=22 maxlength=60 
+               value="{$gouvernmentOrganizationalUnit}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="street">{t}Street{/t}</label></td>
      <td>
-      <input name="street" id="street" size=22 maxlength=60 {$streetACL} value="{$street}">
+       {render acl=$streetACL}
+               <input name="street" id="street" size=22 maxlength=60 value="{$street}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="postalCode">{t}Postal code{/t}</label></td>
      <td> 
-      <input name="postalCode" id="postalCode" size=22 maxlength=60 {$postalCodeACL} value="{$postalCode}">
+       {render acl=$postalCodeACL}
+               <input name="postalCode" id="postalCode" size=22 maxlength=60 value="{$postalCode}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="houseIdentifier">{t}House identifier{/t}</label></td>
      <td>
-      <input id="houseIdentifier" name="houseIdentifier" size=22 maxlength=60 {$houseIdentifierACL}
-             value="{$houseIdentifier}">
+       {render acl=$houseIdentifierACL}
+               <input id="houseIdentifier" name="houseIdentifier" size=22 maxlength=60
+               value="{$houseIdentifier}">
+       {/render}
      </td>
     </tr>
    </table>
    <table summary=""> 
     <tr>
      <td><label for="roomNumber">{t}Room No.{/t}</label></td>
-     <td><input id="roomNumber" name="roomNumber" size=22 maxlength=60 {$roomNumberACL} value="{$roomNumber}"></td>
+     <td>
+       {render acl=$roomNumberACL}
+               <input id="roomNumber" name="roomNumber" size=22 maxlength=60 value="{$roomNumber}">
+       {/render}
+     </td>
     </tr>
     <tr>
      <td><label for="telephoneNumber">{t}Phone{/t}</label></td>
      <td>
-      {if $has_phoneaccount ne "true"}
-      <input id="telephoneNumber" name="telephoneNumber" size=22 maxlength=60 {$telephoneNumberACL} value="{$telephoneNumber}">
-      {else}
-      <i>{t}Please use the phone tab{/t}</i>
-      {/if}
+       {render acl=$telephoneNumberACL}
+             {if $has_phoneaccount ne "true"}
+                       <input id="telephoneNumber" name="telephoneNumber" size=22 maxlength=60 value="{$telephoneNumber}">
+             {else}
+                       <i>{t}Please use the phone tab{/t}</i>
+             {/if}
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="facsimileTelephoneNumber">{t}Fax{/t}</label></td>
      <td>
-      <input id="facsimileTelephoneNumber" name="facsimileTelephoneNumber" size=22 maxlength=60 
-                 {$facsimileTelephoneNumberACL}  
-                 value="{$facsimileTelephoneNumber}">
+       {render acl=$facsimileTelephoneNumberACL}
+               <input id="facsimileTelephoneNumber" name="facsimileTelephoneNumber" size=22 maxlength=60 
+                value="{$facsimileTelephoneNumber}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="ivbbLastDeliveryCollective">{t}Last delivery{/t}</label></td>
      <td>
-      <input name="ivbbLastDeliveryCollective" size=22 maxlength=60 {$ivbbLastDeliveryCollectiveACL} id="ivbbLastDeliveryCollective" 
-             value="{$ivbbLastDeliveryCollective}">
+       {render acl=$ivbbLastDeliveryCollectiveACL}
+               <input name="ivbbLastDeliveryCollective" size=22 maxlength=60 id="ivbbLastDeliveryCollective" 
+               value="{$ivbbLastDeliveryCollective}">
+       {/render}
      </td>
     </tr>
     <tr>
      <td><label for="publicVisible">{t}Public visible{/t}</label></td>
      <td>
-      <select size="1" id="publicVisible" name="publicVisible" {$publicVisibleACL}>
-       {html_options values=$ivbbmodes output=$ivbbmodes selected=$publicVisible}
-      </select>
+       {render acl=$publicVisibleACL}
+             <select size="1" id="publicVisible" name="publicVisible">
+              {html_options values=$ivbbmodes output=$ivbbmodes selected=$publicVisible}
+             </select>
+       {/render}
      </td>
     </tr>
    </table>
                                populate(document.mainform,document.mainform.dateOfBirth);
   -->
 </script>
-