[usability] automatically set system user, website user based on roles set
This commit is contained in:
parent
d029eae1f7
commit
ca76432b58
5 changed files with 85 additions and 10 deletions
|
|
@ -17,6 +17,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "",
|
||||
|
|
@ -41,6 +42,7 @@
|
|||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Enabled",
|
||||
|
|
@ -67,6 +69,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"length": 0,
|
||||
|
|
@ -90,6 +93,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Email",
|
||||
|
|
@ -116,6 +120,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "First Name",
|
||||
|
|
@ -141,6 +146,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Middle Name (Optional)",
|
||||
|
|
@ -166,6 +172,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Last Name",
|
||||
|
|
@ -191,6 +198,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Username",
|
||||
|
|
@ -217,6 +225,7 @@
|
|||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Send Welcome Email",
|
||||
|
|
@ -241,6 +250,7 @@
|
|||
"fieldtype": "Check",
|
||||
"hidden": 1,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Unsubscribed",
|
||||
|
|
@ -264,6 +274,7 @@
|
|||
"fieldtype": "Column Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"length": 0,
|
||||
|
|
@ -290,6 +301,7 @@
|
|||
"fieldtype": "Select",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Language",
|
||||
|
|
@ -315,6 +327,7 @@
|
|||
"fieldtype": "Select",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Timezone",
|
||||
|
|
@ -339,6 +352,7 @@
|
|||
"fieldtype": "Attach Image",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "User Image",
|
||||
|
|
@ -363,6 +377,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "More Information",
|
||||
|
|
@ -386,6 +401,7 @@
|
|||
"fieldtype": "Select",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Gender",
|
||||
|
|
@ -412,6 +428,7 @@
|
|||
"fieldtype": "Date",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Birth Date",
|
||||
|
|
@ -437,6 +454,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Location",
|
||||
|
|
@ -460,6 +478,7 @@
|
|||
"fieldtype": "Column Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"length": 0,
|
||||
|
|
@ -482,6 +501,7 @@
|
|||
"fieldtype": "Small Text",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Bio",
|
||||
|
|
@ -505,6 +525,7 @@
|
|||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Mute Sounds",
|
||||
|
|
@ -530,6 +551,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Change Password",
|
||||
|
|
@ -553,6 +575,7 @@
|
|||
"fieldtype": "Password",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Set New Password",
|
||||
|
|
@ -577,6 +600,7 @@
|
|||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Send Password Update Notification",
|
||||
|
|
@ -601,6 +625,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 1,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Reset Password Key",
|
||||
|
|
@ -625,6 +650,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Email Settings",
|
||||
|
|
@ -650,6 +676,7 @@
|
|||
"fieldtype": "Check",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Send Notifications for Transactions I Follow",
|
||||
|
|
@ -674,6 +701,7 @@
|
|||
"fieldtype": "Small Text",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Email Signature",
|
||||
|
|
@ -698,6 +726,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Desktop Background",
|
||||
|
|
@ -722,6 +751,7 @@
|
|||
"fieldtype": "Attach",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Background Image",
|
||||
|
|
@ -746,6 +776,7 @@
|
|||
"fieldtype": "Select",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Background Style",
|
||||
|
|
@ -773,6 +804,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Roles",
|
||||
|
|
@ -796,6 +828,7 @@
|
|||
"fieldtype": "HTML",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Roles HTML",
|
||||
|
|
@ -819,6 +852,7 @@
|
|||
"fieldtype": "Table",
|
||||
"hidden": 1,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Roles Assigned",
|
||||
|
|
@ -845,6 +879,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Modules Access",
|
||||
|
|
@ -869,6 +904,7 @@
|
|||
"fieldtype": "HTML",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Modules HTML",
|
||||
|
|
@ -893,6 +929,7 @@
|
|||
"fieldtype": "Table",
|
||||
"hidden": 1,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Block Modules",
|
||||
|
|
@ -919,6 +956,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 1,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Defaults",
|
||||
|
|
@ -946,6 +984,7 @@
|
|||
"fieldtype": "Table",
|
||||
"hidden": 1,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "User Defaults",
|
||||
|
|
@ -971,6 +1010,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Security Settings",
|
||||
|
|
@ -992,11 +1032,12 @@
|
|||
"bold": 0,
|
||||
"collapsible": 0,
|
||||
"default": "System User",
|
||||
"description": "User Type \"System User\" can access Desktop. \"Website User\" can only be logged into the website and portal pages. ",
|
||||
"description": "If the user has any role checked, then the user becomes a \"System User\". \"System User\" has access to the desktop",
|
||||
"fieldname": "user_type",
|
||||
"fieldtype": "Select",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 1,
|
||||
"label": "User Type",
|
||||
|
|
@ -1008,7 +1049,7 @@
|
|||
"permlevel": 1,
|
||||
"print_hide": 0,
|
||||
"print_hide_if_no_value": 0,
|
||||
"read_only": 0,
|
||||
"read_only": 1,
|
||||
"report_hide": 0,
|
||||
"reqd": 1,
|
||||
"search_index": 0,
|
||||
|
|
@ -1024,6 +1065,7 @@
|
|||
"fieldtype": "Int",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Login After",
|
||||
|
|
@ -1048,6 +1090,7 @@
|
|||
"fieldtype": "Int",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Login Before",
|
||||
|
|
@ -1072,6 +1115,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Restrict IP",
|
||||
|
|
@ -1095,6 +1139,7 @@
|
|||
"fieldtype": "Column Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"length": 0,
|
||||
|
|
@ -1120,6 +1165,7 @@
|
|||
"fieldtype": "Read Only",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Last Login",
|
||||
|
|
@ -1145,6 +1191,7 @@
|
|||
"fieldtype": "Read Only",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Last IP",
|
||||
|
|
@ -1170,6 +1217,7 @@
|
|||
"fieldtype": "Datetime",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Last Active",
|
||||
|
|
@ -1195,6 +1243,7 @@
|
|||
"fieldtype": "Text",
|
||||
"hidden": 1,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Last Known Versions",
|
||||
|
|
@ -1220,6 +1269,7 @@
|
|||
"fieldtype": "Section Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Third Party Authentication",
|
||||
|
|
@ -1243,6 +1293,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Facebook Username",
|
||||
|
|
@ -1266,6 +1317,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Facebook User ID",
|
||||
|
|
@ -1289,6 +1341,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Google User ID",
|
||||
|
|
@ -1312,6 +1365,7 @@
|
|||
"fieldtype": "Column Break",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"length": 0,
|
||||
|
|
@ -1335,6 +1389,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Github User ID",
|
||||
|
|
@ -1358,6 +1413,7 @@
|
|||
"fieldtype": "Data",
|
||||
"hidden": 0,
|
||||
"ignore_user_permissions": 0,
|
||||
"ignore_xss_filter": 0,
|
||||
"in_filter": 0,
|
||||
"in_list_view": 0,
|
||||
"label": "Github Username",
|
||||
|
|
@ -1385,7 +1441,7 @@
|
|||
"istable": 0,
|
||||
"max_attachments": 5,
|
||||
"menu_index": 0,
|
||||
"modified": "2016-01-08 04:50:48.919694",
|
||||
"modified": "2016-03-25 07:17:22.805437",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Core",
|
||||
"name": "User",
|
||||
|
|
@ -1434,5 +1490,7 @@
|
|||
],
|
||||
"read_only": 0,
|
||||
"read_only_onload": 0,
|
||||
"search_fields": "first_name, last_name"
|
||||
"search_fields": "first_name, last_name",
|
||||
"sort_order": "DESC",
|
||||
"track_seen": 0
|
||||
}
|
||||
|
|
@ -40,6 +40,7 @@ class User(Document):
|
|||
self.validate_email_type(self.email)
|
||||
self.add_system_manager_role()
|
||||
self.validate_system_manager_user_type()
|
||||
self.set_system_user()
|
||||
self.check_enable_disable()
|
||||
self.update_gravatar()
|
||||
self.ensure_unique_roles()
|
||||
|
|
@ -88,6 +89,12 @@ class User(Document):
|
|||
self.password_update_mail(new_password)
|
||||
frappe.msgprint(_("New password emailed"))
|
||||
|
||||
def set_system_user(self):
|
||||
if self.user_roles or self.name == 'Administrator':
|
||||
self.user_type = 'System User'
|
||||
else:
|
||||
self.user_type = 'Website User'
|
||||
|
||||
def on_update(self):
|
||||
# clear new password
|
||||
self.share_with_self()
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
execute:frappe.db.sql("""update `tabPatch Log` set patch=replace(patch, '.4_0.', '.v4_0.')""") #2014-05-12
|
||||
frappe.patches.v5_0.convert_to_barracuda_and_utf8mb4
|
||||
frappe.patches.v6_1.rename_file_data
|
||||
execute:frappe.reload_doc('core', 'doctype', 'doctype', force=True) #2016-02-17
|
||||
execute:frappe.reload_doc('core', 'doctype', 'doctype', force=True) #2016-03-25
|
||||
execute:frappe.reload_doc('core', 'doctype', 'docfield', force=True) #2016-02-26
|
||||
execute:frappe.reload_doc('core', 'doctype', 'docperm') #2014-06-24
|
||||
execute:frappe.reload_doc('custom', 'doctype', 'custom_field') #2015-10-19
|
||||
|
|
@ -121,3 +121,4 @@ frappe.patches.v6_24.set_language_as_code
|
|||
frappe.patches.v6_20x.update_insert_after
|
||||
frappe.patches.v6_24.sync_desktop_icons
|
||||
frappe.patches.v6_20x.set_allow_draft_for_print
|
||||
frappe.patches.v6_20x.remove_roles_from_website_user
|
||||
|
|
|
|||
8
frappe/patches/v6_20x/remove_roles_from_website_user.py
Normal file
8
frappe/patches/v6_20x/remove_roles_from_website_user.py
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
import frappe
|
||||
|
||||
def execute():
|
||||
for user_name in frappe.get_all('User', filters={'user_type': 'Website User'}):
|
||||
user = frappe.get_doc('User', user_name)
|
||||
if user.user_roles:
|
||||
user.user_roles = []
|
||||
user.save()
|
||||
|
|
@ -259,12 +259,13 @@ frappe.views.ListView = Class.extend({
|
|||
|
||||
get_avatar_and_id: function(data, without_workflow) {
|
||||
data._without_workflow = without_workflow;
|
||||
|
||||
var seen = JSON.parse(data._seen);
|
||||
|
||||
data.css_seen = '';
|
||||
if(seen && seen.indexOf(frappe.session.user) !== -1) {
|
||||
data.css_seen = 'seen'
|
||||
|
||||
if(data._seen) {
|
||||
var seen = JSON.parse(data._seen);
|
||||
if(seen && seen.indexOf(frappe.session.user) !== -1) {
|
||||
data.css_seen = 'seen'
|
||||
}
|
||||
}
|
||||
|
||||
return frappe.render_template("list_item_subject", data);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue