comparison rhodecode/model/db.py @ 1729:da8ee2ef7f6d beta

implements #236 forking copy permission option
author Marcin Kuzminski <marcin@python-works.com>
date Sat, 26 Nov 2011 18:51:16 +0200
parents 07e56179633e
children 31e6eb2fb4b2
comparison
equal deleted inserted replaced
1728:07e56179633e 1729:da8ee2ef7f6d
870 870
871 user = relationship('User') 871 user = relationship('User')
872 permission = relationship('Permission') 872 permission = relationship('Permission')
873 repository = relationship('Repository') 873 repository = relationship('Repository')
874 874
875 @classmethod
876 def create(cls, user, repository, permission):
877 n = cls()
878 n.user = user
879 n.repository = repository
880 n.permission = permission
881 Session().add(n)
882 return n
883
884 def __repr__(self):
885 return '<user:%s => %s >' % (self.user, self.repository)
886
875 class UserToPerm(Base, BaseModel): 887 class UserToPerm(Base, BaseModel):
876 __tablename__ = 'user_to_perm' 888 __tablename__ = 'user_to_perm'
877 __table_args__ = (UniqueConstraint('user_id', 'permission_id'), {'extend_existing':True}) 889 __table_args__ = (UniqueConstraint('user_id', 'permission_id'), {'extend_existing':True})
878 user_to_perm_id = Column("user_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True) 890 user_to_perm_id = Column("user_to_perm_id", Integer(), nullable=False, unique=True, default=None, primary_key=True)
879 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None) 891 user_id = Column("user_id", Integer(), ForeignKey('users.user_id'), nullable=False, unique=None, default=None)
927 repository_id = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'), nullable=False, unique=None, default=None) 939 repository_id = Column("repository_id", Integer(), ForeignKey('repositories.repo_id'), nullable=False, unique=None, default=None)
928 940
929 users_group = relationship('UsersGroup') 941 users_group = relationship('UsersGroup')
930 permission = relationship('Permission') 942 permission = relationship('Permission')
931 repository = relationship('Repository') 943 repository = relationship('Repository')
944
945 @classmethod
946 def create(cls, users_group, repository, permission):
947 n = cls()
948 n.users_group = users_group
949 n.repository = repository
950 n.permission = permission
951 Session().add(n)
952 return n
932 953
933 def __repr__(self): 954 def __repr__(self):
934 return '<userGroup:%s => %s >' % (self.users_group, self.repository) 955 return '<userGroup:%s => %s >' % (self.users_group, self.repository)
935 956
936 class UsersGroupToPerm(Base, BaseModel): 957 class UsersGroupToPerm(Base, BaseModel):