Commit Graph

556 Commits

Author SHA1 Message Date
imperosol
e188acc78b directly work on group ids
add tests
2026-03-11 12:01:26 +01:00
imperosol
654ba383b4 fix existing tests 2026-03-11 11:37:36 +01:00
imperosol
0f1660ad79 adapt formulas to new price system 2026-03-11 11:37:36 +01:00
imperosol
680dc44486 adapt products export to new price system 2026-03-11 11:37:36 +01:00
imperosol
5f7a9fc600 Price formset in the Product edit page 2026-03-11 11:37:36 +01:00
imperosol
7322a0c1cb remove Product.selling_price and Product.special_selling_price 2026-03-10 19:32:15 +01:00
imperosol
c2dfbc8bec use new price system in counters 2026-03-10 19:32:15 +01:00
imperosol
0a3f8b8e6f Price model 2026-03-10 19:32:15 +01:00
imperosol
f17f17d8de use dynamic formset for product action formset 2026-03-10 19:26:30 +01:00
thomas girod
25e19339ff Merge pull request #1310 from ae-utbm/product-input
exclude archived products from product autocompletion.
2026-03-07 16:40:41 +01:00
imperosol
74bf462e90 restrict products that non-admins can add to counter 2026-03-07 16:08:14 +01:00
imperosol
8e4d367522 exclude archived products from product autocompletion.
Dans tous les contextes avec un champ Ajax sur les produits, on a besoin uniquement des produits non-archivés. C'est plus cohérent d'exclure les produits archivés de la recherche.
2026-03-06 18:40:21 +01:00
imperosol
9506c8688f show more infos on the formulas list page 2026-02-17 22:08:01 +01:00
imperosol
f3f470ec6c make formula deletion page clearer 2026-02-17 22:08:01 +01:00
imperosol
ced524587f add tests 2026-02-17 22:08:01 +01:00
imperosol
6a6a7e949f add checks on ProductForm 2026-02-17 22:08:01 +01:00
imperosol
4e73f103d8 automatically apply formulas on click 2026-02-17 22:08:01 +01:00
imperosol
b03346c733 product formulas management views 2026-02-17 22:08:01 +01:00
imperosol
7be1d1cc63 feat: ProductFormula model 2026-02-17 22:08:01 +01:00
imperosol
43768171a1 show creation date on Product update page 2026-02-17 22:05:34 +01:00
imperosol
0eccb4a5b5 Add created_at and updated_at to Product model 2026-02-17 22:05:19 +01:00
imperosol
e2fca3e6d2 fix: typo 2026-02-14 15:22:18 +01:00
imperosol
84033f37cf update BiomeJS 2026-02-13 14:09:27 +01:00
imperosol
df2e65a991 explanation message when eboutic bank payments are disabled 2026-02-08 16:21:09 +01:00
imperosol
367ea703ce remove fmt: off 2026-02-03 21:23:34 +01:00
imperosol
53a3dc0060 fix: wrong quantity displayed on click after removing item 2025-12-20 06:47:29 +01:00
imperosol
4ff4d179a1 refactor: format_timedelta template filter 2025-11-24 16:49:15 +01:00
thomas girod
7cbb3a2c5d Merge pull request #1256 from ae-utbm/remove-is_validated
Database optimisations on counter
2025-11-24 16:46:15 +01:00
thomas girod
4f802ac56e Merge pull request #1260 from ae-utbm/fix-warnings
Fix warnings
2025-11-24 07:43:51 +01:00
thomas girod
16a6e07d4b Merge pull request #1259 from ae-utbm/update-ninja
deps: bump django-ninja to 1.5.0
2025-11-24 07:43:39 +01:00
imperosol
6709befb1f fix timezone issues 2025-11-23 01:30:44 +01:00
imperosol
acdb9660f6 deps: bump django-ninja to 1.5.0 2025-11-23 00:48:32 +01:00
imperosol
b60bd3a42b fix: product scheduled action on product creation
cf. issue #1257
2025-11-21 11:13:06 +01:00
imperosol
c588e5117d make Refilling.payment_method a SmallIntegerField 2025-11-19 21:03:55 +01:00
imperosol
ad87617018 remove Refilling.bank 2025-11-19 21:03:55 +01:00
imperosol
56c2c2b70e remove Refilling.is_validated 2025-11-19 21:03:55 +01:00
imperosol
78fe4e52ca make Selling.payment_method a SmallIntegerField 2025-11-19 21:03:55 +01:00
imperosol
2a5893aa79 remove Selling.is_validated 2025-11-19 21:03:55 +01:00
imperosol
e00a64252e use FilterSchema for club sales. 2025-11-12 22:00:18 +01:00
imperosol
075c6f16ec make ApiKeyAuth work on non-safe routes 2025-11-09 21:34:26 +01:00
imperosol
2e9e1b6a78 remove deprecated api csrf argument 2025-11-09 21:34:26 +01:00
imperosol
f027464d0e apply new ruff rules 2025-11-07 16:24:28 +01:00
thomas girod
415193972c Merge pull request #1223 from ae-utbm/sale-date-index
Add index on `Selling.date`
2025-11-07 14:55:32 +01:00
imperosol
7209801511 fix: product image not saved
fix #1219
2025-11-07 13:14:13 +01:00
imperosol
3b56d2c22b add index on Selling.date
L'index prend ~20% de la taille de la table (la table fait un peu plus de 100%Mo, et l'index un peu plus de 20Mo), mais permet de diviser par 10 les requêtes qui filtrent sur la date des ventes.

Ca concerne notamment les requêtes db faites sur les pages suivantes :

- les appels à facture (~75ms → ~3ms)
- les ventes d'un club (entre 300ms et 450ms → entre 10ms et 15ms)
- le top conso des comptoirs (sur le Foyer, ~90ms → ~9ms)
- les dernières opérations d'un comptoir (sur le Foyer, ~130ms → ~1.5ms

J'aurais bien aimé mettre également un index sur la troncature au mois de la date, mais c'est compliqué à mettre en place étant donné que postgres ne prend des index que sur des expressions immuables et que, comme elle dépend de la timezone (qui peut changer), la fonction date_trunc n'est pas immuable.
2025-11-07 13:08:01 +01:00
imperosol
fc615e90b2 fix: notification on invoice call update 2025-10-18 14:35:19 +02:00
imperosol
8bd82c9d7c Complete invoice call validation feature 2025-10-17 13:44:03 +02:00
Kenneth SOARES
3bcd417ad0 Basic implementation of invoice call validation 2025-10-17 13:40:05 +02:00
imperosol
dac52db434 forbid past dates for product actions 2025-10-10 20:50:50 +02:00
imperosol
f398c9901c fix: 500 on product create view 2025-10-10 20:42:36 +02:00