Commit Graph

414 Commits

Author SHA1 Message Date
imperosol
5dc99dbfcb extract student card views 2024-12-07 00:05:45 +01:00
imperosol
007e17fd8b Fix the account dump command.
- a missing `fail_silently` flag made the whole command fail if an invalid recipient is used (like closed utbm mail address)
- Not specifying the seller make the account detail pages crash.
2024-12-05 12:50:40 +01:00
imperosol
10f42b1522 fix imports 2024-11-27 19:03:34 +01:00
imperosol
76e9f3b1dc Merge branches 'split-cash', 'split-click', 'split-main', 'split-admin', 'split-mixins', 'split-eticket' and 'split-invoices' into split-clean 2024-11-27 18:49:40 +01:00
imperosol
d0ff9bc16c extract mixins views 2024-11-27 18:48:06 +01:00
imperosol
5e4ebd16f9 extract mixins views 2024-11-27 18:47:55 +01:00
imperosol
d2b19424ff extract eticket views 2024-11-27 18:47:18 +01:00
imperosol
08286254cd extract eticket views 2024-11-27 18:47:03 +01:00
imperosol
4805c39b45 extract cash views 2024-11-27 18:46:24 +01:00
imperosol
f845bbf20a extract cash views 2024-11-27 18:45:27 +01:00
imperosol
71c7158124 extract invoice views 2024-11-27 18:43:26 +01:00
imperosol
c4643ee52c extract invoice views 2024-11-27 18:42:50 +01:00
imperosol
b46b0882f3 extract admin views 2024-11-27 18:42:26 +01:00
imperosol
1c4efc9431 extract admin views 2024-11-27 18:41:47 +01:00
imperosol
4133e0ccdd extract click views 2024-11-27 18:41:12 +01:00
imperosol
de415e7e75 split click views 2024-11-27 18:40:38 +01:00
imperosol
9d17524f45 extract main views 2024-11-27 18:00:48 +01:00
imperosol
68ad9650af extract main views 2024-11-27 17:56:44 +01:00
imperosol
8d4d8a3abc create views package 2024-11-27 17:07:08 +01:00
thomas girod
33b9ff78bb
Merge pull request #913 from ae-utbm/dump-accounts
Dump accounts
2024-11-21 18:39:49 +01:00
Sli
7b41051d0d Go for a more generic js bundling architecture
* Don't tie the output name to webpack itself
* Don't call js bundling webpack in python code
* Make the doc more generic about js bundling
2024-11-19 21:22:14 +01:00
thomas girod
37d1669a72 typo in docstrings
Co-authored-by: NaNoMelo <56289688+NaNoMelo@users.noreply.github.com>
2024-11-19 00:48:35 +01:00
imperosol
ee9f36d883 implement the dump_accounts command 2024-11-19 00:48:35 +01:00
imperosol
e712f9fdb8 improve counter dump admin 2024-11-19 00:43:17 +01:00
thomas girod
37c4621e9e
Merge pull request #912 from ae-utbm/refactor_populate
Refactor populate
2024-11-13 15:43:18 +01:00
imperosol
583d4ddfb8 Use less requests in GetUserForm.clean 2024-11-11 00:26:16 +01:00
thomas girod
7cc13ea669
Merge pull request #899 from ae-utbm/ajax-select
Improve ajax select
2024-11-10 13:37:57 +01:00
imperosol
c2efc969d0 refactor populate.py 2024-11-10 02:59:43 +01:00
imperosol
b091fee035 custom queryset method to bulk update customer balance 2024-11-10 02:59:43 +01:00
Sli
a6b32fcad1 Fix readability and avoid instantiating too many TypeAdapter 2024-10-28 18:08:13 +01:00
Sli
3eb3feea49 Fix deprecated usage of schema json method and avoid multiple inheritance on select widgets 2024-10-21 16:14:00 +02:00
Sli
7f8a2c1eaf Remove ajax_select from counters 2024-10-20 20:55:05 +02:00
imperosol
662b4b5c53 precise that dumped users can still subscribe 2024-10-20 12:45:37 +02:00
imperosol
9675b6372c add flags to the dump warning mail command 2024-10-20 12:32:28 +02:00
imperosol
03afd49115 make the mail text only 2024-10-20 12:32:28 +02:00
Sli
e3dcad62cc Migrates lookups
* products
* files
* Groups
* Clubs
* Accounting
2024-10-20 00:47:31 +02:00
imperosol
db6a871854 optimize product pages again 2024-10-20 00:27:25 +02:00
thomas girod
d16a207a83
Add more Ruff rules (#891)
* ruff: apply rule F

* ruff: apply rule E

* ruff: apply rule SIM

* ruff: apply rule TCH

* ruff: apply rule ERA

* ruff: apply rule PLW

* ruff: apply rule FLY

* ruff: apply rule PERF

* ruff: apply rules FURB & RUF
2024-10-15 11:36:26 +02:00
imperosol
15ae24f0bd optimize: product list views 2024-10-13 12:32:50 +02:00
imperosol
29b32f6cbf Tell the customer balance in the warning mail 2024-10-11 09:59:03 +02:00
imperosol
465e0f31d9 write command test 2024-10-11 09:57:46 +02:00
imperosol
5a8052ae47 send mail to inactive users 2024-10-11 09:57:41 +02:00
imperosol
6a64e05247 select inactive users 2024-10-11 09:45:54 +02:00
imperosol
c0a6f5eb30 Optimize barmen timeout and counter state fetch
Le timeout se fait en une seule requête et la récupération de l'état des comptoirs en une seule requête aussi. Grâce à ça, on peut en grande partie retirer le cache pour l'affichage de l'état des comptoirs, ce qui a des implications excellentes en termes d'UX (comme le fait que la redirection vers la page de comptoir ou d'activité aura plus une apparence de truc aléatoire)
2024-10-10 19:38:49 +02:00
imperosol
4bc4d266c2 Remove the question mark from the counter state
En raison de la manière dont le timeout marche et de l'activité des comptoirs, la notion de "comptoir inactif" n'est pas intuitive. Un comptoir est ouvert ou fermé. Point.
2024-10-10 19:37:00 +02:00
thomas girod
12bb7e9294 remove stock application 2024-10-09 14:50:41 +02:00
thomas girod
b969513d94
Merge pull request #858 from ae-utbm/jsstandard
Add biome to format js files
2024-10-08 23:45:20 +02:00
Sli
7405241b82 Apply all biomejs fixes 2024-10-08 17:14:22 +02:00
imperosol
20bea62542 use spaces for indentation 2024-10-08 13:54:44 +02:00
Sli
d0c18d4538 Format with biome instead of standard 2024-10-08 01:49:15 +02:00
Sli
c57d2ece9c Apply standard formater and linter on js files 2024-10-07 00:04:48 +02:00
imperosol
58d3a7ee2c Optimize user account pages 2024-10-04 13:41:39 +02:00
thomas girod
a4fe4996aa
Merge pull request #834 from ae-utbm/real-name
Restore real name
2024-10-03 10:12:23 +02:00
Sli
655d72a2b1 Completely integrate wepack in django
* Migrate alpine
* Migrate jquery and jquery-ui
* Migrate shorten
* Add babel for javascript
* Introduce staticfiles django app
* Only bundle -index.js files in static/webpack
* Unify scss and webpack generated files
* Convert scss calls to static
* Add --clear-generated option to collectstatic
* Fix docs warnings
2024-10-02 16:11:02 +02:00
NaNoMelo
06eecfce40 Optimized last operations on counters 2024-09-30 16:02:17 +02:00
thomas girod
bb953a6139
Merge pull request #831 from ae-utbm/forum-css-rework
Forum css rework
2024-09-30 12:13:52 +02:00
thomas girod
1b1284d3d0 Better validation for phone number in billing info 2024-09-28 17:25:34 +02:00
thomas girod
1800785b80 generalize usage of the paginate_jinja macro 2024-09-27 11:21:33 +02:00
thomas girod
d29a5cdb44 Add the new 3DSv2 fields 2024-09-27 11:10:38 +02:00
Sli
9c93162741 Add missing files 2024-09-23 10:25:27 +02:00
Sli
6068c6048a Use real name of the website once again 2024-09-23 01:37:25 +02:00
thomas girod
e8b496cfdc test: Product and ProductType icon resizing 2024-09-15 16:38:58 +02:00
thomas girod
79ef151ad3 auto compress product icons 2024-09-15 14:12:41 +02:00
thomas girod
6962b39fc9 use typing.Self for custom queryset methods 2024-09-02 01:03:46 +02:00
thomas girod
ff088009d9 move static files in their respective application 2024-08-26 22:34:31 +02:00
thomas girod
28ff7f24c5
Merge pull request #774 from ae-utbm/fix-operation-logs
Fix operation logs
2024-08-10 10:33:39 +02:00
Sli
20e8854467 Fix operation logs 2024-08-09 17:35:26 +02:00
thomas girod
cca9732925 eboutic big refactor 2024-08-06 16:49:20 +02:00
thomas girod
28d6d8ba96
Merge pull request #766 from ae-utbm/alpine
Alpine
2024-08-06 10:43:08 +02:00
thomas girod
29bb0f6712 promote AlpineJS to global dependency 2024-08-05 17:08:30 +02:00
thomas girod
f6fbad8403 fix missing HTTP_REFERER 2024-08-05 15:53:41 +02:00
thomas girod
a637742bb0 apply review comment 2024-08-05 10:52:15 +02:00
thomas girod
a9f66e2cd9 extract sent_from_logged_counter(request) 2024-08-05 10:52:15 +02:00
thomas girod
19fdaf4c89 fix club counter click 2024-08-01 17:50:43 +02:00
thomas girod
eef15e05f4 use autocomplete_fields in admin 2024-08-01 11:27:54 +02:00
thomas girod
b25805e0a1 introduce djhtml as jinja+scss formater 2024-07-25 16:46:45 +02:00
Sli
15f51fb03f Create an NFC button for browser supporting NFC API 2024-07-25 07:18:39 +02:00
thomas girod
04e7f65e8e
Merge pull request #725 from ae-utbm/drop-jquery-calendar
Remove jquery datetimepicker
2024-07-25 01:20:41 +02:00
Sli
fee7ade1a5 Harmonize test names 2024-07-24 00:50:48 +02:00
thomas girod
d51dbf8a53
Merge pull request #724 from ae-utbm/ninja
Use django-ninja for the API
2024-07-24 00:48:08 +02:00
thomas girod
9295325d21 remove jquery datetime picker 2024-07-23 23:26:48 +02:00
thomas girod
3046438cb1 replace drf by django-ninja 2024-07-23 19:57:33 +02:00
thomas girod
82d3791859 refactor counter 2024-07-21 10:51:08 +02:00
thomas girod
8c69a94488 use google convention for docstrings 2024-07-21 00:57:04 +02:00
thomas girod
e5a2236d72 remove pytz 2024-07-18 17:33:14 +02:00
thomas girod
c6d2ac9100 ruff rule B 2024-07-08 15:37:10 +02:00
thomas girod
2ac578c3ad ruff rule DJ
Co-authored-by: Bartuccio Antoine <klmp200@users.noreply.github.com>
2024-07-08 15:37:10 +02:00
thomas girod
171a1cb876 ruff rule FBT 2024-07-08 15:37:09 +02:00
thomas girod
cfc19434d0 ruff rules UP008 and UP009 2024-07-08 15:37:09 +02:00
thomas girod
aa07fa9207 faster tests 2024-07-04 14:03:19 +02:00
thomas girod
cd58d5a357 resolve warnings 2024-07-04 11:31:35 +02:00
thomas girod
ae1fcdb8c0 fix: CashRegisterSummaryItem.check overriding a django method 2024-07-04 11:20:24 +02:00
thomas girod
d97602e60b
Use pytest for tests (#681)
* use pytest for tests

Eh ouais, il y a que la config qui change. Pytest est implémentable par étapes. Et ça c'est beau.

* rework tests with pytest

* remove unittest custom TestRunner

* Edit doc and CI
2024-06-26 19:10:24 +02:00
thomas girod
3143d3d91a reorganize imports with ruff 2024-06-26 12:35:38 +02:00
thomas girod
9bdf3fc4ac use ruff for formating
Co-authored-by: Bartuccio Antoine <klmp200@users.noreply.github.com>
2024-06-26 12:35:14 +02:00
Julien Constant
d16bf12611
Links update & translations typos fixes (#671)
* Remove BDF link (as BDF is now part of AE)

* Remove unused pages

* Fix typos

* Fix typo again
2023-10-10 15:29:02 +02:00
Julien Constant
38295e591d
Fix immutable default variable in get_start_of_semester (#656)
Le serveur ne percevait pas le changement de semestre, parce
que la valeur par défaut passée à la fonction `get_start_of_semester()` était une fonction appelée une seule fois, lors du lancement du serveur. Bref, c'était ça : https://beta.ruff.rs/docs/rules/function-call-in-default-argument/

---------

Co-authored-by: imperosol <thgirod@hotmail.com>
2023-09-07 23:11:58 +02:00
Julien Constant
b30ee0a27a
[FIX] Correction de bugs (#617)
* Fix #600

* Fix #602

* Fixes & améliorations du nouveau CSS (#616)

* Fix #604

* should fix #605

* Fix #608

* Update core/views/site.py

Co-Authored-By: thomas girod <56346771+imperosol@users.noreply.github.com>

* Added back the permission denied

* Should fix #609

* Fix failing test when 2 user are merged

* Should fix #610

* Should fix #627

* Should fix #109

Block les URLs suivantes lorsque le fichier se trouve dans le dir `profiles` ou `SAS` :
- `/file/<id>/`
- `/file/<id>/[delete|prop|edit]`

> Les urls du SAS restent accessiblent pour les roots & les admins SAS
> Les urls de profiles sont uniquement accessiblent aux roots

* Fix root dir of SAS being unnaccessible for sas admins

⚠️ need to edit the SAS directory & save it (no changes required in sas directory properties)

* Remove overwritten code

* Should fix duplicated albums in user profile (wtf)

* Fix typo

* Extended profiles picture access to board members

* Should fix #607

* Fix keyboard navigation not working properly

* Fix user tagged pictures section inside python rather than in the template

* Update utils.py

* Apply suggested changes

* Fix #604

* Fix #608

* Added back the permission denied

* Should fix duplicated albums in user profile (wtf)

* Fix user tagged pictures section inside python rather than in the template

* Apply suggested changes

---------

Co-authored-by: thomas girod <56346771+imperosol@users.noreply.github.com>
2023-05-02 13:07:36 +02:00
thomas girod
ef968f3673
Better usage of cache for groups and clubs related operations (#634)
* Better usage of cache for group retrieval

* Cache clearing on object deletion or update

* replace signals by save and delete override

* add is_anonymous check in is_owned_by

Add in many is_owned_by(self, user) methods that user is not anonymous. Since many of those functions do db queries, this should reduce a little bit the load of the db.

* Stricter usage of User.is_in_group

Constrain the parameters that can be passed to the function to make sure only a str or an int can be used. Also force to explicitly specify if the group id or the group name is used.

* write test and correct bugs

* remove forgotten populate commands

* Correct test
2023-05-02 12:36:59 +02:00
thomas girod
96dede5077
Speed up tests (#638) 2023-05-02 11:00:23 +02:00