Renamed the following tables:
* tg_user => users
* tg_group_permission => group_permissions
* tg_group => groups
* tg_user_group => user_groups
* tg_permission => permissions
Signed-off-by: Darryl L. Pierce <mcpierce(a)gmail.com>
---
web/projxp/model/__init__.py | 2 +-
web/projxp/model/auth.py | 86 ++++++++----------------------------------
2 files changed, 17 insertions(+), 71 deletions(-)
diff --git a/web/projxp/model/__init__.py b/web/projxp/model/__init__.py
index 02cfd34..d7ed3c4 100644
--- a/web/projxp/model/__init__.py
+++ b/web/projxp/model/__init__.py
@@ -1,5 +1,5 @@
# __init__.py
-# Copyright (C) 2010 Darryl L. Pierce
+# Copyright (C) 2010, Darryl L. Pierce
#
# This file is part of ProjXP.
#
diff --git a/web/projxp/model/auth.py b/web/projxp/model/auth.py
index 3b6a7f0..0963a2f 100644
--- a/web/projxp/model/auth.py
+++ b/web/projxp/model/auth.py
@@ -1,5 +1,5 @@
# auth.py
-# Copyright (C) 2010 Darryl L. Pierce
+# Copyright (C) 2010, Darryl L. Pierce
#
# This file is part of ProjXP.
#
@@ -45,66 +45,40 @@ from projxp.model import DeclarativeBase, metadata, DBSession
__all__ = ['User', 'Group', 'Permission']
-
-#{ Association tables
-
-
-# This is the association table for the many-to-many relationship between
-# groups and permissions. This is required by repoze.what.
-group_permission_table = Table('tg_group_permission', metadata,
- Column('group_id', Integer, ForeignKey('tg_group.group_id',
- onupdate="CASCADE", ondelete="CASCADE")),
- Column('permission_id', Integer,
ForeignKey('tg_permission.permission_id',
- onupdate="CASCADE", ondelete="CASCADE"))
-)
-
-# This is the association table for the many-to-many relationship between
-# groups and members - this is, the memberships. It's required by repoze.what.
-user_group_table = Table('tg_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"))
-)
-
-
-#{ The auth* model itself
-
+group_permission_table = Table('group_permissions', metadata,
+ Column('group_id', Integer,
ForeignKey('groups.group_id',
+
onupdate="CASCADE", ondelete="CASCADE")),
+ Column('permission_id', Integer,
ForeignKey('permissions.permission_id',
+
onupdate="CASCADE", ondelete="CASCADE"))
+ )
+user_group_table = Table('user_groups', metadata,
+ Column('user_id', Integer,
ForeignKey('users.user_id',
+
onupdate="CASCADE", ondelete="CASCADE")),
+ Column('group_id', Integer,
ForeignKey('groups.group_id',
+
onupdate="CASCADE", ondelete="CASCADE"))
+ )
class Group(DeclarativeBase):
"""
Group definition for :mod:`repoze.what`.
-
Only the ``group_name`` column is required by :mod:`repoze.what`.
-
"""
- __tablename__ = 'tg_group'
-
- #{ Columns
+ __tablename__ = 'groups'
group_id = Column(Integer, autoincrement=True, primary_key=True)
-
group_name = Column(Unicode(16), unique=True, nullable=False)
-
display_name = Column(Unicode(255))
-
created = Column(DateTime, default=datetime.now)
- #{ Relations
-
users = relation('User', secondary=user_group_table,
backref='groups')
- #{ Special methods
-
def __repr__(self):
return '<Group: name=%s>' % self.group_name
def __unicode__(self):
return self.group_name
- #}
-
# The 'info' argument we're passing to the email_address and password
columns
# contain metadata that Rum (
http://python-rum.org/) can use generate an
@@ -115,37 +89,25 @@ class User(DeclarativeBase):
This is the user definition used by :mod:`repoze.who`, which requires at
least the ``user_name`` column.
-
"""
- __tablename__ = 'tg_user'
- #{ Columns
+ __tablename__ = 'users'
user_id = Column(Integer, autoincrement=True, primary_key=True)
-
user_name = Column(Unicode(16), unique=True, nullable=False)
-
email_address = Column(Unicode(255), unique=True, nullable=False,
info={'rum': {'field':'Email'}})
-
display_name = Column(Unicode(255))
-
_password = Column('password', Unicode(80),
info={'rum': {'field':'Password'}})
-
created = Column(DateTime, default=datetime.now)
- #{ Special methods
-
def __repr__(self):
return '<User: email="%s", display name="%s">'
% (
self.email_address, self.display_name)
-
def __unicode__(self):
return self.display_name or self.user_name
- #{ Getters and setters
-
@property
def permissions(self):
"""Return a set of strings for the permissions
granted."""
@@ -194,8 +156,6 @@ class User(DeclarativeBase):
password = synonym('_password', descriptor=property(_get_password,
_set_password))
- #}
-
def validate_password(self, password):
"""
Check the password against existing credentials.
@@ -218,33 +178,19 @@ class Permission(DeclarativeBase):
Permission definition for :mod:`repoze.what`.
Only the ``permission_name`` column is required by :mod:`repoze.what`.
-
"""
- __tablename__ = 'tg_permission'
-
- #{ Columns
+ __tablename__ = 'permissions'
permission_id = Column(Integer, autoincrement=True, primary_key=True)
-
permission_name = Column(Unicode(16), unique=True, nullable=False)
-
description = Column(Unicode(255))
- #{ Relations
-
groups = relation(Group, secondary=group_permission_table,
backref='permissions')
- #{ Special methods
-
def __repr__(self):
return '<Permission: name=%s>' % self.permission_name
def __unicode__(self):
return self.permission_name
-
- #}
-
-
-#}
--
1.6.6