Add season codes and overview page.

This commit is contained in:
2019-01-12 15:02:21 +01:00
parent 30bab3e651
commit 29989b7e4e
6 changed files with 48 additions and 11 deletions

18
app.py
View File

@@ -66,11 +66,7 @@ def logout():
@app.route('/')
@authorize
def landing():
if 'editor' in session['role']:
print('editor')
else:
print('not editor')
return render_template('seasons.html')
return redirect('/seasons')
@app.route('/seasons')
@@ -81,6 +77,7 @@ def seasons():
model = {
'seasons': results,
'columns': [
('code', '#'),
('game', 'Game'),
('description', 'Season Description'),
('start', 'Started At'),
@@ -117,6 +114,17 @@ def save_season():
return redirect('/seasons')
@app.route('/seasons/<id>', methods=['GET'])
@authorize
def season_overview(id: int):
sql, args = db.load_season(id)
db_season = db.query_db(sql, args, one=True, cls=models.Season)
model = {
'title': f'{db_season.code} {db_season.game}'
}
return render_template('seasonoverview.html', model=model)
@app.route('/newplayer', methods=['GET'])
@authorize
def new_player():

18
db.py
View File

@@ -128,13 +128,23 @@ def load_enemies(id=None):
def save_season_query(season):
if not season.id:
sql = 'insert into season values (?, ?, ?, ?, ?)'
args = (None, season.game, season.description, season.start, season.end)
sql = 'insert into season values (?, ?, ?, ?, ?, ?)'
args = (None,
season.game,
season.description,
season.start,
season.end,
season.code)
else:
sql = 'update season ' \
'set game=?, description=?, start=?, end=? ' \
'set game=?, description=?, start=?, end=?, code=? ' \
'where id==?'
args = (season.game, season.description, season.start, season.end, season.id)
args = (season.game,
season.description,
season.start,
season.end,
season.code,
season.id)
return sql, args

View File

@@ -78,6 +78,7 @@ class Season:
description: str
start: datetime.date
end: datetime.date
code: str
@classmethod
def from_form(cls, form):
@@ -104,5 +105,7 @@ class Season:
except Exception:
raise INVALID_STR.format('end')
self = cls(id, game, description, start, end)
code = form.get('code', None)
self = cls(id, game, description, start, end, code)
return self

View File

@@ -6,7 +6,8 @@ create table if not exists season
game text,
description text,
start text,
end text
end text,
code text
);
create unique index if not exists season_id_uindex

View File

@@ -14,6 +14,14 @@
value="{{ model['id'] }}"
readonly>
</div>
<div class="form-group">
<label for="code">Season Code</label>
<input name="code"
type="text"
class="form-control"
id="code"
value="{{ model['code'] }}">
</div>
<div class="form-group">
<label for="game">Game Name</label>
<input name="game"

View File

@@ -0,0 +1,7 @@
{% extends "base.html" %}
{% set active_page = "seasons" %}
{% block title %}{{ model.title }}{% endblock %}
{% block content %}
{% endblock %}