add form labels, form errors, log action

This commit is contained in:
2022-04-02 08:46:58 +00:00
parent 5841eb363e
commit 96805b2cc1
7 changed files with 162 additions and 72 deletions

View File

@@ -10,17 +10,35 @@
<form action="" method="POST" class="w-full max-w-prose sm:px-28 sm:py-4 grid grid-cols-1 gap-y-3 sm:gap-y-6 text-gray-900">
{% csrf_token %}
{% if form.non_field_errors %}
<div class="alert alert-danger">
<i class="alert-icon fas fa-check-circle"></i>
<h2 class="alert-title">Fehler:</h2>
<div class="alert-body">{{ form.non_field_errors }}</div>
</div>
{% endif %}
<label class="block">
<span class="text-gray-700 dark:text-gray-200">Titel</span>
<span class="text-gray-700 dark:text-gray-200">{{ form.title.label }}</span>
{% if form.title.errors %}
<div class="alert alert-danger">
<div class="alert-body">{{ form.title.errors }}</div>
</div>
{% endif %}
<input type="text" id="id_title" name="title" class="mt-1 block w-full rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50" required>
</label>
<label>
<span class="text-gray-700 dark:text-gray-200">Datum</span>
<span class="text-gray-700 dark:text-gray-200">{{ form.date.label }}</span>
{% if form.date.errors %}
<div class="alert alert-danger">
<div class="alert-body">{{ form.date.errors }}</div>
</div>
{% endif %}
<input type="date" id="id_date" name="date" class="block w-full mt-1 rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50">
</label>
<input type="hidden" name="task" value="{{ task_id }}" id="id_task">
<input type="hidden" name="task" value="{{ task.id }}" id="id_task">
<input type="submit" class="block btn btn-primary" value="Hinzufügen">
</form>

View File

@@ -84,23 +84,25 @@
<section class="my-8 sm:my-0 sm:w-3/5 xl:w-2/5 flex flex-col gap-4 text-gray-700 dark:text-gray-200">
{% if tasks %}
<form action="" method="post">
{% csrf_token %}
{% regroup tasks by task_list as section_list %}
{% for group in section_list %}
<h3>{{ group.grouper }}</h3>
{% csrf_token %}
{% for task in group.list %}
<label class="flex justify-between items-start">
<div class="inline-flex items-baseline mr-2">
<input type="checkbox" name="checkbox" value="{{ task.id }}" {% if task.completed %}checked{% endif %} class="rounded border-gray-300 dark:border-none text-proprietary shadow-sm focus:border-blue-300 focus:ring focus:ring-offset-0 focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50">
<span class="ml-2">{{ task.title }} <a href="{% url 'tasks:task-detail' task.id %}" class="inline-block text-proprietary dark:text-proprietary-lighter">Link <i class="fa-solid fa-link"></i></a></span>
</div>
{% if task.due_date %}
<div class="inline-flex gap-2 flex-shrink-0">
<span class="px-2 py-0.5 rounded-full text-sm font-medium text-proprietary dark:text-blue-100 bg-blue-200 dark:bg-proprietary-dark"><i class="fa-solid fa-hourglass mr-1"></i>{{ task.due_date|date:"d.m.Y" }}</span>
{% regroup tasks by task_list as section_list %}
{% for group in section_list %}
<h3>{{ group.grouper }}</h3>
{% for task in group.list %}
<label class="flex justify-between items-start">
<div class="inline-flex items-baseline mr-2">
<input type="checkbox" name="checkbox" value="{{ task.id }}" {% if task.completed %}checked{% endif %} class="rounded border-gray-300 dark:border-none text-proprietary shadow-sm focus:border-blue-300 focus:ring focus:ring-offset-0 focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50">
<span class="ml-2">{{ task.title }} <a href="{% url 'tasks:task-detail' task.id %}" class="inline-block text-proprietary dark:text-proprietary-lighter">Link <i class="fa-solid fa-link"></i></a></span>
</div>
{% endif %}
</label>
{% if task.due_date %}
<div class="inline-flex gap-2 flex-shrink-0">
<span class="px-2 py-0.5 rounded-full text-sm font-medium text-proprietary dark:text-blue-100 bg-blue-200 dark:bg-proprietary-dark"><i class="fa-solid fa-hourglass mr-1"></i>{{ task.due_date|date:"d.m.Y" }}</span>
</div>
{% endif %}
</label>
{% endfor %}
{% endfor %}
<div class="flex flex-col md:flex-row gap-y-2 md:gap-y-0 md:gap-x-2 lg:justify-end mt-4">
@@ -108,7 +110,6 @@
<a href="{% url 'tasks:task-create' %}" class="btn btn-primary block md:flex-grow lg:flex-grow-0"><i class="fas fa-plus-square mr-2"></i>Task hinzufügen</a>
</div>
{% endfor %}
</form>
{% else %}
keine Tasks in dieser Liste für dich.

View File

@@ -9,16 +9,32 @@
<div class="w-full h-full flex-1 flex justify-center items-center">
<form action="" method="POST" class="w-full max-w-prose sm:px-28 sm:py-4 grid grid-cols-1 gap-y-3 sm:gap-y-6 text-gray-900">
{% csrf_token %}
{% if form.non_field_errors %}
<div class="alert alert-danger">
<i class="alert-icon fas fa-check-circle"></i>
<h2 class="alert-title">Fehler:</h2>
<div class="alert-body">{{ form.non_field_errors }}</div>
</div>
{% endif %}
<label class="block">
<span class="text-gray-700 dark:text-gray-200">Titel</span>
<span class="text-gray-700 dark:text-gray-200">{{ form.title.label }}</span>
{% if form.title.errors %}
<div class="alert alert-danger">
<div class="alert-body">{{ form.title.errors }}</div>
</div>
{% endif %}
<input type="text" id="id_title" name="title" class="mt-1 block w-full rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50" required>
</label>
<label class="block">
<span class="text-gray-700 dark:text-gray-200">Kürzel für den URL-Link</span>
<input type="text" id="id_shortterm" name="shortterm" class="mt-1 block w-full rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50" required>
</label>
<label>
<span class="text-gray-700 dark:text-gray-200">Task-Gruppe</span>
<span class="text-gray-700 dark:text-gray-200">{{ form.task_list.label }}</span>
{% if form.task_list.errors %}
<div class="alert alert-danger">
<div class="alert-body">{{ form.task_list.errors }}</div>
</div>
{% endif %}
<select id="id_task_list" name="task_list" class="block w-full mt-1 rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50" required>
{% for elem in form.task_list %}
{% if forloop.first %}
@@ -29,12 +45,24 @@
{% endfor %}
</select>
</label>
<label>
<span class="text-gray-700 dark:text-gray-200">Fähigkeitsdatum</span>
<span class="text-gray-700 dark:text-gray-200">{{ form.due_date.label }}</span>
{% if form.due_date.errors %}
<div class="alert alert-danger">
<div class="alert-body">{{ form.due_date.errors }}</div>
</div>
{% endif %}
<input type="date" id="id_due_date" name="due_date" class="block w-full mt-1 rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50">
</label>
<label>
<span class="text-gray-700 dark:text-gray-200">Zuweisen an</span>
<span class="text-gray-700 dark:text-gray-200">{{ form.assigned_to.label }}</span>
{% if form.assigned_to.errors %}
<div class="alert alert-danger">
<div class="alert-body">{{ form.assigned_to.errors }}</div>
</div>
{% endif %}
<select id="id_assigned_to" name="assigned_to" class="block w-full mt-1 rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50">
{% for elem in form.assigned_to %}
{% if forloop.first %}
@@ -43,9 +71,9 @@
{{ elem }}
{% endif %}
{% endfor %}
</select>
</label>
<input type="submit" class="block btn btn-primary" value="Hinzufügen">
</form>

View File

@@ -9,8 +9,22 @@
<div class="w-full h-full flex-1 flex justify-center items-center">
<form action="" method="POST" class="w-full max-w-prose sm:px-28 sm:py-4 grid grid-cols-1 gap-y-3 sm:gap-y-6 text-gray-900">
{% csrf_token %}
{% if form.non_field_errors %}
<div class="alert alert-danger">
<i class="alert-icon fas fa-check-circle"></i>
<h2 class="alert-title">Fehler:</h2>
<div class="alert-body">{{ form.non_field_errors }}</div>
</div>
{% endif %}
<label>
<span class="text-gray-700 dark:text-gray-200">Zuweisen an</span>
<span class="text-gray-700 dark:text-gray-200">{{ form.assigned_to.label }}</span>
{% if form.assigned_to.errors %}
<div class="alert alert-danger">
<div class="alert-body">{{ form.assigned_to.errors }}</div>
</div>
{% endif %}
<select id="id_assigned_to" name="assigned_to" class="block w-full mt-1 rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50">
{% for elem in form.assigned_to %}
{% if forloop.first %}
@@ -23,10 +37,17 @@
</label>
<label>
<span class="text-gray-700 dark:text-gray-200">Fähigkeitsdatum</span>
<input type="date" id="id_due_date" name="due_date" value="{{ task.due_date|date:"Y-m-d" }}" class="block w-full mt-1 rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50">
<span class="text-gray-700 dark:text-gray-200">{{ form.due_date.label }}</span>
{% if form.due_date.errors %}
<div class="alert alert-danger">
<div class="alert-body">{{ form.due_date.errors }}</div>
</div>
{% endif %}
<input type="date" id="id_due_date" name="due_date" value="{{ task.due_date|date:"Y-m-d" }}" class="block w-full mt-1 rounded-md border-gray-300 dark:border-none shadow-sm focus:border-none focus:ring focus:ring-blue-200 dark:focus:ring-sky-700 focus:ring-opacity-50">
</label>
<input type="hidden" name="task_list" value="{{ task_list.id }}" id="id_task_list">
<input type="submit" class="block btn btn-primary" value="Hinzufügen">
</form>