parent
21b67bdc64
commit
fd6d3b674b
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
{% from "macros.html" import display_date_no_year, conference_row, accommodation_row, flight_row, train_row with context %}
|
{% from "macros.html" import display_date_no_year, conference_row, accommodation_row, flight_row, train_row with context %}
|
||||||
|
|
||||||
|
{% set row = { "flight": flight_row, "train": train_row } %}
|
||||||
|
|
||||||
{% block style %}
|
{% block style %}
|
||||||
{% set conference_column_count = 6 %}
|
{% set conference_column_count = 6 %}
|
||||||
{% set accommodation_column_count = 7 %}
|
{% set accommodation_column_count = 7 %}
|
||||||
|
@ -34,13 +36,10 @@
|
||||||
</style>
|
</style>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% macro section(heading, item_list, badge) %}
|
||||||
<div class="p-2">
|
{% if item_list %}
|
||||||
|
<div class="heading"><h2>{{ heading }}</h2></div>
|
||||||
{% set row = { "flight": flight_row, "train": train_row } %}
|
{% for trip in item_list %}
|
||||||
|
|
||||||
<h1>Trips</h1>
|
|
||||||
{% for trip in trips %}
|
|
||||||
{% set end = trip.end %}
|
{% set end = trip.end %}
|
||||||
<div class="border border-2 rounded mb-2 p-2">
|
<div class="border border-2 rounded mb-2 p-2">
|
||||||
<h3>{{ trip.title }} <small class="text-muted">({{ trip.start.strftime("%b %Y") }})</small></h3>
|
<h3>{{ trip.title }} <small class="text-muted">({{ trip.start.strftime("%b %Y") }})</small></h3>
|
||||||
|
@ -69,7 +68,18 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
|
{% endmacro %}
|
||||||
|
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="p-2">
|
||||||
|
|
||||||
|
|
||||||
|
<h1>Trips</h1>
|
||||||
|
{{ section("Current", current, "attending") }}
|
||||||
|
{{ section("Future", future, "going") }}
|
||||||
|
{{ section("Past", past|reverse, "went") }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|
28
web_view.py
28
web_view.py
|
@ -164,9 +164,8 @@ def load_travel(travel_type: str) -> list[StrDict]:
|
||||||
return items
|
return items
|
||||||
|
|
||||||
|
|
||||||
@app.route("/trip")
|
def build_trip_list() -> list[Trip]:
|
||||||
def trip_list() -> str:
|
"""Generate list of trips."""
|
||||||
"""Page showing a list of trips."""
|
|
||||||
trips: dict[date, Trip] = {}
|
trips: dict[date, Trip] = {}
|
||||||
|
|
||||||
data_dir = app.config["PERSONAL_DATA"]
|
data_dir = app.config["PERSONAL_DATA"]
|
||||||
|
@ -190,11 +189,30 @@ def trip_list() -> str:
|
||||||
trips[start] = Trip(start=start)
|
trips[start] = Trip(start=start)
|
||||||
getattr(trips[start], key).append(item)
|
getattr(trips[start], key).append(item)
|
||||||
|
|
||||||
trip_list = [trip for _, trip in sorted(trips.items(), reverse=True)]
|
return [trip for _, trip in sorted(trips.items())]
|
||||||
|
|
||||||
|
|
||||||
|
@app.route("/trip")
|
||||||
|
def trip_list() -> str:
|
||||||
|
"""Page showing a list of trips."""
|
||||||
|
trip_list = build_trip_list()
|
||||||
|
|
||||||
|
today = date.today()
|
||||||
|
current = [
|
||||||
|
item
|
||||||
|
for item in trip_list
|
||||||
|
if item.start <= today and (item.end or item.start) >= today
|
||||||
|
]
|
||||||
|
|
||||||
|
past = [item for item in trip_list if (item.end or item.start) < today]
|
||||||
|
future = [item for item in trip_list if item.start > today]
|
||||||
|
|
||||||
return flask.render_template(
|
return flask.render_template(
|
||||||
"trips.html",
|
"trips.html",
|
||||||
trips=trip_list,
|
current=current,
|
||||||
|
past=past,
|
||||||
|
future=future,
|
||||||
|
today=today,
|
||||||
get_country=agenda.get_country,
|
get_country=agenda.get_country,
|
||||||
format_list_with_ampersand=format_list_with_ampersand,
|
format_list_with_ampersand=format_list_with_ampersand,
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue