diff frontend/mfrontend/db.py @ 6:27d63cac76ac

Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
author Michał Rudowicz <michal.rudowicz@fl9.eu>
date Mon, 28 Feb 2011 11:14:35 +0100
parents 3ba60dfc1d64
children d86794939fe4
line wrap: on
line diff
--- a/frontend/mfrontend/db.py	Sun Feb 27 09:33:03 2011 +0100
+++ b/frontend/mfrontend/db.py	Mon Feb 28 11:14:35 2011 +0100
@@ -4,7 +4,7 @@
 import sqlite3
 from flask import g
 import ConfigParser
-from mfrontend import utils
+from mfrontend import utils, exceptions
 from contextlib import closing
 import os.path
 
@@ -61,7 +61,9 @@
     if user is None:    # Brak użytkownika o takiej nazwie
         return False
     if user['password'] == utils.hashPassword(password):
-        return True     # Jeśli mamy takiego użytkownika, i hasło się zgadza
+        if not user['activated']:
+            raise exceptions.UserNotActivated()
+        return True     # Jeśli aktywny i hasło dobre, to wpuszczamy
     # Najwyraźniej jest taki użytkownik, ale hasło się nie zgadza
     return False
 
@@ -71,4 +73,8 @@
        @param password Hasło w czystym tekście, funkcja sama
                        zajmie się hashowaniem
     """
-    return
+    user = query_db('select * from users where username = ?',
+                    [username], one=True)
+    if user is not None:
+        raise Exception(u'Użytkownik o takiej nazwie już istnieje')
+    hashedPasswd = utils.hashPassword(password)