diff --git a/app.py b/app.py index e9c5e49..d57a440 100644 --- a/app.py +++ b/app.py @@ -1473,8 +1473,8 @@ def form_input_to_date(date_str, hour=0, minute=0, second=0): def form_input_from_date(date): return date.strftime("%Y-%m-%d") -@app.route("/widget", methods=('GET', 'POST')) -def widget(): +@app.route("/widget/eventdates", methods=('GET', 'POST')) +def widget_event_dates(): date_from = today date_to = date_set_end_of_day(today + relativedelta(days=7)) date_from_str = form_input_from_date(date_from) @@ -1494,15 +1494,23 @@ def widget(): if keyword: like_keyword = '%' + keyword + '%' - dates = EventDate.query.join(Event).filter(date_filter).filter(or_(Event.name.ilike(like_keyword), Event.description.ilike(like_keyword), Event.tags.ilike(like_keyword))).order_by(EventDate.start).all() + dates = EventDate.query.join(Event).filter(date_filter).filter(and_(Event.verified, or_(Event.name.ilike(like_keyword), Event.description.ilike(like_keyword), Event.tags.ilike(like_keyword)))).order_by(EventDate.start).all() else: - dates = EventDate.query.join(Event).filter(date_filter).order_by(EventDate.start).all() + dates = EventDate.query.join(Event).filter(date_filter).filter(Event.verified).order_by(EventDate.start).all() - return render_template('widget/read.html', + return render_template('widget/event_date/list.html', date_from_str=date_from_str, date_to_str=date_to_str, keyword=keyword, dates=dates) +@app.route('/widget/eventdate/') +def widget_event_date(id): + event_date = EventDate.query.get_or_404(id) + structured_data = json.dumps(get_sd_for_event_date(event_date), indent=2, cls=DateTimeEncoder) + return render_template('widget/event_date/read.html', + event_date=event_date, + structured_data=structured_data) + if __name__ == '__main__': app.run() \ No newline at end of file diff --git a/static/widget.css b/static/widget.css new file mode 100644 index 0000000..7e3ed4b --- /dev/null +++ b/static/widget.css @@ -0,0 +1,25 @@ +body { + background-color:#eceef0; + font-family: Verdana; + color: #3c444b; +} + +.btn-primary { + background-color: #B09641; + color: black; + border-color: #B09641; +} + +.btn-primary:hover { + background-color: #B09641; + color: black; + border-color: #B09641; +} + +.card { + background-color: transparent; +} + +.card-title { + color: #7B2424; +} \ No newline at end of file diff --git a/templates/home.html b/templates/home.html index 5e90a29..646f1c3 100644 --- a/templates/home.html +++ b/templates/home.html @@ -5,10 +5,17 @@ Prototyp {% endblock %} {% block content %} -

{{ _('Event Dates') }}

+

Terminkalender für Goslar und Hahnenklee

{{ render_events_sub_menu() }} - +
+
+ {{ _('Widget als iFrame einbetten') }} +
+ +
+ + {% endblock %} \ No newline at end of file diff --git a/templates/widget/read.html b/templates/widget/event_date/list.html similarity index 57% rename from templates/widget/read.html rename to templates/widget/event_date/list.html index 71e63d0..d4930fb 100644 --- a/templates/widget/read.html +++ b/templates/widget/event_date/list.html @@ -3,11 +3,14 @@ {% block title %} {{ _('Widget') }} {% endblock %} +{% block styles %} + +{% endblock %} {% block navbar %} {% endblock %} {% block content %} -
+
@@ -35,24 +38,20 @@ {% for date in dates %} -
+ +
-
-
- {% if date.event.photo_id %} - - {% endif %} -
+
-
+
{{ date.event.name }}
-
{{ date.start | dateformat('medium') }} {{ date.start | timeformat('short') }}
-

{{ date.event.description | truncate(100) }}

+
{{ date.start | dateformat('medium') }} {{ date.start | timeformat('short') }}
+

{{ date.event.description | truncate(200) }}

{% if date.event.place %}{{ date.event.place.name }}{% else %}{{ date.event.event_place.name }}{% endif %} - +
-
+
{% if date.event.photo_id %} {% endif %} @@ -62,6 +61,31 @@
+ + +
+
+
+
+ {% if date.event.photo_id %} + + {% endif %} +
+
+
+
+
{{ date.event.name }}
+
{{ date.start | dateformat('medium') }} {{ date.start | timeformat('short') }}
+

{{ date.event.description | truncate(100) }}

+ {% if date.event.place %}{{ date.event.place.name }}{% else %}{{ date.event.event_place.name }}{% endif %} + +
+
+
+
+
+
+ {% endfor %} {% endblock %} \ No newline at end of file diff --git a/templates/widget/event_date/read.html b/templates/widget/event_date/read.html new file mode 100644 index 0000000..9a95bde --- /dev/null +++ b/templates/widget/event_date/read.html @@ -0,0 +1,23 @@ +{% extends "layout.html" %} +{% from "_macros.html" import render_event_props, render_image, render_ooa_with_link, render_place, render_link_prop %} +{% set event = event_date.event %} +{% block title %} +{{ event.name }} +{% endblock %} +{% block styles %} + +{% endblock %} +{% block header %} + +{% endblock %} +{% block navbar %} +{% endblock %} +{% block content %} + +
+ {{ render_event_props(event, event_date.start, event_date.end) }} +
+ +{% endblock %} \ No newline at end of file