47 lines
1.4 KiB
Python

from django.core.files.uploadedfile import UploadedFile
from django.shortcuts import render, get_object_or_404, redirect
from django.views import generic
from dispatcher.core import import_tasks
from dispatcher.forms import ProjectForm, ImportForm
from dispatcher.models import Project, Parent
def dashboard_view(request):
context = {
"projects": Project.objects.all(),
"parents": Parent.objects.all()
}
return render(request, "dashboard.html", context)
def projects_view(request):
context = {
"projects": Project.objects.all(),
"parents": Parent.objects.all()
}
return render(request, "projects.html", context)
def project_view(request, id):
project = get_object_or_404(Project, id=id)
context = {}
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)
def import_view(request):
if request.method == "POST":
form = ImportForm(request.POST, request.FILES)
if form.is_valid():
print(request.FILES)
import_tasks(request.FILES["file"].read().decode("utf-8"))
return redirect("dashboard")
return render(request, "import.html")
class ParentsView(generic.ListView):
model = Parent
template_name = "parents.html"
context_object_name = "elements"