def update_perm(self, id): """PUT /users_perm/id: Update an existing item""" # url('users_group_perm', id=ID, method='put') users_group = UserGroup.get_or_404(id) grant_create_perm = str2bool(request.POST.get('create_repo_perm')) grant_fork_perm = str2bool(request.POST.get('fork_repo_perm')) inherit_perms = str2bool( request.POST.get('inherit_default_permissions')) usergroup_model = UserGroupModel() try: users_group.inherit_default_permissions = inherit_perms Session().add(users_group) if grant_create_perm: usergroup_model.revoke_perm(id, 'hg.create.none') usergroup_model.grant_perm(id, 'hg.create.repository') h.flash( _("Granted 'repository create' permission to user group"), category='success') else: usergroup_model.revoke_perm(id, 'hg.create.repository') usergroup_model.grant_perm(id, 'hg.create.none') h.flash( _("Revoked 'repository create' permission to user group"), category='success') if grant_fork_perm: usergroup_model.revoke_perm(id, 'hg.fork.none') usergroup_model.grant_perm(id, 'hg.fork.repository') h.flash( _("Granted 'repository fork' permission to user group"), category='success') else: usergroup_model.revoke_perm(id, 'hg.fork.repository') usergroup_model.grant_perm(id, 'hg.fork.none') h.flash( _("Revoked 'repository fork' permission to user group"), category='success') Session().commit() except Exception: log.error(traceback.format_exc()) h.flash(_('An error occurred during permissions saving'), category='error') return redirect(url('edit_users_group', id=id))
def update_perm(self, id): """PUT /users_perm/id: Update an existing item""" # url('users_group_perm', id=ID, method='put') users_group = UserGroup.get_or_404(id) grant_create_perm = str2bool(request.POST.get('create_repo_perm')) grant_fork_perm = str2bool(request.POST.get('fork_repo_perm')) inherit_perms = str2bool(request.POST.get('inherit_default_permissions')) usergroup_model = UserGroupModel() try: users_group.inherit_default_permissions = inherit_perms Session().add(users_group) if grant_create_perm: usergroup_model.revoke_perm(id, 'hg.create.none') usergroup_model.grant_perm(id, 'hg.create.repository') h.flash(_("Granted 'repository create' permission to user group"), category='success') else: usergroup_model.revoke_perm(id, 'hg.create.repository') usergroup_model.grant_perm(id, 'hg.create.none') h.flash(_("Revoked 'repository create' permission to user group"), category='success') if grant_fork_perm: usergroup_model.revoke_perm(id, 'hg.fork.none') usergroup_model.grant_perm(id, 'hg.fork.repository') h.flash(_("Granted 'repository fork' permission to user group"), category='success') else: usergroup_model.revoke_perm(id, 'hg.fork.repository') usergroup_model.grant_perm(id, 'hg.fork.none') h.flash(_("Revoked 'repository fork' permission to user group"), category='success') Session().commit() except Exception: log.error(traceback.format_exc()) h.flash(_('An error occurred during permissions saving'), category='error') return redirect(url('edit_users_group', id=id))
def update_perm(self, id): """PUT /users_perm/id: Update an existing item""" # url('users_group_perm', id=ID, method='put') users_group = UserGroup.get_or_404(id) try: form = CustomDefaultPermissionsForm()() form_result = form.to_python(request.POST) inherit_perms = form_result['inherit_default_permissions'] users_group.inherit_default_permissions = inherit_perms Session().add(users_group) usergroup_model = UserGroupModel() defs = UserGroupToPerm.query()\ .filter(UserGroupToPerm.users_group == users_group)\ .all() for ug in defs: Session().delete(ug) if form_result['create_repo_perm']: usergroup_model.grant_perm(id, 'hg.create.repository') else: usergroup_model.grant_perm(id, 'hg.create.none') if form_result['create_user_group_perm']: usergroup_model.grant_perm(id, 'hg.usergroup.create.true') else: usergroup_model.grant_perm(id, 'hg.usergroup.create.false') if form_result['fork_repo_perm']: usergroup_model.grant_perm(id, 'hg.fork.repository') else: usergroup_model.grant_perm(id, 'hg.fork.none') h.flash(_("Updated permissions"), category='success') Session().commit() except Exception: log.error(traceback.format_exc()) h.flash(_('An error occurred during permissions saving'), category='error') return redirect(url('edit_users_group', id=id))