Configuration du temps de travail par salarié #57

Merged
sebastien merged 14 commits from 23-user-presence-setting into main 2026-08-28 14:09:27 +02:00
Owner

fixes #55

Migration :

  • suppression de la table employee_counts
  • ajout de la table user_presence_settings

Changements :

  • chaque utilisateur peut saisir son temps de présence afin de permettre un meilleur suivi du Solde horaire en début de semaine
  • Le nombre de salarié est directement renseigné à partir du cumul des temps de présence
fixes https://forge.yaal.coop/yaal/sisyphe/issues/55 ### Migration : - suppression de la table `employee_counts` - ajout de la table `user_presence_settings` ### Changements : - chaque utilisateur peut saisir son temps de présence afin de permettre un meilleur suivi du `Solde horaire en début de semaine` - Le nombre de salarié est directement renseigné à partir du cumul des temps de présence
feat: add new setting to manage hour_balance
All checks were successful
ci/woodpecker/push/deploy Pipeline was successful
4ed6111c1c
feat: compute employee headcount from presence settings
All checks were successful
CI / lint (push) Successful in 51s
CI / python-tests (push) Successful in 5m23s
CI / lint (pull_request) Successful in 53s
CI / python-tests (pull_request) Successful in 5m1s
9727a26ec0
loan requested changes 2026-08-25 16:17:19 +02:00
Dismissed
@ -70,0 +140,4 @@
total = Decimal(sum(current_by_user.values())) / 100
history.append((effective_date, total))
history.reverse()
Owner

Ça me lève un warning qu'il faille faire un reverse pour que le template affiche quelque chose de correct.
j'ai l'impression que ça devrait plutôt être de la responsabilité de la vue d'organiser la donnée, et encore, ça ne serait tout de même pas vraiment à elle d'ordonner les valeurs, peut-être encore plus loin, dans le template ?

Ça me lève un warning qu'il faille faire un reverse pour que le template affiche quelque chose de correct. j'ai l'impression que ça devrait plutôt être de la responsabilité de la vue d'organiser la donnée, et encore, ça ne serait tout de même pas vraiment à elle d'ordonner les valeurs, peut-être encore plus loin, dans le template ?
Author
Owner

Les fonctions ont été déplacées dans les fichiers qui les utilisent : endpoint/time_entries.py et repositories
Au passage, j'ai clarifié certaines lignes de code complexes avec des boucles sur users plutôt que des requêtes qui auraient nécessité des commentaires.

Les fonctions ont été déplacées dans les fichiers qui les utilisent : `endpoint/time_entries.py` et `repositories` Au passage, j'ai clarifié certaines lignes de code complexes avec des boucles sur users plutôt que des requêtes qui auraient nécessité des commentaires.
@ -566,3 +566,3 @@
@property
def working_employees(self) -> Decimal | None:
if self.total_production_days is None:
if not self.total_production_days:
Owner

transformer ça en falsy me semble dangereux, je pense qu'on veut capter les valeurs 0 et donc garder is None

transformer ça en falsy me semble dangereux, je pense qu'on veut capter les valeurs 0 et donc garder `is None`
sebastien marked this conversation as resolved
@ -50,0 +114,4 @@
def delete_presence_setting(user, setting):
"""Delete a presence percentage setting."""
if setting.user_id != user.id:
abort(404)
Owner

Reprend plutôt ce qu'il y a dans le flow weekly avec un target_user pour ne pas occuper la variable user dans le template.
Mais cette vérification pourrait en soit disparaitre.

Reprend plutôt ce qu'il y a dans le flow weekly avec un target_user pour ne pas occuper la variable `user` dans le template. Mais cette vérification pourrait en soit disparaitre.
sebastien marked this conversation as resolved
refactor: order data from database query
All checks were successful
CI / lint (push) Successful in 1m1s
CI / lint (pull_request) Successful in 1m3s
CI / python-tests (pull_request) Successful in 5m41s
CI / python-tests (push) Successful in 5m51s
0e97356437
loan approved these changes 2026-08-27 12:03:38 +02:00
chore: data formatting should move to aggregations
All checks were successful
CI / lint (push) Successful in 1m15s
CI / lint (pull_request) Successful in 1m16s
CI / python-tests (pull_request) Successful in 5m29s
CI / python-tests (push) Successful in 5m49s
34f5d8a4ab
loan force-pushed 23-user-presence-setting from 34f5d8a4ab
All checks were successful
CI / lint (push) Successful in 1m15s
CI / lint (pull_request) Successful in 1m16s
CI / python-tests (pull_request) Successful in 5m29s
CI / python-tests (push) Successful in 5m49s
to 7f8bcdedd6
All checks were successful
CI / lint (pull_request) Successful in 51s
CI / lint (push) Successful in 52s
CI / python-tests (pull_request) Successful in 4m46s
CI / python-tests (push) Successful in 4m52s
2026-08-27 14:26:16 +02:00
Compare
feat: add start date to use hour balance
Some checks failed
CI / lint (push) Successful in 52s
CI / lint (pull_request) Successful in 53s
CI / python-tests (pull_request) Has been cancelled
CI / python-tests (push) Has been cancelled
0c0f4713c2
fix: update calculation for hours balance
All checks were successful
CI / lint (pull_request) Successful in 58s
CI / lint (push) Successful in 1m0s
CI / python-tests (pull_request) Successful in 4m54s
CI / python-tests (push) Successful in 5m4s
3cf67c929a
sebastien deleted branch 23-user-presence-setting 2026-08-28 14:09:38 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
2 participants
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
yaal/sisyphe!57
No description provided.