added parent edit page
This commit is contained in:
@ -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
|
||||
|
18
dispatcher/migrations/0006_alter_parent_project_num.py
Normal file
18
dispatcher/migrations/0006_alter_parent_project_num.py
Normal 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),
|
||||
),
|
||||
]
|
@ -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):
|
||||
|
30
dispatcher/static/edit.css
Normal file
30
dispatcher/static/edit.css
Normal 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;
|
||||
}
|
8
dispatcher/static/parents.js
Normal file
8
dispatcher/static/parents.js
Normal 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}/`
|
||||
})
|
||||
})
|
||||
})
|
@ -11,7 +11,7 @@ window.addEventListener("load", () => {
|
||||
})
|
||||
})
|
||||
|
||||
row.querySelector("button.see").addEventListener("click", () => {
|
||||
row.querySelector("button.edit").addEventListener("click", () => {
|
||||
window.location.href = `${id}/`
|
||||
})
|
||||
})
|
||||
|
@ -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")
|
||||
|
Reference in New Issue
Block a user