From d968eeea29f42526c2463a4189ccc2c8627758a1 Mon Sep 17 00:00:00 2001 From: Jogi Hofmüller Date: Tue, 2 Aug 2011 09:05:24 +0000 Subject: - login works now git-svn-id: https://svn.spreadspace.org/mur.sat@90 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- tools/mmd/MmdCommands.py | 10 ++++++++-- tools/mmd/MmdSession.py | 2 ++ tools/mmd/MmdUser.py | 7 +++++++ tools/mmd/MmdWidgets.py | 17 ++++++++++------- tools/mmd/mmd.wsgi | 1 - 5 files changed, 27 insertions(+), 10 deletions(-) (limited to 'tools/mmd') diff --git a/tools/mmd/MmdCommands.py b/tools/mmd/MmdCommands.py index 41f1178..57401ad 100644 --- a/tools/mmd/MmdCommands.py +++ b/tools/mmd/MmdCommands.py @@ -16,8 +16,14 @@ def login (session): """ evaluate data from loginForm """ - email = escape (session.qs.get ('email', [''])[0]) - return indexWidget (dataWidget (), loginWidget (email), statusWidget (session)) + if not session.user.load (session.getQsEmail ()): + error_message = {'error': 'Login', 'description': 'Login failed.'} + return indexWidget (dataWidget (), errorWidget (error_message), statusWidget (session)) + if not session.user.checkPassword (session.getQsPassword ()): + error_message = {'error': 'Login', 'description': 'Login failed.'} + return indexWidget (dataWidget (), errorWidget (error_message), statusWidget (session)) + session.setStatus ('auth') + return indexWidget (dataWidget (), loginWidget (session.user), statusWidget (session)) def registerForm (session): """ diff --git a/tools/mmd/MmdSession.py b/tools/mmd/MmdSession.py index 84230c6..387e41c 100644 --- a/tools/mmd/MmdSession.py +++ b/tools/mmd/MmdSession.py @@ -33,9 +33,11 @@ class Session: def setStatus (self, status = 'anon'): self.status = status self.db.sessionSetStatus (self.session_id, self.status) + self.db.sessionSetEmail (self.session_id, self.user.email) def authenticate (self): self.setStatus ('auth') + self.db.sessionSetEmail (self.session_id, self.user.email) def valid (self): data = self.db.sessionFind (self.session_id) diff --git a/tools/mmd/MmdUser.py b/tools/mmd/MmdUser.py index db6754b..f429622 100644 --- a/tools/mmd/MmdUser.py +++ b/tools/mmd/MmdUser.py @@ -50,7 +50,14 @@ class User: self.email = email self.firstname = u['firstname'] self.lastname = u['lastname'] + self.password = u['password'] # include loading of location data here + return True + + def checkPassword (self, password): + if hashlib.sha1 (password).hexdigest () == self.password: + return True + return False def cancel (self, code): self.db.userCancel (code) diff --git a/tools/mmd/MmdWidgets.py b/tools/mmd/MmdWidgets.py index f0a555a..6ff3f3d 100644 --- a/tools/mmd/MmdWidgets.py +++ b/tools/mmd/MmdWidgets.py @@ -11,8 +11,8 @@ def loginFormWidget (): - - + +
Email:
Password:
@@ -21,16 +21,19 @@ def loginFormWidget (): return html -def loginWidget (email): +def loginWidget (user): html = ''' - login request for {0} - '''.format (email) +

Hello {0} {1}!

+
+ You are now logged on to MMD. +
+ '''.format (user.firstname, user.lastname) return html def registerFormWidget (): html = ''' - Please fill in the form below an click on Register. You will receive a confirmation email. + Please fill in the form below and click on register. You will receive a confirmation email.
@@ -42,7 +45,7 @@ def registerFormWidget (): - +
Firstname*:
Password*:
Confirm Password*:
diff --git a/tools/mmd/mmd.wsgi b/tools/mmd/mmd.wsgi index 4227f7c..899de6c 100644 --- a/tools/mmd/mmd.wsgi +++ b/tools/mmd/mmd.wsgi @@ -39,7 +39,6 @@ def application (environ, response): except KeyError: session.qs = parse_qs (environ['QUERY_STRING'], True) - session.update () session.ip = environ['REMOTE_ADDR'] session.http_status = '200 OK' -- cgit v1.2.3