added parent edit page

This commit is contained in:
2025-02-02 15:33:11 +01:00
parent d13127a273
commit 87607da643
13 changed files with 105 additions and 17 deletions

View File

@ -1,8 +1,13 @@
from django import forms
from dispatcher.models import Project
from dispatcher.models import Project, Parent
class ParentForm(forms.ModelForm):
class Meta:
model = Parent
fields = "__all__"
class ProjectForm(forms.ModelForm):
class Meta:
model = Project

View File

@ -0,0 +1,18 @@
# Generated by Django 5.1.5 on 2025-02-02 14:32
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('dispatcher', '0005_clocking'),
]
operations = [
migrations.AlterField(
model_name='parent',
name='project_num',
field=models.CharField(blank=True, max_length=32),
),
]

View File

@ -1,7 +1,7 @@
from django.db import models
class Parent(models.Model):
project_num = models.CharField(max_length=32)
project_num = models.CharField(max_length=32, blank=True)
name = models.CharField(max_length=256)
def __str__(self):

View File

@ -0,0 +1,30 @@
.container {
display: flex;
flex-direction: column;
width: 100%;
max-width: 30em;
align-self: center;
gap: 2em;
}
form {
display: flex;
flex-direction: column;
gap: 1.6em;
}
form > div {
display: flex;
flex-direction: column;
gap: 0.4em;
}
form label {
font-style: italic;
color: var(--light2);
}
form button {
align-self: center;
padding: 0.4em 1.2em;
}

View File

@ -0,0 +1,8 @@
window.addEventListener("load", () => {
document.querySelectorAll(".list li").forEach(row => {
let id = row.dataset.id
row.querySelector("button.edit").addEventListener("click", () => {
window.location.href = `${id}/`
})
})
})

View File

@ -11,7 +11,7 @@ window.addEventListener("load", () => {
})
})
row.querySelector("button.see").addEventListener("click", () => {
row.querySelector("button.edit").addEventListener("click", () => {
window.location.href = `${id}/`
})
})

View File

@ -9,7 +9,7 @@ from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_POST
from dispatcher.core import import_tasks
from dispatcher.forms import ProjectForm, ImportForm
from dispatcher.forms import ProjectForm, ImportForm, ParentForm
from dispatcher.models import Project, Parent, Clocking
from dispatcher.serializers import ClockingSerializer
@ -28,14 +28,30 @@ def projects_view(request):
}
return render(request, "projects.html", context)
def parent_view(request, id):
parent = get_object_or_404(Parent, id=id)
context = {
"class": "parent",
"id": id
}
form = ParentForm(request.POST or None, request.FILES or None, instance=parent)
if form.is_valid():
form.save()
context["form"] = ParentForm(instance=parent)
return render(request, "edit.html", context)
def project_view(request, id):
project = get_object_or_404(Project, id=id)
context = {}
context = {
"class": "project",
"id": id
}
form = ProjectForm(request.POST or None, request.FILES or None, instance=project)
if form.is_valid():
form.save()
context["form"] = ProjectForm(instance=project)
return render(request, "project.html", context)
return render(request, "edit.html", context)
def table_view(request):
return render(request, "table.html")