Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : bkabrda-workspace
commit 8d3ced312bda655d4be4cbff4497c157534aa568 Author: Bohuslav Kabrda bkabrda@redhat.com Date: Tue Nov 27 13:58:58 2012 +0100
Allow admins to modify copr permissions
.../coprs/views/coprs_ns/coprs_general.py | 2 +- .../tests/test_views/test_coprs_ns/test_general.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/coprs_frontend/coprs/views/coprs_ns/coprs_general.py b/coprs_frontend/coprs/views/coprs_ns/coprs_general.py index 217558d..a32b4e5 100644 --- a/coprs_frontend/coprs/views/coprs_ns/coprs_general.py +++ b/coprs_frontend/coprs/views/coprs_ns/coprs_general.py @@ -172,7 +172,7 @@ def copr_update_permissions(username, coprname): permissions_form = forms.DynamicPermissionsFormFactory.create_form_cls(permissions)()
# only owner can update copr permissions - if flask.g.user != copr.owner: + if not flask.g.user.can_edit(copr): flask.flash('Only owners may update their Coprs permissions.') return flask.redirect(flask.url_for('coprs_ns.copr_detail', username = copr.owner.name, coprname = copr.name))
diff --git a/coprs_frontend/tests/test_views/test_coprs_ns/test_general.py b/coprs_frontend/tests/test_views/test_coprs_ns/test_general.py index 9793245..a30731e 100644 --- a/coprs_frontend/tests/test_views/test_coprs_ns/test_general.py +++ b/coprs_frontend/tests/test_views/test_coprs_ns/test_general.py @@ -228,3 +228,15 @@ class TestCoprUpdatePermissions(CoprsTestCase): first() assert u3_c3_perms.copr_builder == self.helpers.PermissionEnum.num('No Action') assert u3_c3_perms.copr_admin == self.helpers.PermissionEnum.num('Approved') + + def test_copr_admin_can_update_permissions(self, f_users, f_coprs, f_copr_permissions): + with self.tc as c: + with c.session_transaction() as s: + s['openid'] = self.u1.openid_name + + self.db.session.add_all([self.u2, self.c3]) + r = c.post('/coprs/detail/{0}/{1}/update_permissions/'.format(self.u2.name, self.c3.name), + data = {'copr_builder_1': 'y', 'copr_admin_3': 'y'}, + follow_redirects = True) + + assert 'Copr permissions were updated' in r.data
copr-devel@lists.fedorahosted.org