diff --git a/ricerca_app/api_views.py b/ricerca_app/api_views.py index d67d8edf..1eea8368 100644 --- a/ricerca_app/api_views.py +++ b/ricerca_app/api_views.py @@ -1549,6 +1549,7 @@ def get(self, obj, **kwargs): impegni_json = upImpegniSerializer(impegni=impegni, year=year, af_name=af_name, + af_cod=af_cod, search=search, show_past=show_past) diff --git a/ricerca_app/esse3/serializers.py b/ricerca_app/esse3/serializers.py index f612076e..1e5ae483 100644 --- a/ricerca_app/esse3/serializers.py +++ b/ricerca_app/esse3/serializers.py @@ -14,6 +14,7 @@ def esse3AppelliSerializer(appelli, year=None, af_id=None, search={}, show_past= new_ora = f"{ora[0]}:{ora[1]}" appello_dict = { "insegnamento": appello['adDes'], + "codice_insegnamento": appello['adCod'], "dataInizio": new_data, "dataFine": None, "orarioInizio": new_ora, diff --git a/ricerca_app/up/serializers.py b/ricerca_app/up/serializers.py index 7e4e6483..08689eba 100644 --- a/ricerca_app/up/serializers.py +++ b/ricerca_app/up/serializers.py @@ -3,17 +3,20 @@ from django.utils import timezone -def upImpegniSerializer(impegni, year=None, af_name=None, search={}, show_past=False): # pragma: no cover +def upImpegniSerializer(impegni, year=None, af_name=None, af_cod=None, search={}, show_past=False): # pragma: no cover impegni_up = [] search_teacher = search.get('search_teacher', '') search_location = search.get('search_location', '') for impegno in impegni: - # if year and impegno['evento']['dettagliDidattici'][0]['annoCorso'] != year: - # continue + code = impegno['evento']['dettagliDidattici'][0].get('codice') + name = impegno['evento']['dettagliDidattici'][0].get('nome') - # if af_name and impegno['evento']['dettagliDidattici'][0]['nome'].lower() != af_name.lower(): - if af_name and not impegno['evento']['dettagliDidattici'][0]['nome'].lower().startswith(af_name.lower()): + # UP non restituisce sempre il codice dell'attività + # (quando si recuperano gli esami non c'è!) + if code and af_cod and code != af_cod: + continue + if not code and af_name and not name.lower().startswith(af_name.lower()): continue dataInizio = impegno['dataInizio'][0:10] @@ -60,6 +63,7 @@ def upImpegniSerializer(impegni, year=None, af_name=None, search={}, show_past=F impegno_dict = { "insegnamento": insegnamento, + "codice_insegnamento": impegno['evento']['dettagliDidattici'][0]['codice'], "dataInizio": dataInizio, "dataFine": dataFine, "orarioInizio": orarioInizio, diff --git a/ricerca_app/up/services.py b/ricerca_app/up/services.py index 62983638..7f4b5c42 100644 --- a/ricerca_app/up/services.py +++ b/ricerca_app/up/services.py @@ -61,6 +61,7 @@ def getData(request, url, cds_cod, body): # pragma: no cover def getUPImpegni(request, cds_cod, aa, year=1, date_month='', date_year='', types=[], af_cod='', filter_by_af_cod=True): # pragma: no cover + # filter_by_af_cod: UP non ritorna risultati se si filtrano gli esami per codAF url = settings.URL_UP_API + 'Impegni/getImpegniByAnnoAccademico' try: @@ -96,6 +97,6 @@ def getUPImpegni(request, cds_cod, aa, year=1, date_month='', date_year='', type "codTipiEvento": types, "dataInizio": start_up, "dataFine": end_up, - "codAF": af_cod if filter_by_af_cod else '' + "codAF": af_cod if filter_by_af_cod else '' # UP non ritorna risultati se si filtrano gli esami per codAF } return getData(request, url, cds_cod, body)