131 lines
3.8 KiB
HTML
131 lines
3.8 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block content %}
|
|
|
|
<h1>Kursverwaltung</h1>
|
|
|
|
{% if form_error %}
|
|
<div class="error-box">{{ form_error }}</div>
|
|
{% endif %}
|
|
|
|
<div class="admin-panel">
|
|
<h2>Neuen Kurs anlegen</h2>
|
|
|
|
<form method="post" class="admin-grid-form">
|
|
<input type="hidden" name="action" value="create">
|
|
|
|
<div class="form-row">
|
|
<label>Code</label>
|
|
<input type="text" name="code" value="{{ form_values.code if form_values else '' }}" placeholder="z.B. A1" required>
|
|
</div>
|
|
|
|
<div class="form-row">
|
|
<label>Titel</label>
|
|
<input type="text" name="title" value="{{ form_values.title if form_values else '' }}" required>
|
|
</div>
|
|
|
|
<div class="form-row">
|
|
<label>Level</label>
|
|
<select name="min_level" required>
|
|
<option value="1" {% if form_values and form_values.min_level == '1' %}selected{% endif %}>1 - Gold</option>
|
|
<option value="2" {% if form_values and form_values.min_level == '2' %}selected{% endif %}>2 - Silber</option>
|
|
<option value="3" {% if form_values and form_values.min_level == '3' %}selected{% endif %}>3 - Bronze</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-row">
|
|
<label>Video-Datei</label>
|
|
<select name="video_file" required>
|
|
<option value="">Bitte wählen</option>
|
|
{% for v in video_files %}
|
|
<option value="{{ v }}" {% if form_values and form_values.video_file == v %}selected{% endif %}>
|
|
{{ v }}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-row">
|
|
<label>Sortierung</label>
|
|
<input type="number" name="sort_order" value="{{ form_values.sort_order if form_values else '0' }}">
|
|
</div>
|
|
|
|
<div class="form-row form-row-full">
|
|
<label>Beschreibung</label>
|
|
<textarea name="description">{{ form_values.description if form_values else '' }}</textarea>
|
|
</div>
|
|
|
|
<div class="form-row form-row-full">
|
|
<button class="btn-primary">Kurs anlegen</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
<div class="admin-panel">
|
|
<h2>Bestehende Kurse</h2>
|
|
|
|
<table class="mandanten-table">
|
|
<thead>
|
|
<tr>
|
|
<th>ID</th>
|
|
<th>Code</th>
|
|
<th>Titel</th>
|
|
<th>Level</th>
|
|
<th>Video</th>
|
|
<th>Sort</th>
|
|
<th>Aktionen</th>
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
{% for c in courses %}
|
|
<tr>
|
|
<form method="post">
|
|
<input type="hidden" name="id" value="{{ c.id }}">
|
|
|
|
<td>{{ c.id }}</td>
|
|
|
|
<td>
|
|
<input type="text" name="code" value="{{ c.code }}">
|
|
</td>
|
|
|
|
<td>
|
|
<input type="text" name="title" value="{{ c.title }}">
|
|
</td>
|
|
|
|
<td>
|
|
<select name="min_level">
|
|
<option value="1" {% if c.min_level == 1 %}selected{% endif %}>1 - Gold</option>
|
|
<option value="2" {% if c.min_level == 2 %}selected{% endif %}>2 - Silber</option>
|
|
<option value="3" {% if c.min_level == 3 %}selected{% endif %}>3 - Bronze</option>
|
|
</select>
|
|
</td>
|
|
|
|
<td>
|
|
<select name="video_file">
|
|
{% for v in video_files %}
|
|
<option value="{{ v }}" {% if c.video_file == v %}selected{% endif %}>
|
|
{{ v }}
|
|
</option>
|
|
{% endfor %}
|
|
</select>
|
|
</td>
|
|
|
|
<td>
|
|
<input type="number" name="sort_order" value="{{ c.sort_order }}">
|
|
</td>
|
|
|
|
<td>
|
|
<input type="hidden" name="description" value="{{ c.description or '' }}">
|
|
<button name="action" value="update" class="btn-primary btn-small">Speichern</button>
|
|
<button name="action" value="delete" class="btn-danger btn-small">Löschen</button>
|
|
</td>
|
|
</form>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
|
|
{% endblock %} |