diff --git a/GestionaleITS/Readme.md b/GestionaleITS/Readme.md
index d414fc5..a931e9b 100644
--- a/GestionaleITS/Readme.md
+++ b/GestionaleITS/Readme.md
@@ -77,9 +77,6 @@ networks:
# TODO
-- Creare un export dei pc in csv con Nome Cognome Codice fiscale cespite seriale data di consegna
-- Default value of association "Pagamento effettuato"
-- import of storage, computers, courses.
- Tables Sorting with filters
# Licence
diff --git a/GestionaleITS/gestionale/templates/gestionale/details/detailsbundle.html b/GestionaleITS/gestionale/templates/gestionale/details/detailsbundle.html
index f109d2d..fbe93d4 100644
--- a/GestionaleITS/gestionale/templates/gestionale/details/detailsbundle.html
+++ b/GestionaleITS/gestionale/templates/gestionale/details/detailsbundle.html
@@ -10,7 +10,8 @@
{% if bundle.product_type == "Computer" %}
-
Importa Computer
+
Importa Computer
+
Esporta Computer Assegnati
{% endif %}
diff --git a/GestionaleITS/gestionale/urls.py b/GestionaleITS/gestionale/urls.py
index 42b827e..7fc5065 100644
--- a/GestionaleITS/gestionale/urls.py
+++ b/GestionaleITS/gestionale/urls.py
@@ -59,7 +59,9 @@ urlpatterns = [
path("import/students", views.import_students, name="import_students"),
path("import/serials", views.import_serials, name="import_serials"),
path("import/courses", views.import_courses, name="import_courses"),
-
+
+ path("export/computers/", views.export_computers, name="export_computers"),
+
path("toggle/course/", views.toggle_course, name="toggle_course"),
path("take/ticket/", views.take_ticket, name="take_ticket"),
diff --git a/GestionaleITS/gestionale/views/views.py b/GestionaleITS/gestionale/views/views.py
index 3902416..6f56d5e 100644
--- a/GestionaleITS/gestionale/views/views.py
+++ b/GestionaleITS/gestionale/views/views.py
@@ -8,6 +8,7 @@ import copy
import csv
from datetime import datetime
+from django.http import HttpResponse
from django.shortcuts import render, get_object_or_404, redirect
from django.views.defaults import bad_request
@@ -242,3 +243,24 @@ def take_ticket(request, id):
return redirect("tickets")
else:
return bad_request
+
+@user_passes_test(lambda u: u.is_superuser or u.is_staff )
+def export_computers(request, id_b):
+ response = HttpResponse(
+ content_type="text/csv",
+ headers={"Content-Disposition": "attachment; filename=export_computers.csv"}
+ )
+ writer = csv.writer(response)
+ writer.writerow(["Nome", "Cognome", "Corso", "CodiceFiscale", "Cespite", "Seriale", "DataConsegna"])
+ computers = Computer.objects.filter(status="assigned", id_bundle = id_b).order_by("id")
+ for computer in computers:
+ writer.writerow([
+ computer.id_student.first_name,
+ computer.id_student.last_name,
+ computer.id_student.course_id.course_name,
+ computer.id_student.codice_fiscale,
+ computer.cespite,
+ computer.serial,
+ computer.assignment_date
+ ])
+ return response
\ No newline at end of file