diff --git a/pylons_app/model/db.py b/pylons_app/model/db.py --- a/pylons_app/model/db.py +++ b/pylons_app/model/db.py @@ -60,7 +60,7 @@ class Permission(Base): 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 --git a/pylons_app/model/forms.py b/pylons_app/model/forms.py --- a/pylons_app/model/forms.py +++ b/pylons_app/model/forms.py @@ -127,7 +127,9 @@ class ValidRepoUser(formencode.validator 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 @@ class ValidPerms(formencode.validators.F 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 --git a/pylons_app/model/repo_model.py b/pylons_app/model/repo_model.py --- a/pylons_app/model/repo_model.py +++ b/pylons_app/model/repo_model.py @@ -43,7 +43,7 @@ class RepoModel(object): 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 --git a/pylons_app/public/css/monoblue_custom.css b/pylons_app/public/css/monoblue_custom.css --- a/pylons_app/public/css/monoblue_custom.css +++ b/pylons_app/public/css/monoblue_custom.css @@ -208,7 +208,7 @@ table tr.parity1 { font-size: 100%; } -.ac #perm_ac{ +.ac .perm_ac{ width:15em; } /* styles for input field */ diff --git a/pylons_app/templates/admin/repos/repo_edit.html b/pylons_app/templates/admin/repos/repo_edit.html --- a/pylons_app/templates/admin/repos/repo_edit.html +++ b/pylons_app/templates/admin/repos/repo_edit.html @@ -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')}