Browse Source

rename doctype, change the css

version-14
Rohit Waghchaure 8 years ago
parent
commit
ba3eca3369
11 changed files with 419 additions and 6 deletions
  1. +0
    -0
      frappe/core/doctype/role_permission_for_page_and_report/__init__.py
  2. +55
    -0
      frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js
  3. +300
    -0
      frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json
  4. +49
    -0
      frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.py
  5. +2
    -3
      frappe/core/doctype/user/user.json
  6. +1
    -1
      frappe/core/doctype/user/user.py
  7. +1
    -0
      frappe/patches/v7_3/copy_user_roles_to_has_roles.py
  8. +4
    -0
      frappe/public/css/role_editor.css
  9. +1
    -1
      frappe/public/js/frappe/form/footer/timeline.js
  10. +1
    -1
      frappe/public/js/frappe/roles_editor.js
  11. +5
    -0
      frappe/public/less/role_editor.less

+ 0
- 0
frappe/core/doctype/role_permission_for_page_and_report/__init__.py View File


+ 55
- 0
frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.js View File

@@ -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()
}
})
}
});

+ 300
- 0
frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.json View File

@@ -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
}

+ 49
- 0
frappe/core/doctype/role_permission_for_page_and_report/role_permission_for_page_and_report.py View File

@@ -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

+ 2
- 3
frappe/core/doctype/user/user.json View File

@@ -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",


+ 1
- 1
frappe/core/doctype/user/user.py View File

@@ -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):


+ 1
- 0
frappe/patches/v7_3/copy_user_roles_to_has_roles.py View File

@@ -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:

+ 4
- 0
frappe/public/css/role_editor.css View File

@@ -3,6 +3,10 @@
width: 50%;
float: left;
}
.role {
padding-left: 5px;
padding-top: 2px;
}
table.user-perm {
border-collapse: collapse;
width: 100%;


+ 1
- 1
frappe/public/js/frappe/form/footer/timeline.js View File

@@ -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);



+ 1
- 1
frappe/public/js/frappe/roles_editor.js View File

@@ -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)}));
});



+ 5
- 0
frappe/public/less/role_editor.less View File

@@ -4,6 +4,11 @@
float: left;
}

.role {
padding-left: 5px;
padding-top: 2px;
}

table.user-perm {
border-collapse: collapse;
width: 100%;


Loading…
Cancel
Save