Code

Added ACLs
authorhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 31 Aug 2010 09:55:04 +0000 (09:55 +0000)
committerhickert <hickert@594d385d-05f5-0310-b6e9-bd551577e9d8>
Tue, 31 Aug 2010 09:55:04 +0000 (09:55 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@19503 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-plugins/groupware/personal/groupware/class_groupware.inc
gosa-plugins/groupware/personal/groupware/generic.tpl

index d5e408092da214c429affddbc47e263963b8bafa..78ef1b2c00d7f1e3e7e88e3bee20db21df322268 100644 (file)
@@ -249,13 +249,10 @@ class groupware extends plugin
             $smarty->assign($attr, $this->$attr);
         }
 
-        /****************
-          SMARTY- Assign flags 
-         ****************/
-
-        /****************
-          Smarty- Vacation settings 
-         ****************/
+        $plInfo = $this->plInfo();
+        foreach($plInfo['plProvidedAcls'] as $acl => $name){
+            $smarty->assign($acl."ACL", $this->getacl($acl));
+        }
 
         $smarty->assign("mailLocations", array("tester"));
         if (count($this->vacationTemplates)){
@@ -611,6 +608,7 @@ class groupware extends plugin
                         "mailAddress"                   => _("Mail address"),
                         "mailLocation"                  => _("Mail location"),
                         "quotaUsage"                    => _("Quota usage"),
+                        "mailFilter"                    => _("Mail filter"),
                         "quotaSize"                     => _("Quota size"),
                         "alternateAddresses"            => _("Alternate mail addresses"),
                         "forwardingAddresses"           => _("Forwarding mail addresses"),
index 6e7beb490358e098d873ea11cd3df308c3214319..447b377c3853a45b858409d2eaa862dd64aebdaf 100644 (file)
@@ -5,29 +5,47 @@
             <table summary="{t}Mail address configuration{/t}">
                 <tr>
                     <td><label for="mailAddress">{t}Primary address{/t}</label>{$must}</td>
-                    <td><input type='text' id="mailAddress" name="mailAddress" value="{$mailAddress}"></td>
+                    <td>
+                        {render acl=$mailAddressACL}
+                            <input type='text' id="mailAddress" name="mailAddress" value="{$mailAddress}">
+                        {/render}
+                    </td>
                 </tr>
                 <tr>
                     <td><label for="mailLocation">{t}Account location{/t}</label></td>
                     <td>
-                        <select size="1" id="mailLocation" name="mailLocation" 
-                            title="{t}Specify the location for the mail account{/t}">
-                            {html_options values=$mailLocations output=$mailLocations selected=$mailLocation}
-                            <option disabled>&nbsp;</option>
-                        </select>
+                        {render acl=$mailLocationACL}
+                            <select size="1" id="mailLocation" name="mailLocation" 
+                                title="{t}Specify the location for the mail account{/t}">
+                                {html_options values=$mailLocations output=$mailLocations selected=$mailLocation}
+                                <option disabled>&nbsp;</option>
+                            </select>
+                        {/render}
                     </td>
                 </tr>
                 <tr>
-                    <td>{t}Quota usage{/t}</td>
-                    <td>{$quotaUsage}</td>
+                    <td><label for='quotaUsage_dummy'>{t}Quota usage{/t}</label></td>
+                    <td>
+                        {render acl=$quotaUsageACL}
+                            <input type='text' id='quotaUsage_dummy' name='quotaUsage_dummy' disabled value="{$quotaUsage}">
+                        {/render}
+                    </td>
                 </tr>
                 <tr>
                     <td><label for="quotaSize">{t}Quota size{/t}</label></td>
-                    <td><input type='text' id="quotaSize" name="quotaSize" value="{$quotaSize}"> MB</td>
+                    <td>
+                        {render acl=$quotaSizeACL}
+                            <input type='text' id="quotaSize" name="quotaSize" value="{$quotaSize}"> MB
+                        {/render}
+                    </td>
                 </tr>
                 <tr>
                     <td><label for="mailFilter">{t}Mail filter{/t}</label></td>
-                    <td><button name='configureFilter'>{t}Configure filter{/t}</button></td>
+                    <td>
+                        {render acl=$mailFilterACL}
+                            <button name='configureFilter'>{t}Configure filter{/t}</button>
+                        {/render}
+                    </td>
                 </tr>
             </table>
 
         <td class='left-border'>&nbsp;</td>
         <td>
             <h3><label for="alternateAddressList">{t}Alternative addresses{/t}</label></h3>
-            <select id="alternateAddressList" style="width:100%;height:100px;" name="alternateAddressList[]" size="15" multiple
-                title="{t}List of alternative mail addresses{/t}">
-                {html_options values=$alternateAddresses output=$alternateAddresses}
-                <option disabled>&nbsp;</option>
-            </select>
-            <br />
-            <input type='text' name="alternateAddressInput">
-            <button type='submit' name='addAlternateAddress'>{msgPool type=addButton}</button>
-            <button type='submit' name='deleteAlternateAddress'>{msgPool type=delButton}</button>
+            {render acl=$alternateAddressesACL}
+                <select id="alternateAddressList" style="width:100%;height:100px;" name="alternateAddressList[]" size="15" multiple
+                    title="{t}List of alternative mail addresses{/t}">
+                    {html_options values=$alternateAddresses output=$alternateAddresses}
+                    <option disabled>&nbsp;</option>
+                </select>
+                <br>
+            {/render}
+            {render acl=$alternateAddressesACL}
+                <input type='text' name="alternateAddressInput">
+            {/render}
+            {render acl=$alternateAddressesACL}
+                <button type='submit' name='addAlternateAddress'>{msgPool type=addButton}</button>
+            {/render}
+            {render acl=$alternateAddressesACL}
+                <button type='submit' name='deleteAlternateAddress'>{msgPool type=delButton}</button>
+            {/render}
         </td>
     </tr>
 </table>
             <table summary="{t}Spam filter configuration{/t}">
                 <tr>
                     <td style='width:20px;'>
+                        {render acl=$vacationEnabledACL}
                         <input type=checkbox name="vacationEnabled" value="1" 
                             {if $vacationEnabled} checked {/if}
                             id="vacationEnabled" 
                             title="{t}Select to automatically response with the vacation message defined below{/t}" 
                             class="center" 
                             onclick="changeState('vacationStart'); changeState('vacationStop'); changeState('vacationMessage');">
+                        {/render}
                     </td>
                     <td colspan="4">
                         {t}Activate vacation message{/t}
                     <td>&nbsp;</td>
                     <td style='width:30px;'>{t}from{/t}</td>
                     <td>
-                        <input type="text" id="vacationStart" name="vacationStart" class="date" 
-                            style='width:100px' value="{$vacationStart}"
-                            {if !$vacationEnabled} disabled {/if}
-                        >
-                        <script type="text/javascript">
-                            {literal}
-                                var datepicker  = new DatePicker({ 
-                                    relative : 'vacationStart', 
-                                    language : '{/literal}{$lang}{literal}', 
-                                    keepFieldEmpty : true, 
-                                    enableCloseEffect : false, 
-                                    enableShowEffect : false });
-                            {/literal}
-                        </script>
+                        {render acl=$vacationStartACL}
+                            <input type="text" id="vacationStart" name="vacationStart" class="date" 
+                                style='width:100px' value="{$vacationStart}"
+                                {if !$vacationEnabled} disabled {/if}
+                                >
+                        {/render}
+                        {if $vacationStartACL|regex_replace:"/[cdmr]/":"" == "w"}
+                            <script type="text/javascript">
+                                {literal}
+                                    var datepicker  = new DatePicker({ 
+                                        relative : 'vacationStart', 
+                                        language : '{/literal}{$lang}{literal}', 
+                                        keepFieldEmpty : true, 
+                                        enableCloseEffect : false, 
+                                        enableShowEffect : false });
+                                {/literal}
+                            </script>
+                        {/if}
                     </td>
                     <td style='width:30px;'>{t}till{/t}</td>
                     <td>
-                        <input type="text" id="vacationStop" name="vacationStop" class="date" 
-                            style='width:100px' value="{$vacationStop}"i
-                            {if !$vacationEnabled} disabled {/if}
-                            >
-                        <script type="text/javascript">
-                            {literal}
-                                var datepicker2  = new DatePicker({ 
-                                    relative : 'vacationStop', 
-                                    language : '{/literal}{$lang}{literal}', 
-                                    keepFieldEmpty : true, 
-                                    enableCloseEffect : false,  
-                                    enableShowEffect : false });
-                            {/literal}
-                        </script>
+                        {render acl=$vacationStartACL}
+                            <input type="text" id="vacationStop" name="vacationStop" class="date" 
+                                style='width:100px' value="{$vacationStop}"i
+                                {if !$vacationEnabled} disabled {/if}
+                                >
+                        {/render}
+                        {if $vacationStopACL|regex_replace:"/[cdmr]/":"" == "w"}
+                            <script type="text/javascript">
+                                {literal}
+                                    var datepicker2  = new DatePicker({ 
+                                        relative : 'vacationStop', 
+                                        language : '{/literal}{$lang}{literal}', 
+                                        keepFieldEmpty : true, 
+                                        enableCloseEffect : false,  
+                                        enableShowEffect : false });
+                                {/literal}
+                            </script>
+                        {/if}
                     </td>
                 </tr>
                 <tr>
                     <td colspan=5>
+                        {render acl=$vacationMessageACL}
                         <textarea id="vacationMessage" style="width:99%; height:100px;" 
                             {if !$vacationEnabled} disabled {/if}
                             name="vacationMessage" rows="4" cols="512">{$vacationMessage}</textarea>
+                        {/render}
                         <br>
                         {if $displayTemplateSelector eq "true"}
-                            <select id='vacation_template' name="vacation_template" size=1>
-                                {html_options options=$vacationTemplates selected=$vacationTemplate}
-                                <option disabled>&nbsp;</option>
-                            </select>
-                            <button type='submit' name='import_vacation' id="import_vacation">{t}Import{/t}</button>
+                            {render acl=$vacationMessageACL}
+                                <select id='vacation_template' name="vacation_template" size=1>
+                                    {html_options options=$vacationTemplates selected=$vacationTemplate}
+                                    <option disabled>&nbsp;</option>
+                                </select>
+                            {/render}
+                            {render acl=$vacationMessageACL}
+                                <button type='submit' name='import_vacation' id="import_vacation">{t}Import{/t}</button>
+                            {/render}
                         {/if}
                     </td>
                 </tr>
         <td class='left-border'>&nbsp;</td>
         <td>
             <h3><label for="forwardingAddressList">{t}Forward messages to{/t}</label></h3>
-            <select id="forwardingAddressList" style="width:100%; height:100px;" name="forwardingAddressList[]" size=15 multiple>
-                {html_options values=$forwardingAddresses output=$forwardingAddresses}
-                <option disabled>&nbsp;</option>
-            </select>
+            {render acl=$forwardingAddressesACL}
+                <select id="forwardingAddressList" style="width:100%; height:100px;" name="forwardingAddressList[]" size=15 multiple>
+                    {html_options values=$forwardingAddresses output=$forwardingAddresses}
+                    <option disabled>&nbsp;</option>
+                </select>
+            {/render}
             <br>
-            <input type='text' id='forwardingAddressInput' name="forwardingAddressInput">
-            <button type='submit' name='addForwardingAddress' id="addForwardingAddress">{msgPool type=addButton}</button>&nbsp;
-            <button type='submit' name='addLocalForwardingAddress' id="addLocalForwardingAddress">{t}Add local{/t}</button>&nbsp;
-            <button type='submit' name='deleteForwardingAddress' id="deleteForwardingAddress">{msgPool type=delButton}</button>
+            {render acl=$forwardingAddressesACL}
+                <input type='text' id='forwardingAddressInput' name="forwardingAddressInput">
+            {/render}
+            {render acl=$forwardingAddressesACL}
+                <button type='submit' name='addForwardingAddress' id="addForwardingAddress">{msgPool type=addButton}</button>&nbsp;
+            {/render}
+            {render acl=$forwardingAddressesACL}
+                <button type='submit' name='addLocalForwardingAddress' id="addLocalForwardingAddress">{t}Add local{/t}</button>&nbsp;
+            {/render}
+            {render acl=$forwardingAddressesACL}
+                <button type='submit' name='deleteForwardingAddress' id="deleteForwardingAddress">{msgPool type=delButton}</button>
+            {/render}
 
         </td>
     </tr>
 <table summary="{t}Flags{/t}">
     <tr>
         <td>
-            <input id='mailBoxWarnLimitEnabled' value='1' name="mailBoxWarnLimitEnabled" value="1" 
-                {if $mailBoxWarnLimitEnabled} checked {/if} class="center" type='checkbox'>
+            {render acl=$mailBoxWarnLimitACL}
+                <input id='mailBoxWarnLimitEnabled' value='1' name="mailBoxWarnLimitEnabled" value="1" 
+                    {if $mailBoxWarnLimitEnabled} checked {/if} class="center" type='checkbox'>
+            {/render}
             <label for="mailBoxWarnLimitValue">{t}Warn user about a full mailbox when it reaches{/t}</label>
-            <input id="mailBoxWarnLimitValue" name="mailBoxWarnLimitValue" 
-                size="6" align="middle" type='text' value="{$mailBoxWarnLimitValue}"  class="center"> {t}MB{/t}
+            {render acl=$mailBoxWarnLimitACL}
+                <input id="mailBoxWarnLimitValue" name="mailBoxWarnLimitValue" 
+                    size="6" align="middle" type='text' value="{$mailBoxWarnLimitValue}"  class="center"> {t}MB{/t}
+            {/render}
         </td>
     </tr>
     <tr>
         <td>
-            <input id='mailBoxSendSizelimitEnabled' value='1' name="mailBoxSendSizelimitEnabled" value="1" 
-                {if $mailBoxSendSizelimitEnabled} checked {/if} class="center" type='checkbox'>
+            {render acl=$mailBoxSendSizelimitACL}
+                <input id='mailBoxSendSizelimitEnabled' value='1' name="mailBoxSendSizelimitEnabled" value="1" 
+                    {if $mailBoxSendSizelimitEnabled} checked {/if} class="center" type='checkbox'>
+            {/render}
             <label for="mailBoxSendSizelimitValue">{t}Refuse incoming mails when mailbox size reaches{/t}</label>
-            <input id="mailBoxSendSizelimitValue" name="mailBoxSendSizelimitValue" 
-                size="6" align="middle" type='text' value="{$mailBoxSendSizelimitValue}"  class="center"> {t}MB{/t}
+            {render acl=$mailBoxSendSizelimitACL}
+                <input id="mailBoxSendSizelimitValue" name="mailBoxSendSizelimitValue" 
+                    size="6" align="middle" type='text' value="{$mailBoxSendSizelimitValue}"  class="center"> {t}MB{/t}
+            {/render}
         </td>
     </tr>
     <tr>
         <td>
-            <input id='mailBoxHardSizelimitEnabled' value='1' name="mailBoxHardSizelimitEnabled" value="1" 
-                {if $mailBoxHardSizelimitEnabled} checked {/if} class="center" type='checkbox'>
+            {render acl=$mailBoxHardSizelimitACL}
+                <input id='mailBoxHardSizelimitEnabled' value='1' name="mailBoxHardSizelimitEnabled" value="1" 
+                    {if $mailBoxHardSizelimitEnabled} checked {/if} class="center" type='checkbox'>
+            {/render}
             <label for="mailBoxHardSizelimitValue">{t}Refuse to send and receive mails when mailbox size reaches{/t}</label>
-            <input id="mailBoxHardSizelimitValue" name="mailBoxHardSizelimitValue" 
-                size="6" align="middle" type='text' value="{$mailBoxHardSizelimitValue}"  class="center"> {t}MB{/t}
+            {render acl=$mailBoxHardSizelimitACL}
+                <input id="mailBoxHardSizelimitValue" name="mailBoxHardSizelimitValue" 
+                    size="6" align="middle" type='text' value="{$mailBoxHardSizelimitValue}"  class="center"> {t}MB{/t}
+            {/render}
         </td>
     </tr>
     <tr>
         <td>
-            <input id='mailBoxAutomaticRemovalEnabled' value='1' name="mailBoxAutomaticRemovalEnabled" value="1" 
-                {if $mailBoxAutomaticRemovalEnabled} checked {/if} class="center" type='checkbox'>
+            {render acl=$mailBoxAutomaticRemovalACL}
+                <input id='mailBoxAutomaticRemovalEnabled' value='1' name="mailBoxAutomaticRemovalEnabled" value="1" 
+                    {if $mailBoxAutomaticRemovalEnabled} checked {/if} class="center" type='checkbox'>
+            {/render}
             <label for="mailBoxAutomaticRemovalValue">{t}Remove mails older than {/t}</label>
-            <input id="mailBoxAutomaticRemovalValue" name="mailBoxAutomaticRemovalValue" 
-                size="6" align="middle" type='text' value="{$mailBoxAutomaticRemovalValue}"  class="center"> {t}days{/t}
+            {render acl=$mailBoxAutomaticRemovalACL}
+                <input id="mailBoxAutomaticRemovalValue" name="mailBoxAutomaticRemovalValue" 
+                    size="6" align="middle" type='text' value="{$mailBoxAutomaticRemovalValue}"  class="center"> {t}days{/t}
+            {/render}
         </td>
     </tr>
     <tr>
         <td>
-            <input id='localDeliveryOnly' type=checkbox name="localDeliveryOnly" value="1" 
-                {if $localDeliveryOnly} checked {/if}
-                title="{t}Select if user can only send and receive inside his own domain{/t}" class="center">
+            {render acl=$localDeliveryOnlyACL}
+                <input id='localDeliveryOnly' type=checkbox name="localDeliveryOnly" value="1" 
+                    {if $localDeliveryOnly} checked {/if}
+                    title="{t}Select if user can only send and receive inside his own domain{/t}" class="center">
+            {/render}
             {t}User is only allowed to send and receive local mails{/t}
         </td>
     </tr>
     <tr>
         <td>
-            <input id='dropOwnMails' type=checkbox name="dropOwnMails" value="1"    
-                {if $dropOwnMails} checked {/if}
-                title="{t}Select if you want to forward mails without getting own copies of them{/t}">
+            {render acl=$dropOwnMailsACL}
+                <input id='dropOwnMails' type=checkbox name="dropOwnMails" value="1"    
+                    {if $dropOwnMails} checked {/if}
+                    title="{t}Select if you want to forward mails without getting own copies of them{/t}">
+            {/render}
             {t}No delivery to own mailbox{/t}
         </td>
     </tr>