Pratik Vyas | c1e6e4c | 2011-06-08 14:37:15 +0530 | [diff] [blame] | 1 | import webnotes |
Anand Doshi | 90f6e55 | 2012-01-16 14:13:39 +0530 | [diff] [blame] | 2 | import webnotes.defs |
Pratik Vyas | c1e6e4c | 2011-06-08 14:37:15 +0530 | [diff] [blame] | 3 | from webnotes.utils import cint |
| 4 | |
Pratik Vyas | c1e6e4c | 2011-06-08 14:37:15 +0530 | [diff] [blame] | 5 | def on_login(login_manager): |
Rushabh Mehta | bedc1fe | 2012-01-17 18:17:06 +0530 | [diff] [blame] | 6 | """ |
| 7 | called from login manager, before login |
| 8 | """ |
| 9 | try: |
Rushabh Mehta | 88ba7b8 | 2012-01-18 06:18:52 +0100 | [diff] [blame] | 10 | if login_manager.user not in ('Guest', None, ''): |
| 11 | import server_tools.gateway_utils |
| 12 | server_tools.gateway_utils.check_login(login_manager.user) |
Rushabh Mehta | bedc1fe | 2012-01-17 18:17:06 +0530 | [diff] [blame] | 13 | except ImportError: |
| 14 | pass |
Pratik Vyas | c1e6e4c | 2011-06-08 14:37:15 +0530 | [diff] [blame] | 15 | |
Pratik Vyas | c1e6e4c | 2011-06-08 14:37:15 +0530 | [diff] [blame] | 16 | |
Pratik Vyas | c1e6e4c | 2011-06-08 14:37:15 +0530 | [diff] [blame] | 17 | def on_login_post_session(login_manager): |
Rushabh Mehta | bedc1fe | 2012-01-17 18:17:06 +0530 | [diff] [blame] | 18 | """ |
| 19 | called after login |
| 20 | update login_from and delete parallel sessions |
| 21 | """ |
Anand Doshi | b63a007 | 2012-01-03 16:11:04 +0530 | [diff] [blame] | 22 | # Clear previous sessions i.e. logout previous log-in attempts |
Rushabh Mehta | d31bf62 | 2012-01-19 15:09:49 +0530 | [diff] [blame] | 23 | exception_list = ['demo@webnotestech.com', 'Administrator', 'Guest'] |
Anand Doshi | 9fdee38 | 2012-01-03 11:26:00 +0530 | [diff] [blame] | 24 | if webnotes.session['user'] not in exception_list: |
Anand Doshi | b63a007 | 2012-01-03 16:11:04 +0530 | [diff] [blame] | 25 | sid_list = webnotes.conn.sql(""" |
Rushabh Mehta | bedc1fe | 2012-01-17 18:17:06 +0530 | [diff] [blame] | 26 | DELETE FROM `tabSessions` |
Anand Doshi | b63a007 | 2012-01-03 16:11:04 +0530 | [diff] [blame] | 27 | WHERE |
| 28 | user=%s AND |
Rushabh Mehta | bedc1fe | 2012-01-17 18:17:06 +0530 | [diff] [blame] | 29 | sid!=%s""", \ |
Anand Doshi | b63a007 | 2012-01-03 16:11:04 +0530 | [diff] [blame] | 30 | (webnotes.session['user'], webnotes.session['sid']), as_list=1) |
Rushabh Mehta | 49ebfb6 | 2012-01-20 15:32:18 +0530 | [diff] [blame] | 31 | |
| 32 | def doclist_all(doc, method): |
| 33 | """doclist trigger called from webnotes.model.doclist on any event""" |
| 34 | import home |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 35 | home.update_feed(doc, method) |
| 36 | |
| 37 | def boot_session(bootinfo): |
| 38 | """boot session - send website info if guest""" |
| 39 | import webnotes |
| 40 | import webnotes.model.doc |
| 41 | |
| 42 | if webnotes.session['user']=='Guest': |
| 43 | bootinfo['topbar'] = webnotes.model.doc.getsingle('Top Bar Settings') |
| 44 | bootinfo['topbaritems'] = webnotes.conn.sql("""select label, std_page, custom_page, parent_label |
Rushabh Mehta | 3a751e8 | 2012-01-27 18:00:14 +0530 | [diff] [blame] | 45 | from `tabTop Bar Item` where parent='Top Bar Settings' order by idx asc""", as_dict=1) |
Rushabh Mehta | 865c00a | 2012-01-24 14:33:21 +0530 | [diff] [blame] | 46 | else: |
| 47 | bootinfo['letter_heads'] = get_letter_heads() |
| 48 | |
| 49 | def get_letter_heads(): |
| 50 | """load letter heads with startup""" |
| 51 | import webnotes |
| 52 | ret = webnotes.conn.sql("select name, content from `tabLetter Head` where ifnull(disabled,0)=0") |
Rushabh Mehta | 4b1fe05 | 2012-01-25 15:06:28 +0530 | [diff] [blame] | 53 | return dict(ret) |