about summary refs log tree commit diff
path: root/wqflask/wqflask/model.py
diff options
context:
space:
mode:
authorSam2013-10-03 01:21:19 -0500
committerSam2013-10-03 01:21:19 -0500
commit91d05ab30a60671286b19e174ec0292dc6aa1af3 (patch)
treed57caba54e403221b11dfe97c2821815b1dd59f5 /wqflask/wqflask/model.py
parent6c7fed36f892e92245cbfd9b89e4b8d6ff608e95 (diff)
downloadgenenetwork2-91d05ab30a60671286b19e174ec0292dc6aa1af3.tar.gz
Much more progess on logging in:
* Verifying emails now works

* Redid user manager
Diffstat (limited to 'wqflask/wqflask/model.py')
-rw-r--r--wqflask/wqflask/model.py32
1 files changed, 22 insertions, 10 deletions
diff --git a/wqflask/wqflask/model.py b/wqflask/wqflask/model.py
index a3cd63a5..8e7a823e 100644
--- a/wqflask/wqflask/model.py
+++ b/wqflask/wqflask/model.py
@@ -13,7 +13,7 @@ from wqflask import app
 from sqlalchemy import Column, Integer, String, Table, ForeignKey, Unicode, Boolean, DateTime, Text
 from sqlalchemy.orm import relationship, backref
 
-from wqflask.database import Base
+from wqflask.database import Base, init_db
 
 # Create database connection object
 #db = SQLAlchemy(app)
@@ -50,13 +50,13 @@ from wqflask.database import Base
 
 class Role(Base):
     __tablename__ = "role"
-    the_id = Column(Unicode(36), primary_key=True, default=lambda: unicode(uuid.uuid4()))
+    id = Column(Unicode(36), primary_key=True, default=lambda: unicode(uuid.uuid4()))
     name = Column(Unicode(80), unique=True, nullable=False)
     description = Column(Unicode(255))
 
 class User(Base):
     __tablename__ = "user"
-    the_id = Column(Unicode(36), primary_key=True, default=lambda: unicode(uuid.uuid4()))
+    id = Column(Unicode(36), primary_key=True, default=lambda: unicode(uuid.uuid4()))
     email_address = Column(Unicode(50), unique=True, nullable=False)
     
     # Todo: Turn on strict mode for Mysql
@@ -65,18 +65,28 @@ class User(Base):
     full_name = Column(Unicode(50))
     organization = Column(Unicode(50))
     
-    active = Column(Boolean())
-    confirmed_at = Column(DateTime())
+    active = Column(Boolean(), nullable=False, default=True)
 
-    last_login_at = Column(DateTime())
-    current_login_at = Column(DateTime())
-    last_login_ip = Column(Unicode(39))
-    current_login_ip = Column(Unicode(39))
-    login_count = Column(Integer())
+    registration_info = Column(Text)   # json detailing when they were registered, etc.
+    
+    confirmed = Column(Text) # json detailing when they confirmed, etc.
+
+    #last_login_at = Column(DateTime())
+    #current_login_at = Column(DateTime())
+    #last_login_ip = Column(Unicode(39))
+    #current_login_ip = Column(Unicode(39))
+    #login_count = Column(Integer())
 
     #roles = relationship('Role', secondary=roles_users,
     #                        backref=backref('users', lazy='dynamic'))
 
+class Login(Base):
+    __tablename__ = "login"
+    id = Column(Unicode(36), primary_key=True, default=lambda: unicode(uuid.uuid4()))
+    user = Column(Unicode(36), ForeignKey('user.id'))
+    timestamp = Column(DateTime())
+    ip_address = Column(Unicode(39))
+
 # Setup Flask-Security
 #user_datastore = SQLAlchemyUserDatastore(db, User, Role)
 
@@ -89,3 +99,5 @@ class User(Base):
 
 
 #user_datastore.create_role(name="Genentech", description="Genentech Beta Project(testing)")
+
+