General Actions:
Log-in
Register
Wiki:
games
▼
:
Document Index
»
Space:
XWiki
▼
:
Document Index
»
Page:
XWikiGroupSheet
Search
en
Page Actions:
Export
▼
:
Export as PDF
Export as RTF
Export as HTML
More actions
▼
:
Print preview
View Source
Wiki Home
»
XWiki Space
»
Groups
»
XWikiGroupSheet
Wiki source code of
XWikiGroupSheet
Last modified by
Administrator
on 2011/11/06 20:09
Content
·
Comments
(0)
·
Annotations
(0)
·
Attachments
(0)
·
History
·
Information
Show line numbers
{{velocity output="false"}} #set($mainwk = $xcontext.isMainWiki()) $xwiki.jsfx.use('js/xwiki/usersandgroups/usersandgroups.js', true) $xwiki.ssfx.use('js/xwiki/usersandgroups/usersandgroups.css') $xwiki.jsfx.use('js/xwiki/table/livetable.js', true) $xwiki.ssfx.use('js/xwiki/table/livetable.css', true) #set($groupDoc = $doc) #if($doc.fullName == 'Main.UserDirectory') #set($groupDoc = $xwiki.getDocument('XWiki.XWikiAllGroup')) #end #macro(hasGroupRight $right $hasGroupRight) #set($result = false) #if($!xwiki.hasAccessLevel("$!right", $xcontext.user, $doc.fullName) && $doc.getObject('XWiki.XWikiGroups', false)) #set($result = true) #end #set($hasGroupRight = $util.null) #setVariable("$hasGroupRight" $result) #end #hasGroupRight('edit' $hasEditGroupRight) #hasGroupRight('delete' $hasDeleteGroupRight) ## ## {{/velocity}} {{velocity}} ## Keep testing the inline action for backward compatibility with existing groups. #if(($xcontext.action == 'edit' || $xcontext.action == 'inline') && $hasEditGroupRight) {{html}} <div id="addNewMember"> <table> <tr> <td class="addlabel">$msg.get('xe.admin.groups.addUser') #if(!$mainwk) </td> <td><select name="wiki" id="addUserScope"> <option value="local" selected="selected">$msg.get('xe.admin.local')</option> <option value="global">$msg.get('xe.admin.global')</option> </select> </td> #else <input type="hidden" name="wiki" value="local" /></td> #end <td> <input id="userSuggest" type="text" size="30" name="newMember" autocomplete="off" /> </td> <td> <input type="button" id="addNewUser" class="button" value="$msg.get('xe.admin.groups.addUser.submit')" /> </td> </tr> <tr> <td class="addlabel">$msg.get('xe.admin.groups.addGroup') #if(!$mainwk) </td> <td><select name="wiki" id="addGroupScope"> <option value="local" selected="selected">$msg.get('xe.admin.local')</option> <option value="global">$msg.get('xe.admin.global')</option> </select> </td> #else <input type="hidden" name="wiki" value="local" /></td> #end <td> <input id="groupSuggest" type="text" size="30" name="newMember" autocomplete="off" /> </td> <td> <input type="button" id="addNewGroup" class="button" value="$msg.get('xe.admin.groups.addGroup.submit')" /> </td> </tr> <tr><td colspan="3" id="errMsg"></td></tr> </table> </div> ## ## <script type="text/javascript"> // <![CDATA[ if (typeof XWiki == "undefined") { var XWiki = {}; } Object.extend(XWiki, { groupmanager : { /* ** Initialize Group Manager javascript widgets (called on document load). */ userSuggest: null, groupSuggest: null, init: function() { if (XWiki.contextaction != 'view') { this.initSuggestWidget(); this.initAddNewMemberWidget(); } }, initSuggestWidget: function() { if ($('userSuggest')) { $('userSuggest').observe('focus', this.createSuggest.bind(this, $('userSuggest'), 'user', true)); } if ($('groupSuggest')) { $('groupSuggest').observe('focus', this.createSuggest.bind(this, $('groupSuggest'), 'group', false)); } }, initAddNewMemberWidget: function() { if ($('addNewUser')) { $('addNewUser').observe('click', this.addNewMember.bind(this, 'user', $('userSuggest'))); } if ($('addNewGroup')) { $('addNewGroup').observe('click', this.addNewMember.bind(this, 'group', $('groupSuggest'))); } }, createSuggest: function(input, uorg, suggestObj) { // Clear the errors $('errMsg').innerHTML = ""; suggesturl = "${doc.getURL('view', 'xpage=uorgsuggest&classname=XWiki.XWikiUsers')}"; if (uorg == "user") { suggesturl += "&uorg=user&wiki=" + ($('addUserScope') ? $('addUserScope').value : "local") + "&"; icon = "$xwiki.getSkinFile('icons/silk/user.gif')"; } else { suggesturl += "&uorg=group&wiki=" + ($('addGroupScope') ? $('addGroupScope').value : "local") + "&"; icon = "$xwiki.getSkinFile('icons/silk/group.gif')"; } return new XWiki.widgets.Suggest(input, { script: suggesturl, varname:'input', icon:icon }); }, addNewMember: function(uorg, input) { if (input && input.value.strip() != '') { var url = "${doc.getURL()}?xpage=adduorg&uorg=" + encodeURIComponent(uorg) + "&name=" + encodeURIComponent(input.value) + "&form_token=$!{escapetool.url($services.csrf.getToken())}"; new Ajax.Request(url, { method: 'get', onSuccess: function(transport) { $('userSuggest').value = ""; $('groupSuggest').value = ""; var nr = parseInt(transport.responseText); if (nr == 0) { if (uorg == "user") { $('errMsg').innerHTML = "$msg.get('xe.admin.groups.addUser.duplicate')"; } else { $('errMsg').innerHTML = "$msg.get('xe.admin.groups.addGroup.duplicate')"; } } else { var end = editgrouptable.limit; var start = editgrouptable.lastOffset; editgrouptable.clearCache(); if (start < 1) { start = 1; } editgrouptable.getRows(start, end, start, end); } } }); } } } }); XWiki.groupmanager.init(); // ]]> </script> {{/html}}#end #set($columnOptions = { "member" : {'link': 'auto', 'type': 'text'}, '_avatar' : { 'type' : 'none', 'link' : 'field', 'html' : 'true', 'sortable' : false }, "_actions" : { 'actions': ['delete'], 'actionCallbacks': {'delete': 'table.deleteRow(i);'}, 'ajaxActions': {'delete': true} } }) ## Keep testing the inline action for backward compatibility with existing groups. #if(($xcontext.action == 'edit' || $xcontext.action == 'inline') && $hasDeleteGroupRight) #set($columns = ['_avatar', 'member', '_actions']) #else #set($columns = ['_avatar', 'member']) #end #livetable('groupusers', $columns, $columnOptions, {'url' : "${groupDoc.getURL('view', 'xpage=getgroupmembers')}", 'translationPrefix' : 'xe.admin.groups.', 'javascriptName' : 'editgrouptable'}) {{/velocity}}