diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/mmd/MmdCommands.py | 10 | ||||
-rw-r--r-- | tools/mmd/MmdSession.py | 2 | ||||
-rw-r--r-- | tools/mmd/MmdUser.py | 7 | ||||
-rw-r--r-- | tools/mmd/MmdWidgets.py | 17 | ||||
-rw-r--r-- | tools/mmd/mmd.wsgi | 1 |
5 files changed, 27 insertions, 10 deletions
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 (): <table> <tr><td class="formfield">Email:</td><td><input type="text" name="email" /></td></tr> <tr><td class="formfield">Password:</td><td><input type="password" name="password" /></td></tr> - <tr><td class="formfield"><input type="submit" value="Login" /></td><td></td></tr> - <!-- <tr><td class="formfield"><input type="submit" value="Login" disabled="disabled" /></td><td></td></tr> --> + <tr><td class="formfield"><input type="submit" value="login" /></td><td></td></tr> + <!-- <tr><td class="formfield"><input type="submit" value="login" disabled="disabled" /></td><td></td></tr> --> </table> <input type="hidden" name="cmd" value="login" /> </form> @@ -21,16 +21,19 @@ def loginFormWidget (): return html -def loginWidget (email): +def loginWidget (user): html = ''' - login request for {0} - '''.format (email) + <h3>Hello {0} {1}!</h3> + <div> + You are now logged on to MMD. + </div> + '''.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. <form method="post" accept-charset="UTF-8"> <table> <tr><td class="formfield">Firstname*:</td><td><input type="text" name="firstname" /></td></tr> @@ -42,7 +45,7 @@ def registerFormWidget (): <tr><td class="formfield">Password*: </td><td><input type="password" name="password" /></td></tr> <tr><td class="formfield">Confirm Password*: </td><td><input type="password" name="confirm" /></td></tr> <!-- <tr><td class="formfield"><input type="submit" value="Register" disabled="disabled" /></td><td></td></tr> --> - <tr><td class="formfield"><input type="submit" value="Register" /></td><td></td></tr> + <tr><td class="formfield"><input type="submit" value="register" /></td><td></td></tr> </table> <input type="hidden" name="cmd" value="register" /> </form> 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' |