0 Votes

Wiki source code of AdminGroupsSheet

Last modified by Ryan C on 2025/03/06 17:59

Show last authors
1 {{velocity output="false"}}
2 #macro (createGroupModal)
3 <div class="modal" id="createGroupModal" tabindex="-1" role="dialog"
4 aria-labelledby="createGroupModal-label" data-backdrop="static" data-keyboard="false">
5 <div class="modal-dialog" role="document">
6 <form class="modal-content xform">
7 <div class="modal-header">
8 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
9 <span aria-hidden="true">&times;</span>
10 </button>
11 <div class="modal-title" id="createGroupModal-label">
12 $escapetool.xml($services.localization.render('rightsmanager.creategroup'))
13 </div>
14 </div>
15 <div class="modal-body">
16 <div class="hidden">
17 <input type="hidden" name="form_token" value="$!services.csrf.token" />
18 <input type="hidden" name="template" value="XWiki.XWikiGroupTemplate" />
19 </div>
20 <dl>
21 <dt>
22 <label for="createGroupModal-groupName" class="sr-only">
23 $escapetool.xml($services.localization.render('xe.admin.groups.name'))
24 </label>
25 </dt>
26 <dd class="form-group has-feedback">
27 <input type="text" class="form-control" id="createGroupModal-groupName" name="name" autocomplete="off"
28 placeholder="$escapetool.xml($services.localization.render('xe.admin.groups.name'))" />
29 <span class="form-control-feedback loading hidden" aria-hidden="true"></span>
30 <span class="form-control-feedback success hidden" aria-hidden="true">$services.icon.renderHTML('check')</span>
31 <span class="form-control-feedback error hidden" aria-hidden="true">$services.icon.renderHTML('cross')</span>
32 <span class="help-block hidden"></span>
33 </dd>
34 </dl>
35 </div>
36 <div class="modal-footer">
37 <button type="button" class="btn btn-default" data-dismiss="modal">
38 $escapetool.xml($services.localization.render('cancel'))
39 </button>
40 <button type="submit" class="btn btn-primary">
41 $escapetool.xml($services.localization.render('create'))
42 </button>
43 </div>
44 </form>
45 </div>
46 </div>
47 #end
48
49 #macro (editGroupModal)
50 <div class="modal" id="editGroupModal" tabindex="-1" role="dialog" aria-labelledby="editGroupModal-label"
51 data-backdrop="static" data-keyboard="false" data-live-data="#groupstable" data-live-data-action="edit">
52 <div class="modal-dialog" role="document">
53 <div class="modal-content">
54 <div class="modal-header">
55 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
56 <span aria-hidden="true">&times;</span>
57 </button>
58 <div class="modal-title" id="editGroupModal-label">
59 $escapetool.xml($services.localization.render('xe.admin.groups.editGroup'))
60 </div>
61 </div>
62 <div class="modal-body"></div>
63 </div>
64 </div>
65 </div>
66 #end
67
68 #macro (deleteGroupModal)
69 <div class="modal" id="deleteGroupModal" tabindex="-1" role="dialog" aria-labelledby="deleteGroupModal-label"
70 data-live-data="#groupstable" data-live-data-action="delete">
71 <div class="modal-dialog" role="document">
72 <div class="modal-content">
73 <div class="modal-header">
74 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
75 <span aria-hidden="true">&times;</span>
76 </button>
77 <div class="modal-title" id="deleteGroupModal-label">
78 $escapetool.xml($services.localization.render('xe.admin.groups.deleteGroup'))
79 </div>
80 </div>
81 <div class="modal-body">
82 #set ($message = $escapetool.xml($services.localization.render('rightsmanager.confirmdeletegroup')))
83 <p>$message.replace('__name__', '<span class="groupName"></span>')</p>
84 </div>
85 <div class="modal-footer">
86 <button type="button" class="btn btn-default" data-dismiss="modal">
87 $escapetool.xml($services.localization.render('cancel'))
88 </button>
89 <button type="submit" class="btn btn-danger" data-dismiss="modal">
90 $escapetool.xml($services.localization.render('delete'))
91 </button>
92 </div>
93 </div>
94 </div>
95 </div>
96 #end
97 {{/velocity}}
98
99 {{velocity}}
100 {{html clean="false"}}
101 #set ($discard = $xwiki.ssx.use('XWiki.AdminGroupsSheet'))
102 #set ($discard = $xwiki.jsx.use('XWiki.AdminGroupsSheet'))
103 ## The following are needed when editing a group (e.g., for adding new members).
104 #userPicker_import()
105 #set ($discard = $xwiki.ssx.use('XWiki.XWikiGroupSheet'))
106 #set ($discard = $xwiki.jsx.use('XWiki.XWikiGroupSheet'))
107 #set ($properties = ['name', 'members', '_actions'])
108 #if (!$xcontext.isMainWiki())
109 #set ($discard = $properties.add(2, 'scope'))
110 #end
111 <div class="medium-avatars">
112 #set ($sourceParameters = {
113 'template': 'getgroups.vm',
114 'translationPrefix': 'xe.admin.groups.'
115 })
116 $services.liveData.render({
117 'id': 'groupstable',
118 'source': 'liveTable',
119 'properties': $stringtool.join($properties, ','),
120 'sourceParameters': $escapetool.url($sourceParameters)
121 }, {
122 'query': {
123 'filters': [
124 {
125 'property': 'scope',
126 'constraints': [{
127 'operator': 'contains',
128 'value': 'local'
129 }]
130 }
131 ]
132 },
133 'meta': {
134 'propertyDescriptors': [
135 {
136 'id': 'name',
137 'displayer': 'html',
138 'sortable': false,
139 'editable': false
140 },
141 {
142 'id': 'members',
143 'sortable': false,
144 'filterable': false,
145 'editable': false
146 },
147 {
148 'id': 'scope',
149 'sortable': false,
150 'editable': false,
151 'filter': {
152 'id': 'list',
153 'options': [
154 {'value': 'local', 'label': $services.localization.render('xe.admin.groups.local')},
155 {'value': 'global', 'label': $services.localization.render('xe.admin.groups.global')},
156 {'value': 'both', 'label': $services.localization.render('xe.admin.groups.both')}
157 ]
158 }
159 },
160 {
161 'id': '_actions',
162 'displayer': {
163 'id': 'actions',
164 'actions': ['edit', 'delete']
165 }
166 }
167 ],
168 'actions': [
169 {
170 'id': 'delete',
171 'name': $services.localization.render('platform.livetable._actions.delete')
172 }
173 ]
174 }
175 })
176 </div>
177 <p>
178 <button type="button" class="btn btn-primary" data-toggle="modal" data-target="${escapetool.h}createGroupModal">
179 $escapetool.xml($services.localization.render('rightsmanager.creategroup'))
180 </button>
181 </p>
182 #createGroupModal()
183 #editGroupModal()
184 #deleteGroupModal()
185 {{/html}}
186 {{/velocity}}

XWiki AI Chat