[MTELECHAA-139]add condition salle and fix indisponibilites_for_a_date
gitea/imio-teleservices-templatetags/pipeline/head This commit looks good
Details
gitea/imio-teleservices-templatetags/pipeline/head This commit looks good
Details
This commit is contained in:
parent
e5ce3628b6
commit
094008f9f4
|
@ -278,24 +278,61 @@ def distinct_list(value):
|
|||
@register.filter
|
||||
def indisponibilites_for_a_date(date_debut_fin, indisponibilites):
|
||||
"""
|
||||
start_end_date : str start_date|end_date
|
||||
date_debut_fin : str date_debut|date_fin
|
||||
indisponibilites : json
|
||||
"""
|
||||
if date_debut_fin == "|":
|
||||
return []
|
||||
date_debut = datetime.datetime.strptime(str(date_debut_fin).split("|")[0], "%d/%m/%Y").date()
|
||||
date_fin = datetime.datetime.strptime(str(date_debut_fin).split("|")[1], "%d/%m/%Y").date()
|
||||
|
||||
format_date_demande = "%d/%m/%Y"
|
||||
format_date_location = "%Y-%m-%dT%H:%M:%S"
|
||||
|
||||
date_debut = datetime.datetime.strptime(str(date_debut_fin).split("|")[0], format_date_demande).date()
|
||||
date_fin = datetime.datetime.strptime(str(date_debut_fin).split("|")[1], format_date_demande).date()
|
||||
date_indisponibles = []
|
||||
|
||||
for indisponibilite in indisponibilites["data"]:
|
||||
StartDate = datetime.datetime.strptime(indisponibilite["StartDate"], "%Y-%m-%dT%H:%M:%S").date()
|
||||
EndDate = datetime.datetime.strptime(indisponibilite["EndDate"], "%Y-%m-%dT%H:%M:%S").date()
|
||||
StartDate = datetime.datetime.strptime(indisponibilite["StartDate"], format_date_location).date()
|
||||
EndDate = datetime.datetime.strptime(indisponibilite["EndDate"], format_date_location).date()
|
||||
if (
|
||||
(StartDate <= date_debut and date_debut <= EndDate)
|
||||
or (StartDate <= date_fin and date_fin <= EndDate)
|
||||
or (date_debut <= StartDate and StartDate <= date_fin)
|
||||
or (date_debut <= EndDate and EndDate <= date_fin)
|
||||
StartDate <= date_debut <= EndDate
|
||||
or StartDate <= date_fin <= EndDate
|
||||
or date_debut <= StartDate <= date_fin
|
||||
or date_debut <= EndDate <= date_fin
|
||||
):
|
||||
date_indisponibles.append(indisponibilite)
|
||||
|
||||
return date_indisponibles
|
||||
|
||||
|
||||
@register.filter
|
||||
def condition_salle(date_heure_debut_fin, indisponibilites):
|
||||
"""
|
||||
date_heure_debut_fin : str date_debutTheure_debut|date_finTheure_fin
|
||||
indisponibilites : json
|
||||
"""
|
||||
if date_heure_debut_fin == "T|T":
|
||||
return False
|
||||
|
||||
format_date_heure_demande = "%d/%m/%YT%H:%M"
|
||||
format_date_heure_location = "%Y-%m-%dT%H:%M:%S"
|
||||
|
||||
date_heure_debut_demande = datetime.datetime.strptime(
|
||||
str(date_heure_debut_fin).split("|")[0], format_date_heure_demande
|
||||
)
|
||||
date_heure_fin_demande = datetime.datetime.strptime(
|
||||
str(date_heure_debut_fin).split("|")[1], format_date_heure_demande
|
||||
)
|
||||
|
||||
for indisponibilite in indisponibilites["data"]:
|
||||
StartDate = datetime.datetime.strptime(indisponibilite["StartDate"], format_date_heure_location)
|
||||
EndDate = datetime.datetime.strptime(indisponibilite["EndDate"], format_date_heure_location)
|
||||
if (
|
||||
StartDate <= date_heure_debut_demande <= EndDate
|
||||
or StartDate <= date_heure_fin_demande <= EndDate
|
||||
or date_heure_debut_demande <= StartDate <= date_heure_fin_demande
|
||||
or date_heure_debut_demande <= EndDate <= date_heure_fin_demande
|
||||
):
|
||||
return False
|
||||
|
||||
return True
|
||||
|
|
Loading…
Reference in New Issue