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
imperosol
5b91fe2145
use ModelFormSet instead of FormSet for scheduled actions
2025-10-10 20:40:44 +02:00
imperosol
abd905c24d
write tests
2025-10-10 20:40:44 +02:00