summaryrefslogtreecommitdiff
path: root/tools/mmd
diff options
context:
space:
mode:
authorJogi Hofmüller <jogi@mur.at>2011-08-02 09:05:24 +0000
committerJogi Hofmüller <jogi@mur.at>2011-08-02 09:05:24 +0000
commitd968eeea29f42526c2463a4189ccc2c8627758a1 (patch)
treefc78c5264787ba13d184fa2fabdc88cd5b457d02 /tools/mmd
parent- modified/improved session handling (diff)
- login works now
git-svn-id: https://svn.spreadspace.org/mur.sat@90 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'tools/mmd')
-rw-r--r--tools/mmd/MmdCommands.py10
-rw-r--r--tools/mmd/MmdSession.py2
-rw-r--r--tools/mmd/MmdUser.py7
-rw-r--r--tools/mmd/MmdWidgets.py17
-rw-r--r--tools/mmd/mmd.wsgi1
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'