53 lines
1.3 KiB
Python
53 lines
1.3 KiB
Python
from flask import Blueprint, render_template, redirect, request, flash, url_for
|
|
from flask_login import current_user, fresh_login_required
|
|
|
|
from bitvend import dev
|
|
from bitvend.models import db, Transaction
|
|
from bitvend.forms import ManualForm
|
|
from spaceauth import cap_required
|
|
|
|
|
|
admin_required = cap_required('staff')
|
|
bp = Blueprint('admin', __name__)
|
|
|
|
@bp.route('/manual', methods=['GET', 'POST'])
|
|
@fresh_login_required
|
|
@admin_required
|
|
def manual():
|
|
form = ManualForm()
|
|
if form.validate_on_submit():
|
|
current_user.transactions.append(Transaction(
|
|
amount=form.amount.data
|
|
))
|
|
db.session.commit()
|
|
flash('Operation successful.', 'success')
|
|
|
|
return render_template('admin/manual.html', form=form)
|
|
|
|
@bp.route('/transactions/', defaults={'page': 1})
|
|
@bp.route('/transactions/p/<int:page>')
|
|
@fresh_login_required
|
|
@admin_required
|
|
def transactions(page):
|
|
return render_template('admin/transactions.html',
|
|
transactions=Transaction.query.paginate(page)
|
|
)
|
|
|
|
|
|
@bp.route('/begin')
|
|
@fresh_login_required
|
|
@admin_required
|
|
def begin():
|
|
dev.begin_session(500)
|
|
flash('Operation successful.', 'success')
|
|
return redirect('/')
|
|
|
|
|
|
@bp.route('/cancel')
|
|
@fresh_login_required
|
|
@admin_required
|
|
def cancel():
|
|
dev.cancel_session()
|
|
flash('Operation successful.', 'success')
|
|
return redirect('/')
|