Change le nom des paramètres

This commit is contained in:
Tom Hubrecht 2020-09-21 16:13:05 +02:00
parent 71355bbf7c
commit cecbb583c6
2 changed files with 13 additions and 11 deletions

View file

@ -240,7 +240,7 @@ urlpatterns = [
# -----
path("purchases", views.purchases_csv, name="kfet.purchases"),
path(
"purchases/<int:st_y>-<int:st_m>/<int:en_y>-<int:en_m>",
"purchases/<int:start_year>-<int:start_month>/<int:end_year>-<int:end_month>",
views.purchases_csv,
name="kfet.purchases",
),

View file

@ -2458,30 +2458,32 @@ class ScaleMixin(object):
@teamkfet_required
def purchases_csv(request, st_y=None, st_m=None, en_y=None, en_m=None):
def purchases_csv(
request, start_year=None, start_month=None, end_year=None, end_month=None
):
"""
Renvoie un historique des achats en K-Fêt, par mois et sur une période donnée
(Par défault les 12 mois précédents)
"""
# Si on ne spécifie pas tout l'intervalle, on prend les 12 derniers mois
if (st_y and st_m and en_y and en_m) is None:
if (start_year and start_month and end_year and end_month) is None:
# On utilise replace pour gérer le cas des années bissextiles sans
# changer de mois
end = date.today().replace(day=1)
start = end - timedelta(days=365)
st_y = start.year
st_m = start.month
en_y = end.year
en_m = end.month
start_year = start.year
start_month = start.month
end_year = end.year
end_month = end.month
# On calcule la liste des premiers jours des mois dont on veut avoir les
# ventes
dates = []
for year in range(st_y, en_y + 1):
m_st = st_m if year == st_y else 1
m_en = en_m if year == en_y else 12
for month in range(m_st, m_en + 1):
for year in range(start_year, end_year + 1):
month_start = start_month if year == start_year else 1
month_end = end_month if year == end_year else 12
for month in range(month_start, month_end + 1):
dates.append(date(year, month, 1))
# On rajoute le mois suivant