[login] redirect to desk for logged in system user
This commit is contained in:
parent
a8d564a6c9
commit
1dcea77fa6
4 changed files with 13 additions and 4 deletions
|
|
@ -85,6 +85,7 @@ class LoginManager:
|
|||
self.user = None
|
||||
self.info = None
|
||||
self.full_name = None
|
||||
self.user_type = None
|
||||
|
||||
if frappe.local.form_dict.get('cmd')=='login' or frappe.local.request.path=="/api/method/login":
|
||||
self.login()
|
||||
|
|
@ -101,6 +102,7 @@ class LoginManager:
|
|||
self.info = frappe.db.get_value("User", self.user,
|
||||
["user_type", "first_name", "last_name", "user_image"], as_dict=1)
|
||||
self.full_name = " ".join(filter(None, [self.info.first_name, self.info.last_name]))
|
||||
self.user_type = self.info.user_type
|
||||
|
||||
self.run_trigger('on_login')
|
||||
self.validate_ip_address()
|
||||
|
|
@ -126,7 +128,8 @@ class LoginManager:
|
|||
|
||||
def make_session(self, resume=False):
|
||||
# start session
|
||||
frappe.local.session_obj = Session(user=self.user, resume=resume, full_name=self.full_name)
|
||||
frappe.local.session_obj = Session(user=self.user, resume=resume,
|
||||
full_name=self.full_name, user_type=self.user_type)
|
||||
|
||||
# reset user if changed to Guest
|
||||
self.user = frappe.local.session_obj.user
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
// route urls to their virtual pages
|
||||
|
||||
// re-route map (for rename)
|
||||
frappe.re_route = {};
|
||||
frappe.re_route = {"#login": ""};
|
||||
frappe.route_titles = {};
|
||||
frappe.route_history = [];
|
||||
frappe.view_factory = {};
|
||||
|
|
@ -12,7 +12,7 @@ frappe.view_factories = [];
|
|||
frappe.route_options = null;
|
||||
|
||||
frappe.route = function() {
|
||||
if(frappe.re_route[window.location.hash]) {
|
||||
if(frappe.re_route[window.location.hash] !== undefined) {
|
||||
// after saving a doc, for example,
|
||||
// "New DocType 1" and the renamed "TestDocType", both exist in history
|
||||
// now if we try to go back,
|
||||
|
|
|
|||
|
|
@ -125,9 +125,10 @@ def get():
|
|||
return bootinfo
|
||||
|
||||
class Session:
|
||||
def __init__(self, user, resume=False, full_name=None):
|
||||
def __init__(self, user, resume=False, full_name=None, user_type=None):
|
||||
self.sid = cstr(frappe.form_dict.get('sid') or unquote(frappe.request.cookies.get('sid', 'Guest')))
|
||||
self.user = user
|
||||
self.user_type = user_type
|
||||
self.full_name = full_name
|
||||
self.data = frappe._dict({'data': frappe._dict({})})
|
||||
self.time_diff = None
|
||||
|
|
@ -156,6 +157,7 @@ class Session:
|
|||
self.data.data.last_updated = frappe.utils.now()
|
||||
self.data.data.session_expiry = get_expiry_period()
|
||||
self.data.data.full_name = self.full_name
|
||||
self.data.data.user_type = self.user_type
|
||||
self.data.data.session_country = get_geo_ip_country(frappe.local.request_ip)
|
||||
|
||||
# insert session
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@ class SignupDisabledError(frappe.PermissionError): pass
|
|||
no_cache = True
|
||||
|
||||
def get_context(context):
|
||||
if frappe.session.user != "Guest" and frappe.session.data.user_type=="System User":
|
||||
frappe.local.flags.redirect_location = "/desk"
|
||||
raise frappe.Redirect
|
||||
|
||||
# get settings from site config
|
||||
context["title"] = "Login"
|
||||
context["disable_signup"] = frappe.utils.cint(frappe.db.get_value("Website Settings", "Website Settings", "disable_signup"))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue