[copr] master: Start reworking the permission displaying (rewrite the forms and do a little fix in user model) (cb3649e)
bkabrda at fedoraproject.org
bkabrda at fedoraproject.org
Fri Jan 11 10:21:12 UTC 2013
Repository : http://git.fedorahosted.org/cgit/copr.git
On branch : master
>---------------------------------------------------------------
commit cb3649ebcf2bd5f14c4750064ad154c1e0211dab
Author: Bohuslav Kabrda <bkabrda at redhat.com>
Date: Thu Jan 10 14:25:53 2013 +0100
Start reworking the permission displaying (rewrite the forms and do a little fix in user model)
>---------------------------------------------------------------
coprs_frontend/coprs/forms.py | 40 +++++++++++++++-------------------------
coprs_frontend/coprs/models.py | 4 ++--
2 files changed, 17 insertions(+), 27 deletions(-)
diff --git a/coprs_frontend/coprs/forms.py b/coprs_frontend/coprs/forms.py
index 0010d72..d652844 100644
--- a/coprs_frontend/coprs/forms.py
+++ b/coprs_frontend/coprs/forms.py
@@ -116,30 +116,22 @@ class PermissionsApplierFormFactory(object):
class F(wtf.Form):
pass
- approved_num = helpers.PermissionEnum.num('Approved')
- build_without = approved_num
- admin_without = approved_num
+ builder_default = False
+ admin_default = False
if permission:
- if permission.copr_builder == approved_num:
- build_without = None
+ if permission.copr_builder != helpers.PermissionEnum.num('nothing'):
+ builder_default = True
+ if permission.copr_admin != helpers.PermissionEnum.num('nothing'):
+ admin_default = True
- if permission.copr_admin == approved_num:
- admin_without = None
-
- builder_choices = helpers.PermissionEnum.choices_list(build_without)
- admin_choices = helpers.PermissionEnum.choices_list(admin_without)
-
- builder_default = permission.copr_builder if permission else helpers.PermissionEnum.num('No Action')
- admin_default = permission.copr_admin if permission else helpers.PermissionEnum.num('No Action')
-
- setattr(F, 'copr_builder', wtf.SelectField('Copr Builder', choices = builder_choices, default = builder_default))
- setattr(F, 'copr_admin', wtf.SelectField('Copr Admin', choices = admin_choices, default = admin_default))
+ setattr(F, 'copr_builder', wtf.BooleanField(default = builder_default))
+ setattr(F, 'copr_admin', wtf.BooleanField(default = admin_default))
return F
-class DynamicPermissionsFormFactory(object):
+class PermissionsFormFactory(object):
"""Creates a dynamic form for given set of copr permissions"""
@staticmethod
def create_form_cls(permissions):
@@ -147,15 +139,13 @@ class DynamicPermissionsFormFactory(object):
pass
for perm in permissions:
- copr_builder_default = False
- if perm.copr_builder == helpers.PermissionEnum.num('Approved'):
- copr_builder_default = True
+ builder_choices = helpers.PermissionEnum.choices_list()
+ admin_choices = helpers.PermissionEnum.choices_list()
- copr_admin_default = False
- if perm.copr_admin == helpers.PermissionEnum.num('Approved'):
- copr_admin_default = True
+ builder_default = perm.copr_builder
+ admin_default = perm.copr_admin
- setattr(F, 'copr_builder_{0}'.format(perm.user.id), wtf.BooleanField(default = copr_builder_default))
- setattr(F, 'copr_admin_{0}'.format(perm.user.id), wtf.BooleanField(default = copr_admin_default))
+ setattr(F, 'copr_builder_{0}'.format(perm.user.id), wtf.SelectField(choices = builder_choices, default = builder_default, coerce = int))
+ setattr(F, 'copr_admin_{0}'.format(perm.user.id), wtf.SelectField(choices = admin_choices, default = admin_default, coerce = int))
return F
diff --git a/coprs_frontend/coprs/models.py b/coprs_frontend/coprs/models.py
index cf1397e..9393c5c 100644
--- a/coprs_frontend/coprs/models.py
+++ b/coprs_frontend/coprs/models.py
@@ -75,7 +75,7 @@ class User(db.Model, Serializer):
can_build = False
if copr.owner == self:
can_build = True
- if self.permissions_for_copr(copr) and self.permissions_for_copr(copr).copr_builder == helpers.PermissionEnum.num('Approved'):
+ if self.permissions_for_copr(copr) and self.permissions_for_copr(copr).copr_builder == helpers.PermissionEnum.num('approved'):
can_build = True
return can_build
@@ -84,7 +84,7 @@ class User(db.Model, Serializer):
can_edit = False
if copr.owner == self:
can_edit = True
- if self.permissions_for_copr(copr) and self.permissions_for_copr(copr).copr_admin == helpers.PermissionEnum.num('Approved'):
+ if self.permissions_for_copr(copr) and self.permissions_for_copr(copr).copr_admin == helpers.PermissionEnum.num('approved'):
can_edit = True
return can_edit
More information about the copr-devel
mailing list