rename doctype, change the css
This commit is contained in:
parent
b63f4400f4
commit
ba3eca3369
11 changed files with 419 additions and 6 deletions
|
|
@ -0,0 +1,55 @@
|
|||
// Copyright (c) 2016, Frappe Technologies and contributors
|
||||
// For license information, please see license.txt
|
||||
|
||||
frappe.ui.form.on('Role Permission for Page and Report', {
|
||||
refresh: function(frm) {
|
||||
frm.disable_save();
|
||||
frm.role_area.hide();
|
||||
},
|
||||
|
||||
onload: function(frm) {
|
||||
if(!frm.roles_editor) {
|
||||
frm.role_area = $('<div style="min-height: 300px">')
|
||||
.appendTo(frm.fields_dict.roles_html.wrapper);
|
||||
frm.roles_editor = new frappe.RoleEditor(frm.role_area);
|
||||
}
|
||||
},
|
||||
|
||||
page: function(frm) {
|
||||
frm.trigger("get_roles")
|
||||
},
|
||||
|
||||
report: function(frm){
|
||||
frm.trigger("get_roles")
|
||||
},
|
||||
|
||||
get_roles: function(frm) {
|
||||
frm.role_area.show();
|
||||
|
||||
return frappe.call({
|
||||
method:"get_custom_roles",
|
||||
doc: frm.doc,
|
||||
callback: function(r) {
|
||||
refresh_field('roles')
|
||||
frm.roles_editor.show()
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
update: function(frm) {
|
||||
if(frm.roles_editor) {
|
||||
frm.roles_editor.set_roles_in_table()
|
||||
}
|
||||
|
||||
return frappe.call({
|
||||
method:"set_custom_roles",
|
||||
doc: frm.doc,
|
||||
callback: function(r) {
|
||||
refresh_field('roles')
|
||||
frm.roles_editor.show()
|
||||
frappe.msgprint(__("Successfully Updated"))
|
||||
frm.reload_doc()
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
|
@ -0,0 +1,300 @@
|
|||
{
|
||||
"allow_copy": 1,
|
||||
"allow_import": 0,
|
||||
"allow_rename": 0,
|
||||
"beta": 0,
|
||||
"creation": "2017-02-13 17:33:25.157332",
|
||||
"custom": 0,
|
||||
"docstatus": 0,
|
||||
"doctype": "DocType",
|
||||
"document_type": "",
|
||||
"editable_grid": 1,
|
||||
"engine": "InnoDB",
|
||||
"fields": [
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "set_role_for",
|
||||
"fieldtype": "Select",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Set Role For",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "\nPage\nReport",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"depends_on": "eval:doc.set_role_for == 'Page'",
|
||||
"fieldname": "page",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Page",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Page",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"depends_on": "eval:doc.set_role_for == 'Report'",
|
||||
"fieldname": "report",
|
||||
"fieldtype": "Link",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Report",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Report",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "roles_permission",
|
||||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Allow Roles",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"depends_on": "",
|
||||
"fieldname": "roles_html",
|
||||
"fieldtype": "HTML",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Roles Html",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "roles",
|
||||
"fieldtype": "Table",
|
||||
"hidden": 1,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Roles",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Has Role",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 1,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "section_break_8",
|
||||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
},
|
||||
{
|
||||
"allow_on_submit": 0,
|
||||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"columns": 0,
|
||||
"fieldname": "update",
|
||||
"fieldtype": "Button",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_global_search": 0,
|
||||
"in_list_view": 0,
|
||||
"in_standard_filter": 0,
|
||||
"label": "Update",
|
||||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "",
|
||||
"permlevel": 0,
|
||||
"precision": "",
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"remember_last_selected_value": 0,
|
||||
"report_hide": 0,
|
||||
"reqd": 0,
|
||||
"search_index": 0,
|
||||
"set_only_once": 0,
|
||||
"unique": 0
|
||||
}
|
||||
],
|
||||
"hide_heading": 0,
|
||||
"hide_toolbar": 1,
|
||||
"idx": 0,
|
||||
"image_view": 0,
|
||||
"in_create": 0,
|
||||
"in_dialog": 0,
|
||||
"is_submittable": 0,
|
||||
"issingle": 1,
|
||||
"istable": 0,
|
||||
"max_attachments": 0,
|
||||
"modified": "2017-03-02 16:06:16.295111",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Core",
|
||||
"name": "Role Permission for Page and Report",
|
||||
"name_case": "",
|
||||
"owner": "Administrator",
|
||||
"permissions": [
|
||||
{
|
||||
"amend": 0,
|
||||
"apply_user_permissions": 0,
|
||||
"cancel": 0,
|
||||
"create": 1,
|
||||
"delete": 1,
|
||||
"email": 1,
|
||||
"export": 0,
|
||||
"if_owner": 0,
|
||||
"import": 0,
|
||||
"permlevel": 0,
|
||||
"print": 1,
|
||||
"read": 1,
|
||||
"report": 0,
|
||||
"role": "System Manager",
|
||||
"set_user_permissions": 0,
|
||||
"share": 1,
|
||||
"submit": 0,
|
||||
"write": 1
|
||||
}
|
||||
],
|
||||
"quick_entry": 1,
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"show_name_in_global_search": 0,
|
||||
"sort_field": "modified",
|
||||
"sort_order": "DESC",
|
||||
"track_changes": 0,
|
||||
"track_seen": 0
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Copyright (c) 2015, Frappe Technologies and contributors
|
||||
# For license information, please see license.txt
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
from frappe.model.document import Document
|
||||
|
||||
class RolePermissionforPageandReport(Document):
|
||||
def get_custom_roles(self):
|
||||
args = self.get_args()
|
||||
self.set('roles', [])
|
||||
|
||||
name = frappe.db.get_value('Custom Role', args, "name")
|
||||
if name:
|
||||
doc = frappe.get_doc('Custom Role', name)
|
||||
else:
|
||||
doctype = self.set_role_for
|
||||
docname = self.page if self.set_role_for == 'Page' else self.report
|
||||
doc = frappe.get_doc(doctype, docname)
|
||||
|
||||
self.set('roles', doc.roles)
|
||||
|
||||
def set_custom_roles(self):
|
||||
args = self.get_args()
|
||||
name = frappe.db.get_value('Custom Role', args, "name")
|
||||
|
||||
args.update({
|
||||
'doctype': 'Custom Role',
|
||||
'roles': self.roles
|
||||
})
|
||||
|
||||
if name:
|
||||
doc = frappe.get_doc("Custom Role", name)
|
||||
doc.set('roles', self.roles)
|
||||
doc.save()
|
||||
else:
|
||||
frappe.get_doc(args).insert()
|
||||
|
||||
def get_args(self, row=None):
|
||||
name = self.page if self.set_role_for == 'Page' else self.report
|
||||
check_for_field = self.set_role_for.replace(" ","_").lower()
|
||||
|
||||
return {
|
||||
check_for_field: name
|
||||
}
|
||||
|
||||
def update_status(self):
|
||||
return frappe.render_template
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
"_liked_by": "[]",
|
||||
"allow_copy": 0,
|
||||
"allow_import": 1,
|
||||
"allow_rename": 1,
|
||||
|
|
@ -1145,7 +1144,7 @@
|
|||
"length": 0,
|
||||
"no_copy": 0,
|
||||
"options": "Has Role",
|
||||
"permlevel": 0,
|
||||
"permlevel": 1,
|
||||
"precision": "",
|
||||
"print_hide": 1,
|
||||
"print_hide_if_no_value": 0,
|
||||
|
|
@ -1878,7 +1877,7 @@
|
|||
"istable": 0,
|
||||
"max_attachments": 5,
|
||||
"menu_index": 0,
|
||||
"modified": "2017-02-22 16:47:32.546965",
|
||||
"modified": "2017-03-02 08:00:49.978706",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Core",
|
||||
"name": "User",
|
||||
|
|
|
|||
|
|
@ -462,7 +462,7 @@ def get_timezones():
|
|||
def get_all_roles(arg=None):
|
||||
"""return all roles"""
|
||||
return [r[0] for r in frappe.db.sql("""select name from tabRole
|
||||
where name not in ('Administrator', 'Guest', 'All') and not disabled order by name""")]
|
||||
where name not in ('Administrator', 'Guest', 'All') and not disabled and desk_access = '1' order by name""")]
|
||||
|
||||
@frappe.whitelist()
|
||||
def get_roles(arg=None):
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import frappe
|
|||
def execute():
|
||||
for data in frappe.get_all('User', fields = ["name"]):
|
||||
doc = frappe.get_doc('User', data.name)
|
||||
doc.set('roles',[])
|
||||
roles = [{'role': d.role} for d in doc.user_roles]
|
||||
doc.set('roles', roles)
|
||||
for role in doc.roles:
|
||||
|
|
|
|||
|
|
@ -3,6 +3,10 @@
|
|||
width: 50%;
|
||||
float: left;
|
||||
}
|
||||
.role {
|
||||
padding-left: 5px;
|
||||
padding-top: 2px;
|
||||
}
|
||||
table.user-perm {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
|
|
|
|||
|
|
@ -461,7 +461,7 @@ frappe.ui.form.Timeline = Class.extend({
|
|||
if(data[key] && data[key].length) {
|
||||
parts = (data[key] || []).map(function(p) {
|
||||
var df = frappe.meta.get_docfield(me.frm.doctype, p[0], me.frm.docname);
|
||||
if(!df.hidden) {
|
||||
if(df && !df.hidden) {
|
||||
var field_display_status = frappe.perm.get_field_display_status(df, null,
|
||||
me.frm.perm);
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,7 @@ frappe.RoleEditor = Class.extend({
|
|||
$(me.wrapper).append(repl('<div class="user-role" \
|
||||
data-user-role="%(role_value)s">\
|
||||
<input type="checkbox" style="margin-top:0px;"> \
|
||||
<a href="#" class="grey">%(role_display)s</a>\
|
||||
<a href="#" class="grey role">%(role_display)s</a>\
|
||||
</div>', {role_value: role,role_display:__(role)}));
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,11 @@
|
|||
float: left;
|
||||
}
|
||||
|
||||
.role {
|
||||
padding-left: 5px;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
table.user-perm {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue