aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/db/models.py
diff options
context:
space:
mode:
authortilly-Q <nattilypigeonfowl@gmail.com>2013-07-03 14:46:21 -0400
committertilly-Q <nattilypigeonfowl@gmail.com>2013-07-03 14:46:21 -0400
commit3fb96fc97800ae032e599006e3f49ffd69926c88 (patch)
tree93c19ff89864f065cb8fea5a313d76a1f8c09c0b /mediagoblin/db/models.py
parent9b8ef022ef874304fb3d5aead612ec3b8fb23e9a (diff)
downloadmediagoblin-3fb96fc97800ae032e599006e3f49ffd69926c88.tar.lz
mediagoblin-3fb96fc97800ae032e599006e3f49ffd69926c88.tar.xz
mediagoblin-3fb96fc97800ae032e599006e3f49ffd69926c88.zip
This was a simple commit. I changed all references to Groups into Privileges so
as to not conflict with the new federated groups which are also being written. I also fixed up some of the code in the user_in_group/user_has_privilege decor- ator. Users are now assigned the default privileges when they sign up, and ass- iged active once they are activated. I updated the gmg command makeadmin to use my groups as well. Lastly, I added the decorator to various views, requiring th- at users belong to appropriate groups to access pages. --\ mediagoblin/auth/tools.py --| Added code to assign new users to default privileges --\ mediagoblin/auth/views.py --| Added code to assign users to u'active' privilege once the email | verification is complete --\ mediagoblin/db/migrations.py --| Renamed Group class to Privilege class --\ mediagoblin/db/models.py --| Renamed Group class to Privilege class --\ mediagoblin/decorators.py --| Renamed function based on the Group->Privilege change --| Rewrote the function to be, ya know, functional --\ mediagoblin/gmg_commands/users.py --| Changed the 'makeadmin' command to add the target user to the admin | privilege group as well as affecting 'is_admin' column --\ mediagoblin/submit/views.py --| Added the requirement that a user has the 'uploader' privilege in order | to submit new media. --\ mediagoblin/user_pages/views.py --| Added the requirement that a user has the 'commenter' privilege in order | to make a comment. --| Added the requirement that a user has the 'reporter' privilege in order | to submit new reports. --| Got rid of some vestigial code in the file_a_report function.
Diffstat (limited to 'mediagoblin/db/models.py')
-rw-r--r--mediagoblin/db/models.py32
1 files changed, 16 insertions, 16 deletions
diff --git a/mediagoblin/db/models.py b/mediagoblin/db/models.py
index 28e01a85..e0419c92 100644
--- a/mediagoblin/db/models.py
+++ b/mediagoblin/db/models.py
@@ -559,50 +559,50 @@ class UserBan(Base):
reason = Column(UnicodeText, nullable=False)
-class Group(Base):
- __tablename__ = 'core__groups'
+class Privilege(Base):
+ __tablename__ = 'core__privileges'
id = Column(Integer, nullable=False, primary_key=True)
- group_name = Column(Unicode, nullable=False, unique=True)
+ privilege_name = Column(Unicode, nullable=False, unique=True)
all_users = relationship(
User,
- backref='all_groups',
- secondary="core__group_user_associations")
+ backref='all_privileges',
+ secondary="core__privileges_users")
- def __init__(self, group_name):
- self.group_name = group_name
+ def __init__(self, privilege_name):
+ self.privilege_name = privilege_name
def __repr__(self):
- return "<Group %s>" % (self.group_name)
+ return "<Privilege %s>" % (self.privilege_name)
-class GroupUserAssociation(Base):
- __tablename__ = 'core__group_user_associations'
+class PrivilegeUserAssociation(Base):
+ __tablename__ = 'core__privileges_users'
- group_id = Column(
- 'core__group_id',
+ privilege_id = Column(
+ 'core__privilege_id',
Integer,
ForeignKey(User.id),
primary_key=True)
user_id = Column(
'core__user_id',
Integer,
- ForeignKey(Group.id),
+ ForeignKey(Privilege.id),
primary_key=True)
-group_foundations = [[u'admin'], [u'moderator'], [u'commenter'], [u'uploader'],[u'reporter'],[u'active']]
+privilege_foundations = [[u'admin'], [u'moderator'], [u'commenter'], [u'uploader'],[u'reporter'],[u'active']]
MODELS = [
User, MediaEntry, Tag, MediaTag, MediaComment, Collection, CollectionItem,
MediaFile, FileKeynames, MediaAttachmentFile, ProcessingMetaData, ReportBase,
- CommentReport, MediaReport, UserBan, Group, GroupUserAssociation]
+ CommentReport, MediaReport, UserBan, Privilege, PrivilegeUserAssociation]
# Foundations are the default rows that are created immediately after the tables are initialized. Each entry to
# this dictionary should be in the format of
# ModelObject:List of Rows
# (Each Row must be a list of parameters that can create and instance of the ModelObject)
#
-FOUNDATIONS = {Group:group_foundations}
+FOUNDATIONS = {Privilege:privilege_foundations}
######################################################
# Special, migrations-tracking table