summaryrefslogtreecommitdiffstats
path: root/funcweb
diff options
context:
space:
mode:
authorLuke Macken <lmacken@redhat.com>2008-02-20 10:44:37 -0500
committerLuke Macken <lmacken@redhat.com>2008-02-20 10:44:37 -0500
commitb9a884030c5ed0e2c70a0dc025ac72fadfab881d (patch)
treea99fc46ef195f8489384660fe8717b932c443bf1 /funcweb
parentea96a8f59e6c4935de21dbf6db3a4dce41aa470b (diff)
downloadthird_party-func-b9a884030c5ed0e2c70a0dc025ac72fadfab881d.tar.gz
third_party-func-b9a884030c5ed0e2c70a0dc025ac72fadfab881d.tar.xz
third_party-func-b9a884030c5ed0e2c70a0dc025ac72fadfab881d.zip
Remove our now unnecessary identity model from funcweb
Diffstat (limited to 'funcweb')
-rw-r--r--funcweb/funcweb/identity/model.py177
1 files changed, 0 insertions, 177 deletions
diff --git a/funcweb/funcweb/identity/model.py b/funcweb/funcweb/identity/model.py
deleted file mode 100644
index 9963489..0000000
--- a/funcweb/funcweb/identity/model.py
+++ /dev/null
@@ -1,177 +0,0 @@
-from datetime import datetime
-from turbogears.database import metadata, mapper
-# import some basic SQLAlchemy classes for declaring the data model
-# (see http://www.sqlalchemy.org/docs/04/ormtutorial.html)
-from sqlalchemy import Table, Column, ForeignKey
-from sqlalchemy.orm import relation
-# import some datatypes for table columns from SQLAlchemy
-# (see http://www.sqlalchemy.org/docs/04/types.html for more)
-from sqlalchemy import String, Unicode, Integer, DateTime
-from turbogears import identity
-
-
-# your data tables
-
-# your_table = Table('yourtable', metadata,
-# Column('my_id', Integer, primary_key=True)
-# )
-
-
-# your model classes
-
-
-# class YourDataClass(object):
-# pass
-
-
-# set up mappers between your data tables and classes
-
-# mapper(YourDataClass, your_table)
-
-
-# the identity schema
-
-visits_table = Table('visit', metadata,
- Column('visit_key', String(40), primary_key=True),
- Column('created', DateTime, nullable=False, default=datetime.now),
- Column('expiry', DateTime)
-)
-
-visit_identity_table = Table('visit_identity', metadata,
- Column('visit_key', String(40), primary_key=True),
- Column('user_id', Integer, ForeignKey('tg_user.user_id'), index=True)
-)
-
-groups_table = Table('tg_group', metadata,
- Column('group_id', Integer, primary_key=True),
- Column('group_name', Unicode(16), unique=True),
- Column('display_name', Unicode(255)),
- Column('created', DateTime, default=datetime.now)
-)
-
-users_table = Table('tg_user', metadata,
- Column('user_id', Integer, primary_key=True),
- Column('user_name', Unicode(16), unique=True),
- Column('email_address', Unicode(255), unique=True),
- Column('display_name', Unicode(255)),
- Column('password', Unicode(40)),
- Column('created', DateTime, default=datetime.now)
-)
-
-permissions_table = Table('permission', metadata,
- Column('permission_id', Integer, primary_key=True),
- Column('permission_name', Unicode(16), unique=True),
- Column('description', Unicode(255))
-)
-
-user_group_table = Table('user_group', metadata,
- Column('user_id', Integer, ForeignKey('tg_user.user_id',
- onupdate='CASCADE', ondelete='CASCADE')),
- Column('group_id', Integer, ForeignKey('tg_group.group_id',
- onupdate='CASCADE', ondelete='CASCADE'))
-)
-
-group_permission_table = Table('group_permission', metadata,
- Column('group_id', Integer, ForeignKey('tg_group.group_id',
- onupdate='CASCADE', ondelete='CASCADE')),
- Column('permission_id', Integer, ForeignKey('permission.permission_id',
- onupdate='CASCADE', ondelete='CASCADE'))
-)
-
-
-# the identity model
-
-
-class Visit(object):
- """
- A visit to your site
- """
- def lookup_visit(cls, visit_key):
- return cls.query.get(visit_key)
- lookup_visit = classmethod(lookup_visit)
-
-
-class VisitIdentity(object):
- """
- A Visit that is link to a User object
- """
- pass
-
-
-class Group(object):
- """
- An ultra-simple group definition.
- """
- pass
-
-
-class User(object):
- """
- Reasonably basic User definition.
- Probably would want additional attributes.
- """
- def permissions(self):
- perms = set()
- for g in self.groups:
- perms |= set(g.permissions)
- return perms
- permissions = property(permissions)
-
- def by_email_address(cls, email):
- """
- A class method that can be used to search users
- based on their email addresses since it is unique.
- """
- return cls.query.filter_by(email_address=email).first()
-
- by_email_address = classmethod(by_email_address)
-
- def by_user_name(cls, username):
- """
- A class method that permits to search users
- based on their user_name attribute.
- """
- return cls.query.filter_by(user_name=username).first()
-
- by_user_name = classmethod(by_user_name)
-
- def _set_password(self, password):
- """
- encrypts password on the fly using the encryption
- algo defined in the configuration
- """
- self._password = identity.encrypt_password(password)
-
- def _get_password(self):
- """
- returns password
- """
- return self._password
-
- password = property(_get_password, _set_password)
-
-
-class Permission(object):
- """
- A relationship that determines what each Group can do
- """
- pass
-
-
-# set up mappers between identity tables and classes
-
-mapper(Visit, visits_table)
-
-mapper(VisitIdentity, visit_identity_table,
- properties=dict(users=relation(User, backref='visit_identity')))
-
-mapper(User, users_table,
- properties=dict(_password=users_table.c.password))
-
-mapper(Group, groups_table,
- properties=dict(users=relation(User,
- secondary=user_group_table, backref='groups')))
-
-mapper(Permission, permissions_table,
- properties=dict(groups=relation(Group,
- secondary=group_permission_table, backref='permissions')))