* 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
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>
* 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>
* 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