Defined functions for new import feature

This commit is contained in:
2024-10-19 10:30:06 +02:00
parent b54ee84ced
commit e44bb5677d
3 changed files with 89 additions and 5 deletions

View File

@@ -77,6 +77,8 @@ networks:
# TODO
- Default value of association "Pagamento effettuato"
- import of storage, computers, courses.
- Tables Sorting with filters
# Licence

View File

@@ -202,7 +202,6 @@ class StudentForm(forms.ModelForm):
class AssignmentComputerForm(forms.Form):
choice= (
("", "Seleziona il motivo"),
("deposit_paid", "Pagamento Effettuato"),
("replacement", "Sostitutivo"),
("temporary", "Temporaneo")
@@ -216,7 +215,6 @@ class AssignmentComputerForm(forms.Form):
class AssignmentAccessoryForm(forms.Form):
choice= (
("", "Seleziona il motivo"),
("needed", "Necessario"),
("replacement", "Sostitutivo"),
("temporary", "Temporaneo")
@@ -229,7 +227,6 @@ class AssignmentAccessoryForm(forms.Form):
class ReturnComputerDateForm(forms.Form):
choice = (
("", "Seleziona il motivo"),
("student_resigned", "Studente Dimesso"),
("damaged", "Danneggiato"),
("not_necessary", "Non più necessario")
@@ -239,7 +236,6 @@ class ReturnComputerDateForm(forms.Form):
class ReturnAccessoryDateForm(forms.Form):
choice = (
("", "Seleziona il motivo"),
("not_necessary", "Non più necessario"),
("damaged", "Danneggiato"),
)

View File

@@ -11,7 +11,7 @@ from datetime import datetime
from django.shortcuts import render, get_object_or_404, redirect
from django.views.defaults import bad_request
from ..forms import CSVUpdateForm
from ..forms import Bundle, CSVUpdateForm
from ..models import Computer, Accessory, Student, Course, Record, Ticket
from django.contrib.auth.decorators import user_passes_test, login_required
@@ -98,6 +98,92 @@ def import_students(request):
"form": form
})
def import_bundle(request):
if request.method == "POST":
form = CSVUpdateForm(request.POST, request.FILES)
if form.is_valid():
csv_file = request.FILES["file"]
if not csv_file.endswith(".csv"):
form = CSVUpdateForm()
err = True
return render(request, "gestionale/import/bundle.html",{
"err": err, "form": form
})
try:
record = Record()
record.date = datetime.now().date()
record.action = "import"
record.product = "bundle"
record.user = request.user
record.save()
csv_data = csv_file.read().decode("utf-8").splitlines()
reader = csv.DictReader(csv_data)
for row in reader:
pass
except:
if request.method == "POST":
form = CSVUpdateForm(request.POST, request.FILES)
if form.is_valid():
csv_file = request.FILES["file"]
if not csv_file.endswith(".csv"):
form = CSVUpdateForm()
err = True
return render(request, "gestionale/import/bundle.html",{
"err": err, "form": form
})
try:
record = Record()
record.date = datetime.now().date()
record.action = "import"
record.product = "bundle"
record.user = request.user
record.save()
csv_data = csv_file.read().decode("utf-8").splitlines()
reader = csv.DictReader(csv_data)
for row in reader:
pass
except:
pass
passpass
pass
def import_computers(request):
if request.method == "POST":
form = CSVUpdateForm(request.POST, request.FILES)
if form.is_valid():
csv_file = request.FILES["file"]
if not csv_file.endswith(".csv"):
form = CSVUpdateForm()
err = True
return render(request, "gestionale/import/computers.html",{
"err": err, "form": form
})
try:
record = Record()
record.date = datetime.now().date()
record.action = "import"
record.product = "computers"
record.user = request.user
record.save()
csv_data = csv_file.read().decode("utf-8").splitlines()
reader = csv.DictReader(csv_data)
for row in reader:
bundle= get_object_or_404(Bundle, id = row["Id Bundle"])
pass
except:
pass
def import_accessories(request):
pass
def import_courses(request):
pass
@user_passes_test(lambda u: u.is_superuser or u.is_staff )
def toggle_course(request, id):
course = get_object_or_404(Course, id=id)