[cleanup] frappe.get_user()version-14
@@ -263,17 +263,33 @@ def set_user(username): | |||||
"""Set current user. | """Set current user. | ||||
:param username: **User** name to set as current user.""" | :param username: **User** name to set as current user.""" | ||||
from frappe.utils.user import User | |||||
local.session.user = username | local.session.user = username | ||||
local.session.sid = username | local.session.sid = username | ||||
local.cache = {} | local.cache = {} | ||||
local.form_dict = _dict() | local.form_dict = _dict() | ||||
local.jenv = None | local.jenv = None | ||||
local.user_obj = None | |||||
local.session.data = _dict() | local.session.data = _dict() | ||||
local.user = User(username) | |||||
local.role_permissions = {} | local.role_permissions = {} | ||||
local.new_doc_templates = {} | local.new_doc_templates = {} | ||||
def get_user(): | |||||
from frappe.utils.user import User | |||||
if not local.user_obj: | |||||
local.user_obj = User(local.session.user) | |||||
return local.user_obj | |||||
def get_roles(username=None): | |||||
"""Returns roles of current user.""" | |||||
if not local.session: | |||||
return ["Guest"] | |||||
if username: | |||||
import frappe.utils.user | |||||
return frappe.utils.user.get_roles(username) | |||||
else: | |||||
return get_user().get_roles() | |||||
def get_request_header(key, default=None): | def get_request_header(key, default=None): | ||||
"""Return HTTP request header. | """Return HTTP request header. | ||||
@@ -385,21 +401,6 @@ def clear_cache(user=None, doctype=None): | |||||
frappe.local.role_permissions = {} | frappe.local.role_permissions = {} | ||||
def get_roles(username=None): | |||||
"""Returns roles of current user.""" | |||||
if not local.session: | |||||
return ["Guest"] | |||||
return get_user(username).get_roles() | |||||
def get_user(username): | |||||
"""Returns `frappe.utils.user.User` instance of given user.""" | |||||
from frappe.utils.user import User | |||||
if not username or username == local.session.user: | |||||
return local.user | |||||
else: | |||||
return User(username) | |||||
def has_permission(doctype, ptype="read", doc=None, user=None, verbose=False): | def has_permission(doctype, ptype="read", doc=None, user=None, verbose=False): | ||||
"""Raises `frappe.PermissionError` if not permitted. | """Raises `frappe.PermissionError` if not permitted. | ||||
@@ -74,9 +74,6 @@ class HTTPRequest: | |||||
from frappe.translate import guess_language | from frappe.translate import guess_language | ||||
frappe.local.lang = guess_language(lang_codes) | frappe.local.lang = guess_language(lang_codes) | ||||
def setup_user(self): | |||||
frappe.local.user = frappe.utils.user.User() | |||||
def get_db_name(self): | def get_db_name(self): | ||||
"""get database name from conf""" | """get database name from conf""" | ||||
return conf.db_name | return conf.db_name | ||||
@@ -124,7 +124,7 @@ def get_fullnames(): | |||||
def get_user(bootinfo): | def get_user(bootinfo): | ||||
"""get user info""" | """get user info""" | ||||
bootinfo.user = frappe.user.load_user() | |||||
bootinfo.user = frappe.get_user().load_user() | |||||
def add_home_page(bootinfo, docs): | def add_home_page(bootinfo, docs): | ||||
"""load home page""" | """load home page""" | ||||
@@ -42,4 +42,4 @@ def get_unread_messages(): | |||||
WHERE comment_doctype IN ('My Company', 'Message') | WHERE comment_doctype IN ('My Company', 'Message') | ||||
AND comment_docname = %s | AND comment_docname = %s | ||||
AND ifnull(docstatus,0)=0 | AND ifnull(docstatus,0)=0 | ||||
""", (frappe.user.name,))[0][0] | |||||
""", (frappe.session.user,))[0][0] |
@@ -23,7 +23,7 @@ def get_doctypes(): | |||||
return [r[0] for r in frappe.db.sql("""select name from `tabDocType` | return [r[0] for r in frappe.db.sql("""select name from `tabDocType` | ||||
where allow_import = 1""")] | where allow_import = 1""")] | ||||
else: | else: | ||||
return frappe.user._get("can_import") | |||||
return frappe.get_user()._get("can_import") | |||||
@frappe.whitelist() | @frappe.whitelist() | ||||
def get_doctype_options(): | def get_doctype_options(): | ||||
@@ -67,7 +67,7 @@ class Database: | |||||
def validate_query(self, q): | def validate_query(self, q): | ||||
"""Throw exception for dangerous queries: `ALTER`, `DROP`, `TRUNCATE` if not `Administrator`.""" | """Throw exception for dangerous queries: `ALTER`, `DROP`, `TRUNCATE` if not `Administrator`.""" | ||||
cmd = q.strip().lower().split()[0] | cmd = q.strip().lower().split()[0] | ||||
if cmd in ['alter', 'drop', 'truncate'] and frappe.user.name != 'Administrator': | |||||
if cmd in ['alter', 'drop', 'truncate'] and frappe.session.user != 'Administrator': | |||||
frappe.throw(_("Not permitted"), frappe.PermissionError) | frappe.throw(_("Not permitted"), frappe.PermissionError) | ||||
def sql(self, query, values=(), as_dict = 0, as_list = 0, formatted = 0, | def sql(self, query, values=(), as_dict = 0, as_list = 0, formatted = 0, | ||||
@@ -34,7 +34,7 @@ def getpage(): | |||||
frappe.response.docs.append(doc) | frappe.response.docs.append(doc) | ||||
def has_permission(page): | def has_permission(page): | ||||
if frappe.user.name == "Administrator" or "System Manager" in frappe.user.get_roles(): | |||||
if frappe.session.user == "Administrator" or "System Manager" in frappe.get_roles(): | |||||
return True | return True | ||||
page_roles = [d.role for d in page.get("roles")] | page_roles = [d.role for d in page.get("roles")] | ||||
@@ -50,7 +50,7 @@ def add(args=None): | |||||
"priority": args.get("priority", "Medium"), | "priority": args.get("priority", "Medium"), | ||||
"status": "Open", | "status": "Open", | ||||
"date": args.get('date', nowdate()), | "date": args.get('date', nowdate()), | ||||
"assigned_by": args.get('assigned_by', frappe.user.name), | |||||
"assigned_by": args.get('assigned_by', frappe.session.user), | |||||
}).insert(ignore_permissions=True) | }).insert(ignore_permissions=True) | ||||
# set assigned_to if field exists | # set assigned_to if field exists | ||||
@@ -43,7 +43,7 @@ def getdoc(doctype, name, user=None): | |||||
raise | raise | ||||
if doc and not name.startswith('_'): | if doc and not name.startswith('_'): | ||||
frappe.user.update_recent(doctype, name) | |||||
frappe.get_user().update_recent(doctype, name) | |||||
frappe.response.docs.append(doc) | frappe.response.docs.append(doc) | ||||
@@ -23,7 +23,7 @@ def savedocs(): | |||||
# update recent documents | # update recent documents | ||||
run_onload(doc) | run_onload(doc) | ||||
frappe.user.update_recent(doc.doctype, doc.name) | |||||
frappe.get_user().update_recent(doc.doctype, doc.name) | |||||
send_updated_docs(doc) | send_updated_docs(doc) | ||||
except Exception: | except Exception: | ||||
@@ -57,7 +57,7 @@ def get_notifications_for_modules(config, notification_count): | |||||
return open_count_module | return open_count_module | ||||
def get_notifications_for_doctypes(config, notification_count): | def get_notifications_for_doctypes(config, notification_count): | ||||
can_read = frappe.user.get_can_read() | |||||
can_read = frappe.get_user().get_can_read() | |||||
open_count_doctype = {} | open_count_doctype = {} | ||||
for d in config.for_doctype: | for d in config.for_doctype: | ||||
@@ -107,7 +107,7 @@ def clear_doctype_notifications(doc, method=None, *args, **kwargs): | |||||
def get_notification_info_for_boot(): | def get_notification_info_for_boot(): | ||||
out = get_notifications() | out = get_notifications() | ||||
config = get_notification_config() | config = get_notification_config() | ||||
can_read = frappe.user.get_can_read() | |||||
can_read = frappe.get_user().get_can_read() | |||||
conditions = {} | conditions = {} | ||||
module_doctypes = {} | module_doctypes = {} | ||||
doctype_info = dict(frappe.db.sql("""select name, module from tabDocType""")) | doctype_info = dict(frappe.db.sql("""select name, module from tabDocType""")) | ||||
@@ -20,7 +20,7 @@ def get_list(arg=None): | |||||
frappe.db.sql("""UPDATE `tabComment` | frappe.db.sql("""UPDATE `tabComment` | ||||
set docstatus = 1 where comment_doctype in ('My Company', 'Message') | set docstatus = 1 where comment_doctype in ('My Company', 'Message') | ||||
and comment_docname = %s | and comment_docname = %s | ||||
""", frappe.user.name) | |||||
""", frappe.session.user) | |||||
delete_notification_count_for("Messages") | delete_notification_count_for("Messages") | ||||
@@ -102,9 +102,9 @@ def _notify(contact, txt, subject=None): | |||||
frappe.sendmail(\ | frappe.sendmail(\ | ||||
recipients=contact, | recipients=contact, | ||||
sender= frappe.db.get_value("User", frappe.session.user, "email"), | sender= frappe.db.get_value("User", frappe.session.user, "email"), | ||||
subject=subject or "New Message from " + get_fullname(frappe.user.name), | |||||
subject=subject or "New Message from " + get_fullname(frappe.session.user), | |||||
message=frappe.get_template("templates/emails/new_message.html").render({ | message=frappe.get_template("templates/emails/new_message.html").render({ | ||||
"from": get_fullname(frappe.user.name), | |||||
"from": get_fullname(frappe.session.user), | |||||
"message": txt, | "message": txt, | ||||
"link": get_url() | "link": get_url() | ||||
}), | }), | ||||
@@ -9,8 +9,7 @@ import frappe.share | |||||
class User: | class User: | ||||
""" | """ | ||||
A user object is created at the beginning of every request with details of the use. | |||||
The global user object is `frappe.user` | |||||
A user permission object can be accessed as `frappe.get_user()` | |||||
""" | """ | ||||
def __init__(self, name=''): | def __init__(self, name=''): | ||||
self.defaults = None | self.defaults = None | ||||