1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
import _ from 'underscore';
import Modal from '../../components/common/modals';
import '../../components/common/select-list';
import './templates';
function getSearchUrl (permission, permissionTemplate) {
return baseUrl + '/api/permissions/template_groups?ps=100&permission=' + permission.key +
'&templateId=' + permissionTemplate.id;
}
export default Modal.extend({
template: Templates['permission-templates-groups'],
onRender: function () {
this._super();
new window.SelectList({
el: this.$('#permission-templates-groups'),
width: '100%',
readOnly: false,
focusSearch: false,
format: function (item) {
return item.name;
},
queryParam: 'q',
searchUrl: getSearchUrl(this.options.permission, this.options.permissionTemplate),
selectUrl: baseUrl + '/api/permissions/add_group_to_template',
deselectUrl: baseUrl + '/api/permissions/remove_group_from_template',
extra: {
permission: this.options.permission.key,
templateId: this.options.permissionTemplate.id
},
selectParameter: 'groupName',
selectParameterValue: 'name',
parse: function (r) {
this.more = false;
return r.groups;
}
});
},
onDestroy: function () {
if (this.options.refresh) {
this.options.refresh();
}
this._super();
},
serializeData: function () {
return _.extend(Modal.prototype.serializeData.apply(this, arguments), {
permissionName: this.options.permission.name,
permissionTemplateName: this.options.permissionTemplate.name
});
}
});
|