-
Notifications
You must be signed in to change notification settings - Fork 1
/
role_detail.widget.js.tmpl
58 lines (52 loc) · 2.54 KB
/
role_detail.widget.js.tmpl
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
55
56
57
58
Widget.types.role_detail = {
initialize: function() {
var _this = this;
this.content = Widget.parseHTML("{{includeTemplate=edit}}");
this.right_content = Widget.parseHTML("{{includeTemplate=right}}");
this.right_content.find('[name="page_id[]"]').prepareWidget();
this.content.find('div.hide_if_not_saved').hide();
Widget.callStatic('detail', 'create_for_instance', this);
var rights_container = this.content.find('.rights_container');
rights_container.delegate('.delete_right', 'click', function(event) {
var delete_this_right = jQuery(this);
var right_content = delete_this_right.closest('.role-rights');
right_content.remove();
});
var add_new_right_button = jQuery('<a/>').addClass('add-new-item add_entry').text(' ');
add_new_right_button.click(function() {
_this.right_content.clone().appendTo(rights_container);
});
rights_container.after(add_new_right_button);
},
fill_data: function() {
var _this = this;
this.detail_widget.disable();
this.roleData(function(role_data) {
this.content.find("input[name='role_key']").val(role_data.RoleKey).prop('disabled', role_data.RoleIsUsed);
this.content.find("textarea[name='description']").val(role_data.Description);
this.content.find(".updated_info").text(role_data.UpdatedInfo);
this.content.find(".created_info").text(role_data.CreatedInfo);
this.content.find('div.hide_if_not_saved').show();
var rights_container = this.content.find('.rights_container').empty();
jQuery.each(role_data.rights, function(right_id, rights_data) {
var right_content = _this.right_content.clone();
right_content.find('select[name="page_id[]"]').val(rights_data.PageId);
right_content.find('input[name="is_inherited[]"]').prop('checked', rights_data.IsInherited);
right_content.find('input[name="may_edit_page_details[]"]').prop('checked', rights_data.MayEditPageDetails);
right_content.find('input[name="may_edit_page_contents[]"]').prop('checked', rights_data.MayEditPageContents);
right_content.find('input[name="may_delete[]"]').prop('checked', rights_data.MayDelete);
right_content.find('input[name="may_create_children[]"]').prop('checked', rights_data.MayCreateChildren);
right_content.find('input[name="may_view_page[]"]').prop('checked', rights_data.MayViewPage);
right_content.appendTo(rights_container);
});
this.detail_widget.set_title(this.detail_widget.settings.title = role_data.RoleKey);
this.detail_widget.enable();
});
},
settings: {
detail_widget: {
title: "{{writeString=wns.role.create}}",
width: 540
}
}
};