This repository has been archived on 2025-01-27. You can view files and clone it, but cannot push or open issues or pull requests.
wot_stats_server/wotstats/views/rush.py
2018-01-13 15:42:38 +03:00

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'))