Refactor: split code into several django apps (we call them modules).

This commit is contained in:
2018-12-13 14:47:58 +01:00
parent c23dc33d4e
commit 0d5a8c65e3
81 changed files with 739 additions and 332 deletions

View File

@@ -1,6 +0,0 @@
{% extends "error_base.html" %}
{% block error-code %}400{% endblock %}
{% block error-title %}Bad Request{% endblock %}
{% block error-heading %}Fehlerhafte Anfrage{% endblock %}
{% block error-body %}<p>Irgendwas ist hier falsch gelaufen.</p>{% endblock %}

View File

@@ -1,8 +0,0 @@
{% extends "error_base.html" %}
{% block error-code %}403{% endblock %}
{% block error-title %}Forbidden{% endblock %}
{% block error-heading %}Keine Berechtigung{% endblock %}
{% block error-body %}
<p>Irgendwas darfst du hier nicht.</p>
{% endblock %}

View File

@@ -1,6 +0,0 @@
{% extends "error_base.html" %}
{% block error-code %}404{% endblock %}
{% block error-title %}Not Found{% endblock %}
{% block error-heading %}Ressource nicht gefunden{% endblock %}
{% block error-body %}<p>{{ exception }}</p>{% endblock %}

View File

@@ -1,6 +0,0 @@
{% extends "error_base.html" %}
{% block error-code %}500{% endblock %}
{% block error-title %}Internal Server Error{% endblock %}
{% block error-heading %}Serverfehler{% endblock %}
{% block error-body %}<p>Irgendwas ist jetzt kaputt.</p>{% endblock %}

View File

@@ -1,36 +0,0 @@
{% extends "dav_events/base.html" %}
{% load bootstrap3 %}
{% load i18n %}
{% block head-title %}{% trans 'Login' %} - {{ block.super }}{% endblock head-title %}
{% block page-container %}
<div class="row">
<div class="col-sm-2">
&nbsp;
</div>
<div class="col-sm-8">
<h3>{% trans 'Login' %}</h3>
<div class="well">
<form action="" method="post">
{% csrf_token %}
{% bootstrap_form form %}
<div class="pull-right"><a href="{% url 'dav_events:reset_password' %}">{% trans 'Passwort vergessen?' %}</a></div>
{% buttons %}
<button type="submit" class="btn btn-success">
{% bootstrap_icon 'log-in' %}&thinsp;
{% trans 'Login' %}
</button>
<a class="btn btn-danger" href="{% url 'dav_events:home' %}">
{% bootstrap_icon 'remove' %}&thinsp;
{% trans 'Abbrechen' %}
</a>
{% endbuttons %}
</form>
</div>
</div>
<div class="col-sm-3">
&nbsp;
</div>
</div>
{% endblock page-container %}

View File

@@ -1,35 +0,0 @@
{% extends "dav_events/base.html" %}
{% load bootstrap3 %}
{% load i18n %}
{% block head-title %}{% trans 'Passwort vergessen?' %} - {{ block.super }}{% endblock head-title %}
{% block page-container %}
<div class="row">
<div class="col-sm-2">
&nbsp;
</div>
<div class="col-sm-8">
<h3>{% trans 'Passwort vergessen?' %}</h3>
<div class="well">
<form action="" method="post">
{% csrf_token %}
{% bootstrap_form form %}
{% buttons %}
<button type="submit" class="btn btn-success">
{% bootstrap_icon 'saved' %}&thinsp;
{% trans 'Neues Passwort per E-Mail zusenden' %}
</button>
<a class="btn btn-danger" href="{% url 'dav_events:home' %}">
{% bootstrap_icon 'remove' %}&thinsp;
{% trans 'Abbrechen' %}
</a>
{% endbuttons %}
</form>
</div>
</div>
<div class="col-sm-3">
&nbsp;
</div>
</div>
{% endblock page-container %}

View File

@@ -1,35 +0,0 @@
{% extends "dav_events/base.html" %}
{% load bootstrap3 %}
{% load i18n %}
{% block head-title %}{% trans 'Neues Passwort setzen' %} - {{ user }} - {{ block.super }}{% endblock head-title %}
{% block page-container %}
<div class="row">
<div class="col-sm-2">
&nbsp;
</div>
<div class="col-sm-8">
<h3>{% trans 'Neues Passwort setzen' %}</h3>
<div class="well">
<form action="" method="post">
{% csrf_token %}
{% bootstrap_form form %}
{% buttons %}
<button type="submit" class="btn btn-success">
{% bootstrap_icon 'saved' %}&thinsp;
{% trans 'Neues Passwort setzen' %}
</button>
<a class="btn btn-danger" href="{% url 'dav_events:home' %}">
{% bootstrap_icon 'remove' %}&thinsp;
{% trans 'Abbrechen' %}
</a>
{% endbuttons %}
</form>
</div>
</div>
<div class="col-sm-3">
&nbsp;
</div>
</div>
{% endblock page-container %}

View File

@@ -1,71 +1,3 @@
<!DOCTYPE html>
{% load static %}
{% load i18n %}
{% load bootstrap3 %}
<html lang="{{ LANGUAGE_CODE|default:'de' }}">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
{% block head-media %}
<link type="image/x-icon" href="{% static 'dav_events/img/dav-favicon.ico' %}" rel="shortcut icon" />
<link type="text/css" href="{% static 'dav_events/bootstrap/css/bootstrap.min.css' %}" rel="stylesheet" />
<link type="text/css" href="{% static 'dav_events/css/dataTables.bootstrap.min.css' %}" rel="stylesheet" />
<link type="text/css" href="{% static 'dav_events/css/local.css' %}" rel="stylesheet" />
{% extends "dav_base/base.html" %}
<script type="text/javascript" src="{% static 'dav_events/js/jquery.min.js' %}"></script>
<script type="text/javascript" src="{% static 'dav_events/js/jquery.dataTables.min.js' %}"></script>
<script type="text/javascript" src="{% static 'dav_events/bootstrap/js/bootstrap.min.js' %}"></script>
{{ form.media }}
{% endblock head-media %}
{% block head-additional %}
{% endblock head-additional %}
<title>
{% block head-title %}Veranstaltungsheinzel - Alpenverein Karlsruhe{% endblock head-title %}
</title>
</head>
<body>
<div id="page">
<div id="page-header">
<h2>
<a href="{% url 'dav_events:home' %}">
<img width="217" height="30" src="{% static 'dav_events/img/brand.png' %}" />Veranstaltungsheinzel
</a>
</h2>
<div id="login-widget">{% include 'dav_events/includes/login_widget.html' %}</div>
</div>
<div id="messages">
{% block messages %}
<div class="container-fluid">
{% bootstrap_messages %}
</div>
{% endblock messages %}
</div>
<div id="page-body">
{% block modals %}
{% endblock modals %}
{% block page-body %}
<div class="container-fluid">
{% block page-container-fluid %}
{% endblock page-container-fluid %}
</div>
<div class="container">
{% block page-container %}
{% endblock page-container %}
</div>
{% endblock page-body %}
</div>
<div id="page-footer">
<div class="signum"><a href="mailto:heinzel@alpenverein-karlsruhe.de">heinzel@alpenverein-karlsruhe.de</a></div>
<a href="http://alpenverein-karlsruhe.de" target="_blank">&copy; Sektion Karlsruhe im Deutschen Alpenverein (DAV) e.V.</a> &ensp;&bull;&ensp;
<a href="http://alpenverein-karlsruhe.de/impressum">{% trans 'Impressum' %}</a>
</div>
</div>
</body>
</html>
{% block head-title %}Touren und Kurse - {{ block.super }}{% endblock %}

View File

@@ -1,6 +0,0 @@
Hallo {{ fullname }},
Benutzername: {{ username }}
Passwort: {{ password }}
URL: {{ base_url }}{% url 'dav_events:home' %}

View File

@@ -23,7 +23,7 @@
</p>
</div>
<div class="modal-footer">
<a class="btn btn-success" href="{% url 'dav_events:event_confirmstatus' event.pk 'submitted' %}">
<a class="btn btn-success" href="{% url 'dav_events:confirmstatus' event.pk 'submitted' %}">
{% bootstrap_icon 'ok' %}&thinsp;
{% trans 'Ja, alles klar!' %}
</a>
@@ -51,7 +51,7 @@
</p>
</div>
<div class="modal-footer">
<a class="btn btn-success" href="{% url 'dav_events:event_confirmstatus' event.pk 'accepted' %}">
<a class="btn btn-success" href="{% url 'dav_events:confirmstatus' event.pk 'accepted' %}">
{% bootstrap_icon 'ok' %}&thinsp;
{% trans 'Ja, passt schon!' %}
</a>
@@ -84,7 +84,7 @@
</p>
</div>
<div class="modal-footer">
<a class="btn btn-success" href="{% if event.planned_publication_date %}{% url 'dav_events:event_confirmstatus' event.pk 'publishing' %}{% else %}{% url 'dav_events:event_confirmstatus' event.pk 'published' %}{% endif %}">
<a class="btn btn-success" href="{% if event.planned_publication_date %}{% url 'dav_events:confirmstatus' event.pk 'publishing' %}{% else %}{% url 'dav_events:confirmstatus' event.pk 'published' %}{% endif %}">
{% bootstrap_icon 'ok' %}&thinsp;
{% trans 'Ja' %}
</a>
@@ -135,7 +135,7 @@
</a>
{% endif %}
<a class="btn btn-primary"
href="{% url 'dav_events:event_create' %}?copy={{ event.pk }}"
href="{% url 'dav_events:create' %}?copy={{ event.pk }}"
title="{% trans 'Diese Veranstaltung als Vorlage für eine neue Veranstaltung benutzen' %}">
{% bootstrap_icon 'duplicate' %}&thinsp;
{% trans 'Kopieren' %}
@@ -144,15 +144,15 @@
<ul class="nav nav-tabs" role="tablist">
<li>
<a class="btn"
href="{% url 'dav_events:event_list' %}">{% trans 'Veranstaltungsliste' %}</a>
href="{% url 'dav_events:list' %}">{% trans 'Veranstaltungsliste' %}</a>
</li>
<li class="active">
<a class="btn"
href="{% url 'dav_events:event_detail' event.pk %}">{% trans 'Details' %}</a>
href="{% url 'dav_events:detail' event.pk %}">{% trans 'Details' %}</a>
</li>
<li class="{% if not has_permission_update %}disabled{% endif %}">
<a class="btn {% if has_permission_update %}btn-warning{% else %}disabled{% endif %}"
href="{% url 'dav_events:event_update' event.pk %}">{% trans 'Ändern' %}</a>
href="{% url 'dav_events:update' event.pk %}">{% trans 'Ändern' %}</a>
</li>
</ul>
</div>

View File

@@ -6,18 +6,18 @@
<div class="action-tabs">
<div class="pull-right">
<a class="btn btn-primary"
href="{% url 'dav_events:event_create' %}">
href="{% url 'dav_events:create' %}">
{% bootstrap_icon 'plus' %}
{% trans 'Neue Veranstaltung anlegen' %}
</a>
</div>
<ul class="nav nav-tabs" role="tablist">
<li class="active">
<a href="{% url 'dav_events:event_list' %}">{% trans 'Veranstaltungsliste' %}</a>
<a href="{% url 'dav_events:list' %}">{% trans 'Veranstaltungsliste' %}</a>
</li>
<li class="{% if not has_permission_export %}disabled{% endif %}">
<a class="btn {% if not has_permission_export %}disabled{% endif %}"
href="{% url 'dav_events:event_list_export' %}">{% trans 'Veranstaltungsliste herunterladen' %}</a>
href="{% url 'dav_events:list_export' %}">{% trans 'Veranstaltungsliste herunterladen' %}</a>
</li>
</ul>
</div>
@@ -45,11 +45,11 @@
<tr>
<td data-order="{{ event.get_number|slice:':1' }}{{ event.get_number|slice:'-2:' }}{{ event.get_number|slice:'1:-2'|cut:'/' }}"
data-search="{{ event.get_number }} ({{ event.get_sport_display }})">
<a href="{% url 'dav_events:event_detail' event.pk %}">{{ event.get_number }}</a><br />
<a href="{% url 'dav_events:detail' event.pk %}">{{ event.get_number }}</a><br />
<small>({{ event.get_sport_display }})</small>
</td>
<td>
<a href="{% url 'dav_events:event_detail' event.pk %}">{{ event.title }}</a>
<a href="{% url 'dav_events:detail' event.pk %}">{{ event.title }}</a>
</td>
<td>
{{ event.get_trainer_full_name }}

View File

@@ -6,17 +6,17 @@
<div class="action-tabs">
<div class="pull-right">
<a class="btn btn-primary"
href="{% url 'dav_events:event_create' %}">
href="{% url 'dav_events:create' %}">
{% bootstrap_icon 'plus' %}
{% trans 'Neue Veranstaltung anlegen' %}
</a>
</div>
<ul class="nav nav-tabs" role="tablist">
<li>
<a href="{% url 'dav_events:event_list' %}">{% trans 'Veranstaltungsliste' %}</a>
<a href="{% url 'dav_events:list' %}">{% trans 'Veranstaltungsliste' %}</a>
</li>
<li class="active">
<a href="{% url 'dav_events:event_list_export' %}">{% trans 'Veranstaltungsliste herunterladen' %}</a>
<a href="{% url 'dav_events:list_export' %}">{% trans 'Veranstaltungsliste herunterladen' %}</a>
</li>
</ul>
</div>
@@ -29,7 +29,7 @@
{% bootstrap_icon 'download-alt' %}&thinsp;
{% trans 'Herunterladen' %}
</button>
<a class="btn btn-danger" href="{% url 'dav_events:event_list' %}">
<a class="btn btn-danger" href="{% url 'dav_events:list' %}">
{% bootstrap_icon 'remove' %}&thinsp;
{% trans 'Abbrechen' %}
</a>

View File

@@ -8,13 +8,13 @@
<div class="action-tabs">
<ul class="nav nav-tabs" role="tablist">
<li>
<a href="{% url 'dav_events:event_list' %}">{% trans 'Veranstaltungsliste' %}</a>
<a href="{% url 'dav_events:list' %}">{% trans 'Veranstaltungsliste' %}</a>
</li>
<li>
<a href="{% url 'dav_events:event_detail' event.pk %}">{% trans 'Details' %}</a>
<a href="{% url 'dav_events:detail' event.pk %}">{% trans 'Details' %}</a>
</li>
<li class="active">
<a href="{% url 'dav_events:event_update' event.pk %}">{% trans 'Ändern' %}</a>
<a href="{% url 'dav_events:update' event.pk %}">{% trans 'Ändern' %}</a>
</li>
</ul>
</div>
@@ -50,7 +50,7 @@
{% bootstrap_icon 'hdd' %}&thinsp;
{% trans 'Speichern' %}
</button>
<a class="btn btn-danger" href="{% url 'dav_events:event_detail' event.pk %}">
<a class="btn btn-danger" href="{% url 'dav_events:detail' event.pk %}">
{% bootstrap_icon 'remove' %}&thinsp;
{% trans 'Abbrechen' %}
</a>

View File

@@ -18,7 +18,7 @@
Du wirst dann per E-Mail auf dem laufenden gehalten.
</p>
<p>
<a class="btn btn-primary" href="{% url 'dav_events:event_create' %}">Los geht's!</a>
<a class="btn btn-primary" href="{% url 'dav_events:create' %}">Los geht's!</a>
</p>
</div>
<div class="well">
@@ -30,7 +30,7 @@
Tourenreferenten und Redakteure können hier Veranstaltungen freigeben und Programmlisten herunterladen.
</p>
<p>
<a class="btn btn-primary" href="{% url 'dav_events:event_list' %}">Weiter</a>
<a class="btn btn-primary" href="{% url 'dav_events:list' %}">Weiter</a>
</p>
</div>
{% endblock page-container-fluid %}

View File

@@ -1,19 +0,0 @@
{% load bootstrap3 %}
{% load i18n %}
{% if user.is_authenticated %}
<div class="dropdown">
<button type="button" id="user_dropdown_button" class="btn btn-default btn-sm dropdown-toggle"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
{{ user }}&ensp;<span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right" aria-labelledby="user_dropdown_button">
<li><a href="{% url 'dav_events:set_password' %}">{% trans 'Passwort ändern' %}</a></li>
<li><a href="{% url 'dav_events:logout' %}">{% trans 'Logout' %}</a></li>
</ul>
</div>
{% else %}
<a class="btn btn-default btn-sm" href="{% url 'dav_events:login' %}">
{% bootstrap_icon 'log-in' %}&nbsp;
{% trans 'Login' %}
</a>
{% endif %}

View File

@@ -1,17 +0,0 @@
{% extends "dav_events/base.html" %}
{% load bootstrap3 %}
{% block head-title %}{% block error-code %}{% endblock %} {% block error-title %}Error{% endblock %} - {{ block.super }}{% endblock head-title %}
{% block page-container %}
<div class="panel panel-danger">
<div class="panel-heading">
<h1>{% block error-heading %}Error{% endblock %}</h1>
</div>
<div class="panel-body">
{% block error-body %}
<p>Irgendwas ist hier falsch gelaufen.</p>
{% endblock %}
</div>
</div>
{% endblock page-container %}