Merge branch 'latest' of github.com:webnotes/erpnext into latest
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index d9fbbed..690ca64 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -11,6 +11,9 @@
try:
import server_tools.gateway_utils
server_tools.gateway_utils.check_login(login_manager.user)
+
+ login_as(login_manager)
+
except ImportError:
pass
@@ -65,3 +68,27 @@
ret = webnotes.conn.sql("""select name, content from `tabLetter Head`
where ifnull(disabled,0)=0""")
return dict(ret)
+
+
+def login_as(login_manager):
+ """
+ Login as functionality -- allows signin from signin.erpnext.com
+ """
+ # login as user
+ user = webnotes.form.getvalue('login_as')
+ if user:
+ if isinstance(webnotes.session, dict):
+ webnotes.session['user'] = user
+ else:
+ webnotes.session = {'user': user}
+
+ login_manager.user = user
+
+ if hasattr(webnotes.defs, 'validate_ip'):
+ msg = getattr(webnotes.defs, 'validate_ip')()
+ if msg: webnotes.msgprint(msg, raise_exception=1)
+
+ # alisaing here... so check if the user is disabled
+ if not webnotes.conn.sql("select ifnull(enabled,0) from tabProfile where name=%s", user)[0][0]:
+ # throw execption
+ webnotes.msgprint("Authentication Failed", raise_exception=1)