コード例 #1
0
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'))
コード例 #2
0
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)
コード例 #3
0
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)
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
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)
コード例 #7
0
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())
コード例 #8
0
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)
コード例 #9
0
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)