def delete_player(): """Delete a player.""" form = PlayerDeleteForm(request.form, csrf_enabled=False) if form.validate_on_submit(): Player.delete(Player.get_by_id(form.player_id.data)) flash('Player deleted!', 'success') else: flash_errors(form) return redirect(url_for('dashboard.get_players'))
def generate_report(): """Generate results report for submission to AGA.""" form = ReportGenerateForm(request.form, csrf_enabled=False) report = None if form.validate_on_submit(): report = Report(form.season.data, form.episode.data) else: flash_errors(form) return render_template('dashboard/reports.html', report=report, report_generate_form=form)
def create_user(): """Create new user.""" form = CreateUserForm() if form.validate_on_submit(): User.create(first_name=form.first_name.data, last_name=form.last_name.data, username=form.username.data, email=form.email.data, password=form.password.data, is_admin=form.is_admin.data, active=True) flash('User created!', 'success') else: flash_errors(form) return render_template('admin/create_user.html', create_user_form=form)
def create_player(): """Create a new player.""" form = PlayerCreateForm(request.form, csrf_enabled=False) if form.validate_on_submit(): Player.create(first_name=form.first_name.data, last_name=form.last_name.data, aga_id=form.aga_id.data, aga_rank=form.aga_rank.data) flash('Player created!', 'success') else: flash_errors(form) players = Player.query.all() return render_template('dashboard/players.html', players=players, player_create_form=form)
def list_and_delete_users(): """List and delete users.""" form = DeleteUsersForm(request.form) if form.validate_on_submit(): user_ids = form.table.data User.delete_by_id(user_ids) flash('Users {} deleted!'.format(user_ids), 'success') return redirect(url_for('admin.list_and_delete_users')) else: flash_errors(form) data = {'row_objects': User.get_all()} form = DeleteUsersForm(request.form, data=data) return render_template('admin/users.html', delete_users_form=form)
def manage_site_settings(): """Manage site settings.""" form = SiteSettingsForm() site_settings = current_app.config['SITE_SETTINGS'] if form.validate_on_submit(): update_site_settings( app=current_app, dashboard_title=form.dashboard_title.data, this_episode_phrase=form.this_episode_phrase.data, about_page_text=form.about_page_text.data ) flash('Site settings updated!', 'success') else: flash_errors(form) return render_template('admin/site_settings.html', site_settings_form=form, site_settings=site_settings)
def dashboard(): """Dashboard.""" form = LoginForm(request.form) # Handle logging in if request.method == 'POST': if form.validate_on_submit(): login_user(form.user) flash('You are logged in.', 'success') redirect_url = (request.args.get('next') or url_for('dashboard.dashboard')) return redirect(redirect_url) else: flash_errors(form) players = Player.query.all() games = Game.query.all() return render_template('dashboard/dashboard.html', login_form=form, players=players, games=games, episode_stats=Game.episode_stats())
def get_player(player_id): """Get game history and statistics for player.""" form = LoginForm(request.form) # Handle logging in if request.method == 'POST': if form.validate_on_submit(): login_user(form.user) flash('You are logged in.', 'success') redirect_url = request.args.get('next') or url_for('public.home') return redirect(redirect_url) else: flash_errors(form) player = Player.get_by_id(player_id) return render_template('dashboard/player.html', player=player, episode_stats=player.episode_stats(), season_stats=player.season_stats(), league_stats=player.league_stats(), login_form=form)
def manage_slack_integration(): """Manage Slack integration.""" form = SlackIntegrationForm() if form.validate_on_submit(): update_messenger_config(app=current_app, enabled=form.enabled.data, webhook=form.webhook.data, channel=form.channel.data, username=form.username.data, icon_emoji=form.icon_emoji.data) flash('Slack integration updated!', 'success') if form.test.data: flash('Sending test message...', 'success') try: messenger.notify_slack('Test message sent.') except Exception as e: current_app.logger.info(e) else: flash_errors(form) return render_template('admin/slack_integration.html', slack_integration_form=form, messenger=messenger.config)