| from flask import render_template, redirect, url_for, request, flash |
| from flask_login import login_required, current_user |
| from . import dashboard_bp |
| from database import History, db |
| from create_app import * |
|
|
| @dashboard_bp.route('/dashboard', defaults={'page': 1}) |
| @dashboard_bp.route('/dashboard/page/<int:page>') |
| @login_required |
| def dashboard(page): |
| |
| user_id = current_user.id |
| |
| per_page = 10 |
| pagination = History.query.filter_by(user_id=user_id).order_by(History.created_at.desc()).paginate( |
| page=page, per_page=per_page, error_out=False |
| ) |
| histories = pagination.items |
|
|
| return render_template( |
| 'dashboard.html', |
| histories=histories, |
| pagination=pagination, |
| scores_tr=[h.score_tr for h in histories], |
| scores_cc=[h.score_cc for h in histories], |
| scores_lr=[h.score_lr for h in histories], |
| scores_gra=[h.score_gra for h in histories], |
| creation_times=[h.created_at.strftime('%Y-%m-%d %H:%M:%S') for h in histories] |
| ) |
|
|
| @dashboard_bp.route('/delete_histories', methods=['POST']) |
| def delete_histories(): |
| history_ids = request.form.getlist('history_ids') |
| History.query.filter(History.id.in_(history_ids), History.user_id == current_user.id).delete(synchronize_session=False) |
| db.session.commit() |
| flash('Selected histories deleted.') |
| return redirect(url_for('dashboard.dashboard')) |
|
|