Пример #1
0
def transaction_approval(transaction_id):
    """
    The '/transaction_approval/<transaction_id>' route directs a superuser to approve a transaction with
    the id of [transaction_id].
    """
    if 'username' not in session:
        return redirect(url_for('login'))
    if session['type_of_user'] == 'user':
        return redirect(url_for('dashboard'))
    if session['type_of_user'] == 'applicant':
        return redirect(url_for('dashboard_applicant'))

    form = TransactionApprovalForm()
    info = Transaction.get_transaction_info(transaction_id)
    transaction_id = int(transaction_id)

    if request.method == 'GET':
        enough_money = User.does_user_have_enough_money(
            info['sender'], int(info['amount']))
        return render_template("transactionApproval.html",
                               form=form,
                               transaction_id=transaction_id,
                               info=info,
                               enough_money=enough_money)
    if request.method == 'POST':
        if form.validate():
            if form.decision.data == 'approve':
                Transaction.approve_transaction(transaction_id)
                Notification(
                    info['sender'], session['username'],
                    'Your transaction (Transaction#' + str(transaction_id) +
                    ') was approved.')
            else:
                Transaction.deny_transaction(transaction_id)
                Notification(
                    info['sender'], session['username'],
                    'Your transaction (Transaction#' + str(transaction_id) +
                    ') was denied.')
            return redirect(url_for('dashboard_superuser'))
        else:
            return render_template("protestApproval.html",
                                   warning_id=warning_id,
                                   info=info,
                                   form=form,
                                   avg_rating=avg_rating)