Skip to content
Snippets Groups Projects
Commit 18750ed4 authored by Alexander Kohler's avatar Alexander Kohler
Browse files

Projekt-Formular um Kürzel-Feld und UUID-Generierung erweitert

- Kürzel-Eingabefeld mit Validierung (max 8 Zeichen) hinzugefügt
- Automatische UUID-Generierung für neue Projekte implementiert
- Formular-Layout für bessere Benutzerfreundlichkeit optimiert
parent bed727ca
No related branches found
No related tags found
1 merge request!4merge dev to main
...@@ -44,27 +44,51 @@ ...@@ -44,27 +44,51 @@
<div class="alert alert-danger">{{ .Error }}</div> <div class="alert alert-danger">{{ .Error }}</div>
{{ end }} {{ end }}
<!-- Form Fields Row: Project ID and Name --> <!-- Form Fields Row: Project ID and Shortcut -->
<div class="row"> <div class="row">
<!-- Project ID Field (disabled in edit mode) --> <!-- Project ID Field (disabled in edit mode) -->
<div class="col-md-6 mb-3"> <div class="col-md-6 mb-3">
<label for="projectId" class="form-label">Projekt-ID *</label> <label for="ProjectID" class="form-label">Projekt-ID *</label>
<input type="text" <input type="text"
class="form-control" class="form-control"
id="projectId" id="ProjectID"
name="ProjectID" name="ProjectID"
placeholder="PRJ-2025-XXX" placeholder=""
value="{{ .Data.Form.Project.ProjectID }}" value="{{ .Data.Form.Project.ProjectID }}"
{{ if $isEdit }}disabled{{ end }} {{ if $isEdit }}disabled{{ end }}
required> required>
{{ if not $isEdit }}
<div class="form-text">
<button type="button" class="btn btn-sm btn-outline-secondary" onclick="generateUUID()">
🎲 UUID generieren
</button>
</div>
{{ end }}
</div> </div>
<!-- Project Name Field (always editable) --> <!-- Project Shortcut Field (always editable) -->
<div class="col-md-6 mb-3"> <div class="col-md-6 mb-3">
<label for="name" class="form-label">Projektname *</label> <label for="Shortcut" class="form-label">Kürzel *</label>
<input type="text"
class="form-control"
id="Shortcut"
name="Shortcut"
placeholder="HM"
value="{{ .Data.Form.Project.Shortcut }}"
maxlength="8"
required>
<div class="form-text">Eindeutiges Kürzel für schnelle Projektidentifizierung (max. 8 Zeichen)</div>
</div>
</div>
<!-- Form Fields Row: Project Name -->
<div class="row">
<!-- Project Name Field (always editable) -->
<div class="col-md-12 mb-3">
<label for="Name" class="form-label">Projektname *</label>
<input type="text" <input type="text"
class="form-control" class="form-control"
id="name" id="Name"
name="Name" name="Name"
placeholder="HARMONY Mobile" placeholder="HARMONY Mobile"
value="{{ .Data.Form.Project.Name }}" value="{{ .Data.Form.Project.Name }}"
...@@ -74,9 +98,9 @@ ...@@ -74,9 +98,9 @@
<!-- Description Field (full width, optional) --> <!-- Description Field (full width, optional) -->
<div class="mb-3"> <div class="mb-3">
<label for="description" class="form-label">Beschreibung</label> <label for="Description" class="form-label">Beschreibung</label>
<textarea class="form-control" <textarea class="form-control"
id="description" id="Description"
name="Description" name="Description"
rows="3" rows="3"
placeholder="Entwicklung einer mobilen App zur Anforderungserfassung unterwegs.">{{ .Data.Form.Project.Description }}</textarea> placeholder="Entwicklung einer mobilen App zur Anforderungserfassung unterwegs.">{{ .Data.Form.Project.Description }}</textarea>
...@@ -86,10 +110,10 @@ ...@@ -86,10 +110,10 @@
<div class="row"> <div class="row">
<!-- Start Date Field --> <!-- Start Date Field -->
<div class="col-md-6 mb-3"> <div class="col-md-6 mb-3">
<label for="startDate" class="form-label">Startdatum *</label> <label for="StartDate" class="form-label">Startdatum *</label>
<input type="date" <input type="date"
class="form-control" class="form-control"
id="startDate" id="StartDate"
name="StartDate" name="StartDate"
value="{{ .Data.Form.Project.StartDate.Format "2006-01-02" }}" value="{{ .Data.Form.Project.StartDate.Format "2006-01-02" }}"
required> required>
...@@ -97,10 +121,10 @@ ...@@ -97,10 +121,10 @@
<!-- End Date Field --> <!-- End Date Field -->
<div class="col-md-6 mb-3"> <div class="col-md-6 mb-3">
<label for="endDate" class="form-label">Enddatum *</label> <label for="EndDate" class="form-label">Enddatum *</label>
<input type="date" <input type="date"
class="form-control" class="form-control"
id="endDate" id="EndDate"
name="EndDate" name="EndDate"
value="{{ .Data.Form.Project.EndDate.Format "2006-01-02" }}" value="{{ .Data.Form.Project.EndDate.Format "2006-01-02" }}"
required> required>
...@@ -132,4 +156,29 @@ ...@@ -132,4 +156,29 @@
</div> </div>
</div> </div>
</div> </div>
<!-- JavaScript für UUID-Generierung -->
{{ if not $isEdit }}
<script>
function generateUUID() {
// Erzeuge eine UUID v4
const uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
const r = Math.random() * 16 | 0;
const v = c === 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
// Setze die UUID ins Projekt-ID Feld
document.getElementById('ProjectID').value = uuid;
}
// Automatisch eine UUID generieren wenn das Feld leer ist
document.addEventListener('DOMContentLoaded', function() {
const projectIdField = document.getElementById('ProjectID');
if (!projectIdField.value.trim()) {
generateUUID();
}
});
</script>
{{ end }}
{{ end }} {{ end }}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment