def server(team_id, server_id, action): if not g.user.is_team_leader(team_id): flash(u'You must be a team leader to add a server.', 'error') return redirect(url_for('teams.my_teams')) server = Server.query.filter_by(id=server_id).first() if not server or not g.user.is_team_leader(server.team_id): flash(u'Server not found.', 'error') return redirect(url_for('teams.my_teams')) if action == 'edit': servers = Server.query.\ filter_by(team_id=team_id).\ order_by(Server.name.asc()).\ all() form = ServerForm(request.form, obj=server) form.name.validators[0].values = [ s.name for s in servers if s.id != \ server_id ] if form.validate_on_submit(): form.populate_obj(server) db.session.commit() flash(u'The server was successfully updated.', 'success') else: return rt('team_admin/server_form.html', team={ 'id': team_id, 'name': g.user.teams[team_id].name }, page={ 'top': 'my_teams', 'sub': 'servers' }, server_id=server_id, adding=False, form=form) elif action == 'delete': if request.method == 'POST': db.session.delete(server) db.session.commit() flash(u'The server was successfully deleted.', 'success') return redirect(url_for('servers', team_id=team_id))
def server(team_id, server_id, action): if not g.user.is_team_leader(team_id): flash(u'You must be a team leader to add a server.', 'error') return redirect(url_for('teams.my_teams')) server = Server.query.filter_by(id=server_id).first() if not server or not g.user.is_team_leader(server.team_id): flash(u'Server not found.', 'error') return redirect(url_for('teams.my_teams')) if action == 'edit': servers = Server.query.\ filter_by(team_id=team_id).\ order_by(Server.name.asc()).\ all() form = ServerForm(request.form, obj=server) form.name.validators[0].values = [ s.name for s in servers if s.id != \ server_id ] if form.validate_on_submit(): form.populate_obj(server) db.session.commit() flash(u'The server was successfully updated.', 'success') else: return rt('team_admin/server_form.html', team={'id':team_id, 'name':g.user.teams[team_id].name}, page={'top':'my_teams', 'sub':'servers'}, server_id=server_id, adding=False, form=form) elif action == 'delete': if request.method == 'POST': db.session.delete(server) db.session.commit() flash(u'The server was successfully deleted.', 'success') return redirect(url_for('servers',team_id=team_id))