From f80b635ca32e42533b3966108ae6add1b65335c9 Mon Sep 17 00:00:00 2001
From: Patrick Jentsch <p.jentsch@uni-bielefeld.de>
Date: Tue, 25 Jul 2023 15:18:57 +0200
Subject: [PATCH] Add workshops package

---
 app/__init__.py                               |   3 +
 .../_fgho_sommerschule_2023/_aufgaben.html.j2 | 131 ++++++++++++++++++
 .../_vorbereitungen.html.j2                   |   1 +
 .../workshops/fgho_sommerschule_2023.html.j2  |  19 +++
 app/workshops/__init__.py                     |   5 +
 app/workshops/routes.py                       |  10 ++
 6 files changed, 169 insertions(+)
 create mode 100644 app/templates/workshops/_fgho_sommerschule_2023/_aufgaben.html.j2
 create mode 100644 app/templates/workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2
 create mode 100644 app/templates/workshops/fgho_sommerschule_2023.html.j2
 create mode 100644 app/workshops/__init__.py
 create mode 100644 app/workshops/routes.py

diff --git a/app/__init__.py b/app/__init__.py
index 50f946be..41b3eeb1 100644
--- a/app/__init__.py
+++ b/app/__init__.py
@@ -102,4 +102,7 @@ def create_app(config: Config = Config) -> Flask:
     default_breadcrumb_root(users_blueprint, '.users')
     app.register_blueprint(users_blueprint, url_prefix='/users')
 
+    from .workshops import bp as workshops_blueprint
+    app.register_blueprint(workshops_blueprint, url_prefix='/workshops')
+
     return app
diff --git a/app/templates/workshops/_fgho_sommerschule_2023/_aufgaben.html.j2 b/app/templates/workshops/_fgho_sommerschule_2023/_aufgaben.html.j2
new file mode 100644
index 00000000..dcdee8e1
--- /dev/null
+++ b/app/templates/workshops/_fgho_sommerschule_2023/_aufgaben.html.j2
@@ -0,0 +1,131 @@
+<h2>Workshop Aufgaben</h2>
+<p>Hallo liebe Inga</p>
+
+<h3>Aufgabe 1</h3>
+<p>
+  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+  eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+  voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+  clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+</p>
+<ul class="collapsible">
+  <li>
+    <div class="collapsible-header">Tipp 1</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Tipp 2</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Lösung</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+</ul>
+
+<h3>Aufgabe 2</h3>
+<p>
+  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+  eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+  voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+  clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+</p>
+<ul class="collapsible">
+  <li>
+    <div class="collapsible-header">Tipp 1</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Tipp 2</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Lösung</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+</ul>
+
+<h3>Aufgabe 3</h3>
+<p>
+  Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+  eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+  voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet
+  clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
+</p>
+<ul class="collapsible">
+  <li>
+    <div class="collapsible-header">Tipp 1</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Tipp 2</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+  <li>
+    <div class="collapsible-header">Lösung</div>
+    <div class="collapsible-body">
+      <p>
+        <pre><code>[word="lorem"];</code></pre>
+        Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy
+        eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam
+        voluptua.
+      </p>
+    </div>
+  </li>
+</ul>
diff --git a/app/templates/workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2 b/app/templates/workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2
new file mode 100644
index 00000000..d888bb3d
--- /dev/null
+++ b/app/templates/workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2
@@ -0,0 +1 @@
+<h2>Vorbereitungen</h2>
diff --git a/app/templates/workshops/fgho_sommerschule_2023.html.j2 b/app/templates/workshops/fgho_sommerschule_2023.html.j2
new file mode 100644
index 00000000..46ae8d7a
--- /dev/null
+++ b/app/templates/workshops/fgho_sommerschule_2023.html.j2
@@ -0,0 +1,19 @@
+{% extends "base.html.j2" %}
+
+{% block page_content %}
+<div class="container">
+  <div class="row">
+    <div class="col s12">
+      <h1 id="title">{{ title }}</h1>
+    </div>
+
+    <div class="col s12" id="fgho-sommerschule-2023-vorbereitungen">
+      {% include "workshops/_fgho_sommerschule_2023/_vorbereitungen.html.j2" %}
+    </div>
+
+    <div class="col s12" id="fgho-sommerschule-2023-workshop-aufgaben">
+      {% include "workshops/_fgho_sommerschule_2023/_aufgaben.html.j2" %}
+    </div>
+  </div>
+</div>
+{% endblock page_content %}
diff --git a/app/workshops/__init__.py b/app/workshops/__init__.py
new file mode 100644
index 00000000..25dffcc6
--- /dev/null
+++ b/app/workshops/__init__.py
@@ -0,0 +1,5 @@
+from flask import Blueprint
+
+
+bp = Blueprint('workshops', __name__)
+from . import routes
diff --git a/app/workshops/routes.py b/app/workshops/routes.py
new file mode 100644
index 00000000..95e24875
--- /dev/null
+++ b/app/workshops/routes.py
@@ -0,0 +1,10 @@
+from flask import render_template
+from . import bp
+
+
+@bp.route('/fgho_sommerschule_2023')
+def index():
+    return render_template(
+        'workshops/fgho_sommerschule_2023.html.j2',
+        title='FGHO Sommerschule 2023',
+    )
-- 
GitLab