# HG changeset patch # User Marcin Kuzminski # Date 1278000643 -7200 # Node ID cec5cbc956c0a67d096e3b8f8e561ffd56f24218 # Parent 0e87466a117e6d29f16d54561f565d97f0ed089a Repository managment permissions, fixed found bugs updated js, added extra checks for doubled users and non active ones diff -r 0e87466a117e -r cec5cbc956c0 pylons_app/model/db.py --- a/pylons_app/model/db.py Thu Jul 01 00:57:45 2010 +0200 +++ b/pylons_app/model/db.py Thu Jul 01 18:10:43 2010 +0200 @@ -60,7 +60,7 @@ class Repo2Perm(Base): __tablename__ = 'repo_to_perm' - __table_args__ = (UniqueConstraint('user_id', 'permission_id', 'repository'), {'useexisting':True}) + __table_args__ = (UniqueConstraint('user_id', 'repository'), {'useexisting':True}) repo2perm_id = Column("repo2perm_id", INTEGER(), nullable=False, unique=True, default=None, primary_key=True) user_id = Column("user_id", INTEGER(), ForeignKey(u'users.user_id'), nullable=False, unique=None, default=None) permission_id = Column("permission_id", INTEGER(), ForeignKey(u'permissions.permission_id'), nullable=False, unique=None, default=None) diff -r 0e87466a117e -r cec5cbc956c0 pylons_app/model/forms.py --- a/pylons_app/model/forms.py Thu Jul 01 00:57:45 2010 +0200 +++ b/pylons_app/model/forms.py Thu Jul 01 18:10:43 2010 +0200 @@ -127,7 +127,9 @@ def to_python(self, value, state): sa = meta.Session try: - self.user_db = sa.query(User).filter(User.username == value).one() + self.user_db = sa.query(User)\ + .filter(User.active == True)\ + .filter(User.username == value).one() except Exception: raise formencode.Invalid(_('This username is not valid'), value, state) @@ -176,7 +178,9 @@ sa = meta.Session for k, v in perms_new: try: - self.user_db = sa.query(User).filter(User.username == k).one() + self.user_db = sa.query(User)\ + .filter(User.active == True)\ + .filter(User.username == k).one() except Exception: msg = self.message('perm_new_user_name', state=State_obj) diff -r 0e87466a117e -r cec5cbc956c0 pylons_app/model/repo_model.py --- a/pylons_app/model/repo_model.py Thu Jul 01 00:57:45 2010 +0200 +++ b/pylons_app/model/repo_model.py Thu Jul 01 18:10:43 2010 +0200 @@ -43,7 +43,7 @@ def get_users_js(self): - users = self.sa.query(User).all() + users = self.sa.query(User).filter(User.active == True).all() u_tmpl = '''{id:%s, fname:"%s", lname:"%s", nname:"%s"},''' users_array = '[%s];' % '\n'.join([u_tmpl % (u.user_id, u.name, u.lastname, u.username) diff -r 0e87466a117e -r cec5cbc956c0 pylons_app/public/css/monoblue_custom.css --- a/pylons_app/public/css/monoblue_custom.css Thu Jul 01 00:57:45 2010 +0200 +++ b/pylons_app/public/css/monoblue_custom.css Thu Jul 01 18:10:43 2010 +0200 @@ -208,7 +208,7 @@ font-size: 100%; } -.ac #perm_ac{ +.ac .perm_ac{ width:15em; } /* styles for input field */ diff -r 0e87466a117e -r cec5cbc956c0 pylons_app/templates/admin/repos/repo_edit.html --- a/pylons_app/templates/admin/repos/repo_edit.html Thu Jul 01 00:57:45 2010 +0200 +++ b/pylons_app/templates/admin/repos/repo_edit.html Thu Jul 01 18:10:43 2010 +0200 @@ -36,7 +36,7 @@ ${_('Owner')} -
+
${h.text('user',class_='yui-ac-input')}
@@ -63,7 +63,7 @@ ${r2p.user.username} %else: - + ${h.radio('perm_%s' % r2p.user.username,'repository.none')} ${h.radio('perm_%s' % r2p.user.username,'repository.read')} ${h.radio('perm_%s' % r2p.user.username,'repository.write')} @@ -71,16 +71,15 @@ ${r2p.user.username} %if r2p.user.username !='default': - + %endif @@ -101,7 +100,7 @@ ${h.radio('perm_new_user','repository.write')} ${h.radio('perm_new_user','repository.admin')} -
+
${h.text('perm_new_user_name',class_='yui-ac-input')}