73 lines
2 KiB
Python
73 lines
2 KiB
Python
import requests
|
|
from flask import (
|
|
g, Blueprint, render_template, abort, current_app, redirect,
|
|
redirect, request, url_for, session, flash
|
|
)
|
|
from jinja2 import TemplateNotFound
|
|
from wotstats.openid import oid
|
|
|
|
from wotstats.database import db
|
|
from wotstats.models import Rush, RushAccounts, WotAccounts, UserWallet
|
|
from wotstats.lib import parse_wargaming_openid_url
|
|
|
|
pages_rush = Blueprint(
|
|
'pages_rush', __name__,
|
|
url_prefix='/rush',
|
|
template_folder='templates')
|
|
|
|
|
|
@pages_rush.route('/')
|
|
def index():
|
|
if not g.user:
|
|
return redirect(url_for('pages_home.index'))
|
|
|
|
rush_list = Rush.query.all()
|
|
|
|
rush_preparation = Rush.query.filter(Rush.status == 'preparation').first()
|
|
|
|
rush_list_accounts = RushAccounts.query.filter(RushAccounts.rush_id == rush_preparation.id).all()
|
|
|
|
account_id, account_nickname = parse_wargaming_openid_url(session['openid'])
|
|
|
|
print(session)
|
|
|
|
ub = UserWallet.query.filter(UserWallet.user == session['user']).first()
|
|
|
|
return render_template(
|
|
'pages/rush/index.html',
|
|
rush_list=rush_list,
|
|
rush_list_accounts=rush_list_accounts,
|
|
account_id=account_id,
|
|
account_nickname=account_nickname,
|
|
account_balance=ub.balance
|
|
)
|
|
|
|
|
|
@pages_rush.route('/apply.html')
|
|
def apply():
|
|
if not g.user:
|
|
return redirect(url_for('pages_home.index'))
|
|
|
|
rush_prep = Rush.query.filter(Rush.status == 'preparation').first()
|
|
|
|
return render_template(
|
|
'pages/rush/apply.html',
|
|
rush=rush_prep
|
|
)
|
|
|
|
@pages_rush.route('/apply.html', methods=['POST'])
|
|
def apply_post():
|
|
if not g.user:
|
|
return redirect(url_for('pages_home.index'))
|
|
|
|
r = Rush.query.filter(Rush.status == 'preparation').first()
|
|
wa = WotAccounts.query.filter(WotAccounts.user == session['user']).first()
|
|
|
|
ra = RushAccounts(rush_id=r.id, account_id=wa.account_id)
|
|
ra.start_data = {}
|
|
ra.finish_data = {}
|
|
|
|
db.session.add(ra)
|
|
db.session.commit()
|
|
|
|
return redirect(url_for('pages_rush.apply'))
|