def manage(id_usergroup): """Manage user group.""" ug = Usergroup.query.filter_by(id=id_usergroup).one() form = UsergroupForm(request.form, obj=ug) if form.validate_on_submit(): if not ug.is_admin(current_user.get_id()): # not enough right to modify group flash( _( 'Sorry, you don\'t have enough right to be able ' 'to manage the group "%(name)s"', name=ug.name), 'error') return redirect(url_for(".index")) # get form data ug2form = Usergroup() form.populate_obj(ug2form) # update group oldname = ug.name ug.name = ug2form.name ug.description = ug2form.description ug.join_policy = ug2form.join_policy ug.login_method = ug2form.login_method # update in db try: db.session.merge(ug) db.session.commit() except IntegrityError: db.session.rollback() flash(_('Group properies error'), 'error') # reload form with old values return render_template( "groups/new.html", form=form, action=_('Update'), subtitle=oldname, ) except SQLAlchemyError: db.session.rollback() raise current_user.reload() return redirect(url_for(".index")) return render_template( "groups/new.html", form=form, action=_('Update'), subtitle=ug.name, )
def manage(id_usergroup): """Manage user group.""" ug = Usergroup.query.filter_by(id=id_usergroup).one() form = UsergroupForm(request.form, obj=ug) if form.validate_on_submit(): if not ug.is_admin(current_user.get_id()): # not enough right to modify group flash(_('Sorry, you don\'t have enough right to be able ' 'to manage the group "%(name)s"', name=ug.name), 'error') return redirect(url_for(".index")) # get form data ug2form = Usergroup() form.populate_obj(ug2form) # update group oldname = ug.name ug.name = ug2form.name ug.description = ug2form.description ug.join_policy = ug2form.join_policy ug.login_method = ug2form.login_method # update in db try: db.session.merge(ug) db.session.commit() except IntegrityError: db.session.rollback() flash(_('Group properies error'), 'error') # reload form with old values return render_template( "groups/new.html", form=form, action=_('Update'), subtitle=oldname, ) except SQLAlchemyError: db.session.rollback() raise current_user.reload() return redirect(url_for(".index")) return render_template( "groups/new.html", form=form, action=_('Update'), subtitle=ug.name, )
def new(): """Create new user group.""" form = UsergroupForm(request.form) if form.validate_on_submit(): ug = Usergroup() id_user = current_user.get_id() user2join = User.query.get_or_404(id_user) form.populate_obj(ug) ug.join(status=UserUsergroup.USER_STATUS['ADMIN'], user=user2join) db.session.add(ug) try: db.session.commit() except IntegrityError: # catch integrity error db.session.rollback() flash(_('Group properies error'), 'error') # reload form with old values return render_template( "groups/new.html", form=form, action=_('Create'), subtitle=_("New group"), ) except: # catch unknown error db.session.rollback() raise # group finally created current_user.reload() flash(_('Group "%(name)s" successfully created', name=ug.name), 'success') return redirect(url_for(".index")) return render_template( "groups/new.html", form=form, action=_('Create'), subtitle=_("New group"), )
def new(): """Create new user group.""" form = UsergroupForm(request.form) if form.validate_on_submit(): ug = Usergroup() id_user = current_user.get_id() user2join = User.query.get_or_404(id_user) form.populate_obj(ug) ug.join(status=UserUsergroup.USER_STATUS['ADMIN'], user=user2join) db.session.add(ug) try: db.session.commit() except IntegrityError: # catch integrity error db.session.rollback() flash(_('Group properies error'), 'error') # reload form with old values return render_template( "groups/new.html", form=form, action=_('Create'), subtitle=_("New group"), ) except: # catch unknown error db.session.rollback() raise # group finally created current_user.reload() flash(_('Group "%(name)s" successfully created', name=ug.name), 'success') return redirect(url_for(".index")) return render_template( "groups/new.html", form=form, action=_('Create'), subtitle=_("New group"), )