ACL improvements
authorMarcel Werk <burntime@woltlab.com>
Fri, 10 May 2013 14:23:28 +0000 (16:23 +0200)
committerMarcel Werk <burntime@woltlab.com>
Fri, 10 May 2013 14:23:28 +0000 (16:23 +0200)
com.woltlab.wcf/template/aclPermissions.tpl
wcfsetup/install/files/acp/templates/aclPermissions.tpl
wcfsetup/install/files/js/WCF.ACL.js
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index d960f39842dcdbeb59ed27f13cafdc9b6ccb807e..044330f7297103b58ef5c9622dc43ef2d052a8b4 100644 (file)
@@ -5,7 +5,9 @@
                WCF.Language.addObject({
                        'wcf.acl.option.deny': '{lang}wcf.acl.option.deny{/lang}',
                        'wcf.acl.option.fullAccess': '{lang}wcf.acl.option.fullAccess{/lang}',
-                       'wcf.acl.option.grant': '{lang}wcf.acl.option.grant{/lang}'
+                       'wcf.acl.option.grant': '{lang}wcf.acl.option.grant{/lang}',
+                       'wcf.acl.search.user.description': '{lang}wcf.acl.search.user.description{/lang}',
+                       'wcf.acl.search.description': '{lang}wcf.acl.search.description{/lang}',
                });
        });
        //]]>
index d960f39842dcdbeb59ed27f13cafdc9b6ccb807e..044330f7297103b58ef5c9622dc43ef2d052a8b4 100644 (file)
@@ -5,7 +5,9 @@
                WCF.Language.addObject({
                        'wcf.acl.option.deny': '{lang}wcf.acl.option.deny{/lang}',
                        'wcf.acl.option.fullAccess': '{lang}wcf.acl.option.fullAccess{/lang}',
-                       'wcf.acl.option.grant': '{lang}wcf.acl.option.grant{/lang}'
+                       'wcf.acl.option.grant': '{lang}wcf.acl.option.grant{/lang}',
+                       'wcf.acl.search.user.description': '{lang}wcf.acl.search.user.description{/lang}',
+                       'wcf.acl.search.description': '{lang}wcf.acl.search.description{/lang}',
                });
        });
        //]]>
index 738940d56aca8992eb803b1487606d8c929eb4d7..ac7c406fa203fdb7b93fec455eb7fb9db3f38d3d 100644 (file)
@@ -96,7 +96,7 @@ WCF.ACL.List = Class.extend({
                // insert container elements
                var $elementContainer = this._container.children('dd');
                var $aclList = $('<ul class="aclList container" />').appendTo($elementContainer);
-               var $searchInput = $('<input type="text" class="long" />').appendTo($elementContainer);
+               var $searchInput = $('<input type="text" class="long" placeholder="' + WCF.Language.get('wcf.acl.search.' + (!includeUserGroups ? 'user.' : '') + 'description') + '" />').appendTo($elementContainer);
                var $permissionList = $('<ul class="aclPermissionList container" />').hide().appendTo($elementContainer);
                
                // set elements
@@ -186,6 +186,8 @@ WCF.ACL.List = Class.extend({
                
                // show permissions
                this._containerElements.permissionList.show();
+               
+               WCF.DOMNodeInsertedHandler.forceExecution();
        },
        
        /**
@@ -199,7 +201,7 @@ WCF.ACL.List = Class.extend({
        _createListItem: function(objectID, label, type) {
                var $listItem = $('<li><span class="icon icon16 icon-' + (type === 'group' ? 'group' : 'user') + '" /> <span>' + label + '</span></li>').appendTo(this._containerElements.aclList);
                $listItem.data('objectID', objectID).data('type', type).click($.proxy(this._click, this));
-               $('<span class="icon icon16 icon-remove jsTooltip" title="' + WCF.Language.get('wcf.global.button.delete') + '" />').click($.proxy(this._removeItem, this)).appendTo($listItem);
+               $('<span class="icon icon16 icon-remove jsTooltip pointer" title="' + WCF.Language.get('wcf.global.button.delete') + '" />').click($.proxy(this._removeItem, this)).appendTo($listItem);
                
                return $listItem;
        },
@@ -258,8 +260,8 @@ WCF.ACL.List = Class.extend({
                        var $option = data.returnValues.options[$optionID];
                        
                        var $listItem = $('<li><span>' + $option.label +  '</span></li>').data('optionID', $optionID).data('optionName', $option.optionName);
-                       var $grantPermission = $('<input type="checkbox" id="grant' + $optionID + '" />').appendTo($listItem).wrap('<label for="grant' + $optionID + '" />');
-                       var $denyPermission = $('<input type="checkbox" id="deny' + $optionID + '" />').appendTo($listItem).wrap('<label for="deny' + $optionID + '" />');
+                       var $grantPermission = $('<input type="checkbox" id="grant' + $optionID + '" />').appendTo($listItem).wrap('<label for="grant' + $optionID + '" class="jsTooltip" title="' + WCF.Language.get('wcf.acl.option.grant') + '" />');
+                       var $denyPermission = $('<input type="checkbox" id="deny' + $optionID + '" />').appendTo($listItem).wrap('<label for="deny' + $optionID + '" class="jsTooltip" title="' + WCF.Language.get('wcf.acl.option.deny') + '" />');
                        
                        $grantPermission.data('type', 'grant').data('optionID', $optionID).change($.proxy(this._change, this));
                        $denyPermission.data('type', 'deny').data('optionID', $optionID).change($.proxy(this._change, this));
@@ -281,8 +283,8 @@ WCF.ACL.List = Class.extend({
                // add a "full access" permission if there are more than one option
                if ($count > 1) {
                        var $listItem = $('<li class="aclFullAccess"><span>' + WCF.Language.get('wcf.acl.option.fullAccess') + '</span></li>').prependTo(this._containerElements.permissionList);
-                       this._containerElements.grantAll = $('<input type="checkbox" id="grantAll" />').appendTo($listItem).wrap('<label for="grantAll" />');
-                       this._containerElements.denyAll = $('<input type="checkbox" id="denyAll" />').appendTo($listItem).wrap('<label for="denyAll" />');
+                       this._containerElements.grantAll = $('<input type="checkbox" id="grantAll" />').appendTo($listItem).wrap('<label for="grantAll" class="jsTooltip" title="' + WCF.Language.get('wcf.acl.option.grant') + '" />');
+                       this._containerElements.denyAll = $('<input type="checkbox" id="denyAll" />').appendTo($listItem).wrap('<label for="denyAll" class="jsTooltip" title="' + WCF.Language.get('wcf.acl.option.deny') + '" />');
                        
                        // bind events
                        this._containerElements.grantAll.data('type', 'grant').change($.proxy(this._changeAll, this));
@@ -334,6 +336,8 @@ WCF.ACL.List = Class.extend({
                
                // add options
                this._values[type] = data.returnValues[type].option;
+               
+               WCF.DOMNodeInsertedHandler.forceExecution();
        },
        
        /**
index 3249586ef103cb1a49702849cb5c6e8cd3f1518c..4e03e76fadb26b177dfe1717739c7137d456c7f2 100644 (file)
@@ -5,6 +5,9 @@
                <item name="wcf.acl.option.fullAccess"><![CDATA[Vollzugriff]]></item>
                <item name="wcf.acl.option.grant"><![CDATA[Erlauben]]></item>
                <item name="wcf.acl.permissions"><![CDATA[Benutzer- und Benutzergruppenrechte]]></item>
+               <item name="wcf.acl.user.permissions"><![CDATA[Benutzerrechte]]></item>
+               <item name="wcf.acl.search.description"><![CDATA[Benutzer- oder Benutzergruppenname eingeben …]]></item>
+               <item name="wcf.acl.search.user.description"><![CDATA[Benutzername eingeben …]]></item>
        </category>
        
        <category name="wcf.acp.application">
index 65193576e6c7632e748cda3ecdddd8c461f95aff..a0e8c416be4a0fee0ce572fd0cc0ca2d04aba425 100644 (file)
@@ -5,6 +5,9 @@
                <item name="wcf.acl.option.fullAccess"><![CDATA[Full Access]]></item>
                <item name="wcf.acl.option.grant"><![CDATA[Grant]]></item>
                <item name="wcf.acl.permissions"><![CDATA[User and Group Permissions]]></item>
+               <item name="wcf.acl.user.permissions"><![CDATA[User Permissions]]></item>
+               <item name="wcf.acl.search.description"><![CDATA[TODO: Benutzer- oder Benutzergruppenname eingeben …]]></item>
+               <item name="wcf.acl.search.user.description"><![CDATA[TODO: Benutzername eingeben …]]></item>
        </category>
        
        <category name="wcf.acp.application">