Rajout de l'export des ventes en csv, par défaut sur les 12 derniers mois #769

Open
thubrecht wants to merge 6 commits from thubrecht/export-ventes into master
thubrecht commented 2020-09-21 15:50:11 +02:00 (Migrated from git.eleves.ens.fr)

On rajoute un lien vers k-fet/purchases qui permet d'exporter les ventes des articles en CSV par mois.
Par défaut, on exporte les 12 derniers mois, mais il est possible de choisir les bornes de la période d'exportation en allant directement sur k-fet/purchases/YYYY-MM/YYYY-MM.

Fixes #245

On rajoute un lien vers `k-fet/purchases` qui permet d'exporter les ventes des articles en CSV par mois. Par défaut, on exporte les 12 derniers mois, mais il est possible de choisir les bornes de la période d'exportation en allant directement sur `k-fet/purchases/YYYY-MM/YYYY-MM`. Fixes #245
lstephan commented 2020-09-21 16:04:38 +02:00 (Migrated from git.eleves.ens.fr)

ça ne coute rien de mettre {start,end}_{year,month} comme paramètres ici, et c'est plus lisible !

ça ne coute rien de mettre `{start,end}_{year,month}` comme paramètres ici, et c'est plus lisible !
lstephan commented 2020-09-21 16:06:47 +02:00 (Migrated from git.eleves.ens.fr)

Sur le principe, je trouve ça assez peu ergonomique pour des utilisateurs lambda de devoir modifier à la main une URL pour pouvoir changer les dates d'export... Il vaudrait mieux une page pour leur permettre de choisir quelques settings (par exemple la granularité ?), qui renvoie (ou qui fait une requete AJAX) vers la vue que tu as faite.

Sur le principe, je trouve ça assez peu ergonomique pour des utilisateurs lambda de devoir modifier à la main une URL pour pouvoir changer les dates d'export... Il vaudrait mieux une page pour leur permettre de choisir quelques settings (par exemple la granularité ?), qui renvoie (ou qui fait une requete AJAX) vers la vue que tu as faite.
lstephan commented 2020-09-21 16:08:04 +02:00 (Migrated from git.eleves.ens.fr)

Il y a un problème d'année bissextile si tu fais timedelta(months=12) ?

Il y a un problème d'année bissextile si tu fais `timedelta(months=12)` ?
thubrecht commented 2020-09-21 16:09:35 +02:00 (Migrated from git.eleves.ens.fr)

Pour timedelta, le plus gros truc que tu peux mettre c'est des jours, tu peux pas faire timedelta(months=12)

Pour timedelta, le plus gros truc que tu peux mettre c'est des jours, tu peux pas faire `timedelta(months=12)`
lstephan commented 2020-09-21 16:09:41 +02:00 (Migrated from git.eleves.ens.fr)

Tu peux jeter un oeil à statistic.py et la classe Scale, qui a l'air de faire ce que tu veux !

Tu peux jeter un oeil à `statistic.py` et la classe `Scale`, qui a l'air de faire ce que tu veux !
lstephan commented 2020-09-21 16:11:54 +02:00 (Migrated from git.eleves.ens.fr)

Exact, j'avai oublié... Mais on a déjà dateutil dans nos requirements, donc tu peux utiliser relativedelta à la place.

Exact, j'avai oublié... Mais on a déjà `dateutil` dans nos requirements, donc tu peux utiliser `relativedelta` à la place.
thubrecht commented 2020-09-21 16:13:38 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 2 of the diff

changed this line in [version 2 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=2153&start_sha=1ee65d7d2e23fc3a41e3a065f10f4f1a602ad859#33cd799f7497909b8700a2eec1dde7939e06111f_243_243)
thubrecht commented 2020-09-21 16:13:39 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 2 of the diff

changed this line in [version 2 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=2153&start_sha=1ee65d7d2e23fc3a41e3a065f10f4f1a602ad859#f20cb55bcaeecf880cbc1a3e3f8c61165a6b8d69_2330_2332)
thubrecht commented 2020-09-21 16:13:40 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • a1844c60 - Change le nom des paramètres

Compare with previous version

added 1 commit <ul><li>a1844c60 - Change le nom des paramètres</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=2153&start_sha=1ee65d7d2e23fc3a41e3a065f10f4f1a602ad859)
thubrecht commented 2020-09-21 16:14:02 +02:00 (Migrated from git.eleves.ens.fr)

C'est vrai ^^

C'est vrai ^^
lstephan commented 2020-09-21 16:15:58 +02:00 (Migrated from git.eleves.ens.fr)

Tous ces calculs là se font bien en SQL avec des agrégations/annotations, et ça devrait être plus rapide/le code sera plus concis.

Tous ces calculs là se font bien en SQL avec des agrégations/annotations, et ça devrait être plus rapide/le code sera plus concis.
lstephan commented 2020-09-21 16:16:59 +02:00 (Migrated from git.eleves.ens.fr)

(techniquement l'agrégation entière par mois peut se faire en une seule requête SQL, mais il faut voir à quel point ça rend le code illisible...)

(techniquement l'agrégation entière par mois peut se faire en une seule requête SQL, mais il faut voir à quel point ça rend le code illisible...)
lstephan commented 2020-09-21 16:23:03 +02:00 (Migrated from git.eleves.ens.fr)

Ça existe des opérations de type PURCHASE avec article=None ?

Ça existe des opérations de type `PURCHASE` avec `article=None` ?
lstephan commented 2020-09-21 16:23:19 +02:00 (Migrated from git.eleves.ens.fr)

Le "purchase" devrait probablement être un Operation.PURCHASE

Le "purchase" devrait probablement être un `Operation.PURCHASE`
thubrecht commented 2020-09-21 16:24:01 +02:00 (Migrated from git.eleves.ens.fr)

On sait jamais ? ^^

On sait jamais ? ^^
lstephan commented 2020-09-21 16:25:26 +02:00 (Migrated from git.eleves.ens.fr)

Après réflexion, si l'article est supprimé, c'est possible... Mais dans tous les cas, ça devrait plutôt être article__isnull=False dans le .filter().

Après réflexion, si l'article est supprimé, c'est possible... Mais dans tous les cas, ça devrait plutôt être `article__isnull=False` dans le `.filter()`.
lstephan commented 2020-09-21 16:29:48 +02:00 (Migrated from git.eleves.ens.fr)

Ça fait quoi cette partie ?

Ça fait quoi cette partie ?
thubrecht commented 2020-09-21 16:31:05 +02:00 (Migrated from git.eleves.ens.fr)

Ça fait la liste des mois dans l'intervalle

Ça fait la liste des mois dans l'intervalle
lstephan commented 2020-09-21 16:31:37 +02:00 (Migrated from git.eleves.ens.fr)

Je parlais du code en dessous de ce commentaire ^^

Je parlais du code en dessous de ce commentaire ^^
thubrecht commented 2020-09-21 16:33:16 +02:00 (Migrated from git.eleves.ens.fr)

Un index des articles dans la liste des articles, pour savoir dans quelle colonne rajouter les consos

Un index des articles dans la liste des articles, pour savoir dans quelle colonne rajouter les consos
lstephan commented 2020-09-21 16:34:31 +02:00 (Migrated from git.eleves.ens.fr)

Ça me paraît un peu hackish, mais je range ça avec "ce serait surement plus propre avec de l'agrégation SQL" =)

Ça me paraît un peu hackish, mais je range ça avec "ce serait surement plus propre avec de l'agrégation SQL" =)
mpepin commented 2020-12-04 17:07:27 +01:00 (Migrated from git.eleves.ens.fr)

on en est où de ça ?

on en est où de ça ?
thubrecht commented 2020-12-04 18:08:14 +01:00 (Migrated from git.eleves.ens.fr)

Ça a pas vraiment avancé, il faudrait que je regarde cette histoire d'aggrégation SQL

Ça a pas vraiment avancé, il faudrait que je regarde cette histoire d'aggrégation SQL
thubrecht commented 2021-01-27 20:25:38 +01:00 (Migrated from git.eleves.ens.fr)

marked this merge request as draft

marked this merge request as **draft**
thubrecht commented 2021-06-26 13:34:28 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 3 of the diff

changed this line in [version 3 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3015&start_sha=a1844c6063faeebc5cf3c912516eb9edf3bac290#f20cb55bcaeecf880cbc1a3e3f8c61165a6b8d69_2322_2466)
thubrecht commented 2021-06-26 13:34:29 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 3 of the diff

changed this line in [version 3 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3015&start_sha=a1844c6063faeebc5cf3c912516eb9edf3bac290#f20cb55bcaeecf880cbc1a3e3f8c61165a6b8d69_2370_2501)
thubrecht commented 2021-06-26 13:34:29 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 3 of the diff

changed this line in [version 3 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3015&start_sha=a1844c6063faeebc5cf3c912516eb9edf3bac290#f20cb55bcaeecf880cbc1a3e3f8c61165a6b8d69_2352_2486)
thubrecht commented 2021-06-26 13:34:29 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 3 of the diff

changed this line in [version 3 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3015&start_sha=a1844c6063faeebc5cf3c912516eb9edf3bac290#f20cb55bcaeecf880cbc1a3e3f8c61165a6b8d69_2350_2466)
thubrecht commented 2021-06-26 13:34:30 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 3 of the diff

changed this line in [version 3 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3015&start_sha=a1844c6063faeebc5cf3c912516eb9edf3bac290#f20cb55bcaeecf880cbc1a3e3f8c61165a6b8d69_2341_2466)
thubrecht commented 2021-06-26 13:34:30 +02:00 (Migrated from git.eleves.ens.fr)

added 177 commits

  • a1844c60...7ca7f729 - 174 commits from branch master
  • 8776b411 - Rajout de l'export des ventes en csv, par défaut sur les 12 derniers mois
  • c7760a41 - Change le nom des paramètres
  • 0e5c3d50 - On utilise Scale

Compare with previous version

added 177 commits <ul><li>a1844c60...7ca7f729 - 174 commits from branch <code>master</code></li><li>8776b411 - Rajout de l&#39;export des ventes en csv, par défaut sur les 12 derniers mois</li><li>c7760a41 - Change le nom des paramètres</li><li>0e5c3d50 - On utilise Scale</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3015&start_sha=a1844c6063faeebc5cf3c912516eb9edf3bac290)
thubrecht commented 2021-06-26 14:25:52 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • 61c6c1c8 - Choix 6 mois/12 mois

Compare with previous version

added 1 commit <ul><li>61c6c1c8 - Choix 6 mois/12 mois</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3017&start_sha=0e5c3d50e8640ebeb86f0fd1152ddc8b0aa83063)
thubrecht commented 2021-06-26 14:26:29 +02:00 (Migrated from git.eleves.ens.fr)

marked this merge request as ready

marked this merge request as **ready**
lstephan commented 2021-07-01 10:33:19 +02:00 (Migrated from git.eleves.ens.fr)

???

???
lstephan commented 2021-07-01 11:10:35 +02:00 (Migrated from git.eleves.ens.fr)

Une opération simple ne peut pas avoir plusieurs articles, donc je ne suis pas sûr que l'annotation serve à quelque chose ici

Une opération simple ne peut pas avoir plusieurs articles, donc je ne suis pas sûr que l'annotation serve à quelque chose ici
lstephan commented 2021-07-01 11:10:35 +02:00 (Migrated from git.eleves.ens.fr)

Il doit y avoir un moyen d'agréger ça en SQL directement, non ? Quitte à ne pas faire de values_list avant...

Il doit y avoir un moyen d'agréger ça en SQL directement, non ? Quitte à ne pas faire de `values_list` avant...
lstephan commented 2021-07-01 11:10:35 +02:00 (Migrated from git.eleves.ens.fr)

Ça manque possiblement toujours de granularité : un point par mois sur les 6 derniers mois, ça me parait pas très précis...

Ça manque possiblement toujours de granularité : un point par mois sur les 6 derniers mois, ça me parait pas très précis...
thubrecht commented 2021-07-01 11:15:26 +02:00 (Migrated from git.eleves.ens.fr)

Vu qu'on groupe sur le mois ça donne le nombre d'articles vendu par mois non ? Ou alors j'ai mal compris comment marchait Scale

Vu qu'on groupe sur le mois ça donne le nombre d'articles vendu par mois non ? Ou alors j'ai mal compris comment marchait `Scale`
lstephan commented 2021-07-01 11:23:10 +02:00 (Migrated from git.eleves.ens.fr)

Oui mais tu groupes avant de "chunkifier" donc ça donne le nombre d'articles vendus en tout... En tout cas c'est ce que je comprends de ce lien.

Oui mais tu groupes avant de "chunkifier" donc ça donne le nombre d'articles vendus en tout... En tout cas c'est ce que je comprends de [ce lien](https://docs.djangoproject.com/en/3.2/topics/db/aggregation/#order-of-annotate-and-filter-clauses).
thubrecht commented 2021-07-01 11:31:28 +02:00 (Migrated from git.eleves.ens.fr)

C'est bizarre, j'ai le même résultat si je mets l'annotation avant ou après chunkify_qs

C'est bizarre, j'ai le même résultat si je mets l'annotation avant ou après chunkify_qs
lstephan commented 2021-07-01 11:32:41 +02:00 (Migrated from git.eleves.ens.fr)

Avec des articles répartis sur plus d'un mois ?

Avec des articles répartis sur plus d'un mois ?
thubrecht commented 2021-07-01 11:33:48 +02:00 (Migrated from git.eleves.ens.fr)

Oui

Oui
lstephan commented 2021-07-01 11:41:32 +02:00 (Migrated from git.eleves.ens.fr)

Bon bah si ça marche 🤷

Bon bah si ça marche :shrug:
lstephan commented 2021-07-01 11:53:07 +02:00 (Migrated from git.eleves.ens.fr)

Plus précisément, je pense que simplement mettre le values_list et l'annotation dans get_queryset et simplement évaluer qs devrait te donner les totaux de chaque article =)

Plus précisément, je pense que simplement mettre le `values_list` et l'annotation dans `get_queryset` et simplement évaluer `qs` devrait te donner les totaux de chaque article =)
thubrecht commented 2021-07-01 11:58:17 +02:00 (Migrated from git.eleves.ens.fr)

Ça donne le total depuis le début des temps ^^

Ça donne le total depuis le début des temps ^^
lstephan commented 2021-07-01 11:59:32 +02:00 (Migrated from git.eleves.ens.fr)

Oui bon avec un filter en plus ^^ mais va pour la solution python

Oui bon avec un filter en plus ^^ mais va pour la solution python
thubrecht commented 2021-07-01 12:01:49 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 5 of the diff

changed this line in [version 5 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3046&start_sha=61c6c1c87540b6e321c2083042e36c461c93c96d#f20cb55bcaeecf880cbc1a3e3f8c61165a6b8d69_2485_2485)
thubrecht commented 2021-07-01 12:01:49 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • 3ecbb763 - On déplace l'annotation

Compare with previous version

added 1 commit <ul><li>3ecbb763 - On déplace l&#39;annotation</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3046&start_sha=61c6c1c87540b6e321c2083042e36c461c93c96d)
thubrecht commented 2021-07-01 12:05:44 +02:00 (Migrated from git.eleves.ens.fr)

C'était pour que ça prenne moins de place

C'était pour que ça prenne moins de place
lstephan commented 2021-07-01 14:26:57 +02:00 (Migrated from git.eleves.ens.fr)

Si tu veux que ça prenne moins de place tu peux supprimer ces lignes, tu ne réutilises pas la variable après ça 😛

Si tu veux que ça prenne moins de place tu peux supprimer ces lignes, tu ne réutilises pas la variable après ça :stuck_out_tongue:
thubrecht commented 2021-07-01 16:35:57 +02:00 (Migrated from git.eleves.ens.fr)

Ah oui tiens

Ah oui tiens
thubrecht commented 2021-07-01 16:59:02 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 6 of the diff

changed this line in [version 6 of the diff](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3048&start_sha=3ecbb7635d14d191f071ee46938f437dfd341fa3#f20cb55bcaeecf880cbc1a3e3f8c61165a6b8d69_2461_2461)
thubrecht commented 2021-07-01 16:59:03 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • 6035bf95 - Remove unused variable

Compare with previous version

added 1 commit <ul><li>6035bf95 - Remove unused variable</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3048&start_sha=3ecbb7635d14d191f071ee46938f437dfd341fa3)
thubrecht commented 2021-10-26 12:57:15 +02:00 (Migrated from git.eleves.ens.fr)

added 12 commits

  • 6035bf95...6d824a58 - 6 commits from branch master
  • 71355bbf - Rajout de l'export des ventes en csv, par défaut sur les 12 derniers mois
  • cecbb583 - Change le nom des paramètres
  • ad8c3143 - On utilise Scale
  • 44c729df - Choix 6 mois/12 mois
  • bd109be3 - On déplace l'annotation
  • 69472f2c - Remove unused variable

Compare with previous version

added 12 commits <ul><li>6035bf95...6d824a58 - 6 commits from branch <code>master</code></li><li>71355bbf - Rajout de l&#39;export des ventes en csv, par défaut sur les 12 derniers mois</li><li>cecbb583 - Change le nom des paramètres</li><li>ad8c3143 - On utilise Scale</li><li>44c729df - Choix 6 mois/12 mois</li><li>bd109be3 - On déplace l&#39;annotation</li><li>69472f2c - Remove unused variable</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/-/merge_requests/465/diffs?diff_id=3397&start_sha=6035bf95f88418dd3f2a4d06053104cd1b98acf6)
This pull request has changes conflicting with the target branch.
  • kfet/views.py
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin thubrecht/export-ventes:thubrecht/export-ventes
git checkout thubrecht/export-ventes

Merge

Merge the changes and update on Forgejo.
git checkout master
git merge --no-ff thubrecht/export-ventes
git checkout master
git merge --ff-only thubrecht/export-ventes
git checkout thubrecht/export-ventes
git rebase master
git checkout master
git merge --no-ff thubrecht/export-ventes
git checkout master
git merge --squash thubrecht/export-ventes
git checkout master
git merge --ff-only thubrecht/export-ventes
git checkout master
git merge thubrecht/export-ventes
git push origin master
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: DGNum/gestioCOF#769
No description provided.