63 lines
2.4 KiB
Python
63 lines
2.4 KiB
Python
# Copyright (C) 2024 Nastro_
|
|
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
# file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
|
|
|
from django.contrib.auth.decorators import user_passes_test
|
|
from django.shortcuts import render, get_object_or_404
|
|
from django.utils.autoreload import request_finished
|
|
from django.views.defaults import bad_request
|
|
|
|
from ..models import Bundle, Computer, Accessory, Student, Course, Ticket
|
|
|
|
@user_passes_test(lambda u: u.is_superuser or u.is_staff)
|
|
def details_bundle(request, id):
|
|
bundle = get_object_or_404(Bundle, id=id)
|
|
bundle_type = bundle.product_type
|
|
supplier = bundle.supplier_id
|
|
computers = None
|
|
accessories = None
|
|
if bundle.product_type == "Computer":
|
|
computers = Computer.objects.filter(id_bundle_id=id)
|
|
if bundle.product_type == "Accessory":
|
|
accessories = Accessory.objects.filter(id_bundle_id=id)
|
|
if request.method == "GET":
|
|
return render(request, "gestionale/details/detailsbundle.html", {
|
|
"bundle": bundle, "computers": computers, "accessories": accessories, "bundle_type": bundle_type,
|
|
"supplier": supplier
|
|
})
|
|
else:
|
|
return bad_request
|
|
|
|
@user_passes_test(lambda u: u.is_superuser or u.is_staff)
|
|
def details_course(request, id):
|
|
course = get_object_or_404(Course, id=id)
|
|
students = Student.objects.filter(course_id= id)
|
|
if request.method == "GET":
|
|
return render(request, "gestionale/details/detailscourse.html", {
|
|
"course": course, "students": students
|
|
})
|
|
else:
|
|
return bad_request
|
|
|
|
@user_passes_test(lambda u: u.is_superuser or u.is_staff)
|
|
def details_student(request, id):
|
|
student = get_object_or_404(Student, id=id)
|
|
computers = Computer.objects.filter(id_student_id=id)
|
|
accessories = Accessory.objects.filter(id_student_id=id)
|
|
if request.method == "GET":
|
|
return render(request, "gestionale/details/detailsstudent.html", {
|
|
"student": student, "computers": computers, "accessories": accessories
|
|
})
|
|
else:
|
|
return bad_request
|
|
|
|
@user_passes_test(lambda u: u.is_superuser or u.is_staff)
|
|
def details_ticket(request, id):
|
|
ticket = get_object_or_404(Ticket, id=id)
|
|
if request.method == "GET":
|
|
return render(request, "gestionale/details/detailsticket.html", {
|
|
"ticket": ticket})
|
|
else:
|
|
return bad_request
|