diff --git a/schoolapps/fibu/templates/fibu/booking/index.html b/schoolapps/fibu/templates/fibu/booking/index.html index de52abf856daf35156fd53b25818c553ca291365..3992a6bded31d2c66b53bbdc8d3199d5724c558b 100755 --- a/schoolapps/fibu/templates/fibu/booking/index.html +++ b/schoolapps/fibu/templates/fibu/booking/index.html @@ -2,42 +2,61 @@ {% load material_form %} <main> - {% block content %} - <a href="{% url 'new_booking' %}" class="waves-effect waves-light btn green right">Neue Buchung anlegen</a> - <span class="right" style="width: 20px;"> </span> - {% if archiv %} - <a href="{% url 'booking' 0 %}" class="waves-effect waves-light btn grey right">Zur aktuellen Übersicht</a> + <div class="right"> + {% if is_archive %} + <a href="{% url 'booking' %}" class="waves-effect waves-light btn grey">Zur aktuellen Übersicht</a> {% else %} - <a href="{% url 'booking' 1 %}" class="waves-effect waves-light btn grey right">Zum Archiv</a> + <a href="{% url 'booking' "archive" %}" class="waves-effect waves-light btn grey">Zum Archiv</a> {% endif %} - <h4>Buchungen</h4> - <div class="collection"> - {% for booking in bookings %} - <a href="/fibu/booking/book/{{ booking.id }}" class="collection-item row"> - <span class="col s5 m5">{{ booking.description }}</span> - <span class="col s1 m1 right-align">{{ booking.planned_amount }} €</span> - <span class="col s3 m3">{{ booking.account }}</span> - <span class="col s1 m1 center">{{ booking.contact }}</span> - <span class="col s1 m1 badge new center-align {{ booking.get_status.style_class }}"> + + <a href="{% url 'new_booking' %}" class="waves-effect waves-light btn green">Neue Buchung anlegen</a> + </div> + + <h4>{% if is_archive %}Buchungsarchiv{% else %}Aktuelle Buchungen{% endif %}</h4> + + <table> + <thead> + <tr> + <th>Anschaffungswunsch</th> + <th>Geplanter Betrag</th> + <th>Antragsteller</th> + <th>Status</th> + <th>Aktionen</th> + </tr> + </thead> + {% for booking in bookings %} + <tr> + <td> + <a href="{% url "booking_book" booking.id %}">{{ booking.description }}</a> + </td> + <td>{{ booking.planned_amount }} €</td> + <td>{{ booking.account|default:"" }}</td> + <td>{{ booking.contact.get_full_name }}</td> + <td> + <span class="badge new center-align {{ booking.get_status.style_class }}"> {{ booking.get_status.name }} </span> - <span class="col s1 m1"> - {% if booking.status < 2 %} - <form method="POST" class="left"> - {% csrf_token %} - <input type="hidden" value="{{ booking.id }}" name="booking-id"> - <button type="submit" - onclick="return confirm('Wollen Sie den Antrag wirklich löschen?')" - name="cancel" class="waves-effect waves-light btn-flat btn-flat-medium" - title="Löschen"> - <i class="material-icons center red-text">cancel</i> + </td> + <td> + {% if booking.status < 2 %} + <form method="POST" class="right"> + {% csrf_token %} + <input type="hidden" value="{{ booking.id }}" name="booking-id"> + <button type="submit" + onclick="return confirm('Wirklich löschen?')" + name="cancel" class="waves-effect waves-light btn-flat btn-flat-medium red-text" + title="Löschen"> + <i class="material-icons center">cancel</i> </button> </form> {% endif %} - </span> - </a> - {% endfor %} - </div> - {% endblock %} + <a class="waves-effect waves-light btn-flat btn-flat-medium green-text right" title="Bearbeiten" + href="{% url "booking_book" booking.id %}"> + <i class="material-icons">edit</i> + </a> + </td> + </tr> + {% endfor %} + </table> </main> {% include 'partials/footer.html' %} diff --git a/schoolapps/fibu/urls.py b/schoolapps/fibu/urls.py index 9f23b05ae007761b7587a85705a922f13bafa442..ad4bf018c63ceeba331eee673da385e059bc9b02 100755 --- a/schoolapps/fibu/urls.py +++ b/schoolapps/fibu/urls.py @@ -4,11 +4,12 @@ from . import views urlpatterns = [ path('', views.index, name='fibu_index'), - path('booking/check', views.check, name='booking_check'), - path('booking/edit/<int:id>', views.edit, name='booking_edit'), - path('booking/new', views.new_booking, name='new_booking'), - path('booking/<int:archiv>', views.booking, name='booking'), - path('booking/book/<int:id>', views.book, name='booking_book'), + path('bookings/check', views.check, name='booking_check'), + path('bookings/edit/<int:id>', views.edit, name='booking_edit'), + path('bookings/new', views.new_booking, name='new_booking'), + path('bookings/', views.booking, name='booking'), + path('bookings/<str:is_archive>', views.booking, name='booking'), + path('bookings/book/<int:id>', views.book, name='booking_book'), path('costcenter', views.costcenter, name='costcenter'), path('costcenter/edit/<int:id>', views.costcenter_edit, name='costcenter_edit'), path('account', views.account, name='account'), @@ -17,4 +18,4 @@ urlpatterns = [ path('reports/expenses', views.expenses, name='expenses'), # path('make_booking', views.make_booking, name='fibu_make_booking'), # path('edit/<int:id>', views.edit, name='booking_edit'), - ] +] diff --git a/schoolapps/fibu/views.py b/schoolapps/fibu/views.py index b88cc57920bce560b3fe762b61e95afe9420b4fa..a83204d40b78878616095d5d9d2748532518bb9a 100644 --- a/schoolapps/fibu/views.py +++ b/schoolapps/fibu/views.py @@ -100,12 +100,13 @@ def check(request): @login_required @permission_required('fibu.manage_booking') -def booking(request, archiv): - if archiv: +def booking(request, is_archive=""): + is_archive = is_archive == "archive" + if is_archive: bookings = Booking.objects.filter(status=5).order_by('-status') else: bookings = Booking.objects.filter(status__lt=5).order_by('-status') - context = {'bookings': bookings, 'archiv': archiv} + context = {'bookings': bookings, 'is_archive': is_archive} return render(request, 'fibu/booking/index.html', context)