100 lines
4.2 KiB
HTML
100 lines
4.2 KiB
HTML
{% extends "base.html" %}
|
|
{% load crispy_forms_tags %}
|
|
|
|
{% block title %}{{ title }} - Notizen{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container-fluid">
|
|
<div class="row">
|
|
<div class="col-lg-8 mx-auto">
|
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
<h1>
|
|
<i class="fas fa-sticky-note text-primary"></i>
|
|
{{ title }}
|
|
</h1>
|
|
<a href="{% url 'notizen:list' %}" class="btn btn-outline-secondary">
|
|
<i class="fas fa-arrow-left"></i> Zurück zur Liste
|
|
</a>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<form method="post" novalidate>
|
|
{% csrf_token %}
|
|
|
|
<div class="mb-3">
|
|
{{ form.name|as_crispy_field }}
|
|
</div>
|
|
|
|
<div class="mb-4">
|
|
{{ form.inhalt|as_crispy_field }}
|
|
</div>
|
|
|
|
<div class="d-flex justify-content-between">
|
|
<div>
|
|
<button type="submit" class="btn btn-primary">
|
|
<i class="fas fa-save"></i> Speichern
|
|
</button>
|
|
<a href="{% url 'notizen:list' %}" class="btn btn-outline-secondary ms-2">
|
|
<i class="fas fa-times"></i> Abbrechen
|
|
</a>
|
|
</div>
|
|
|
|
{% if notiz %}
|
|
<div>
|
|
<a href="{% url 'notizen:detail' notiz.pk %}" class="btn btn-outline-info">
|
|
<i class="fas fa-eye"></i> Vorschau
|
|
</a>
|
|
<a href="{% url 'notizen:delete' notiz.pk %}" class="btn btn-outline-danger ms-2">
|
|
<i class="fas fa-trash"></i> Löschen
|
|
</a>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
{% if notiz %}
|
|
<div class="card mt-4">
|
|
<div class="card-header">
|
|
<h5 class="mb-0">
|
|
<i class="fas fa-info-circle"></i> Notiz-Informationen
|
|
</h5>
|
|
</div>
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<p><strong>Erstellt von:</strong> {{ notiz.erstellt_von.get_full_name|default:notiz.erstellt_von.username }}</p>
|
|
<p><strong>Erstellt am:</strong> {{ notiz.erstellt_am|date:"d.m.Y H:i" }}</p>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<p><strong>Zuletzt geändert:</strong> {{ notiz.geaendert_am|date:"d.m.Y H:i" }}</p>
|
|
{% if notiz.attached_to_object_str %}
|
|
<p><strong>Angehängt an:</strong> {{ notiz.attached_to_model_name }} - {{ notiz.attached_to_object_str }}</p>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|
|
|
|
{% block extra_js %}
|
|
{{ block.super }}
|
|
<script>
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
// Auto-save draft functionality could be added here
|
|
const form = document.querySelector('form');
|
|
const nameField = document.querySelector('#id_name');
|
|
|
|
// Auto-focus on name field for new notes
|
|
if (nameField && !nameField.value) {
|
|
nameField.focus();
|
|
}
|
|
});
|
|
</script>
|
|
{% endblock %}
|