libertempo / web

Application web de gestion des congés en ligne
GNU General Public License v2.0
67 stars 63 forks source link

Modif des soldes non fonctionnel #144

Closed si-smo2 closed 8 years ago

si-smo2 commented 8 years ago

Bonjour,

Quel que soit le user avec droits responsable, RH ou avec l'admin libertempo (admin-responsable) la modification du solde de jours d'un utilisateur ne prend pas effet. On peut parfaitement modifier le solde dans l'appli en mode responsable ou admin, aucune erreur particulière à la validation, rien dans les logs . Par contre le solde effectif ne bouge pas.

Les tests ont été effectués avec un user responsable, un user admin, l'admin local libertempo rien à faire.

Les droits semblent bon car l'on peut supprimer un compte user sans soucis, en créer etc...

@+

wouldsmina commented 8 years ago

Je n'arrive pas a reproduire le problème. Ce doit etre lié à ta configuration de Libertempo. Peut tu faire l'essai sur la demo et si tu constate le même problème, m'expliquer les étapes pour reproduire...

Les comptes qui vont bien... Admin : admin/responsable paolo: paolo/paolo

si-smo2 commented 8 years ago

Bonjour,

Je viens de faire le test sur la version de démo avec paolo/paolo et cela fonctionne . En tant que admin je peux modifier le solde de l'utilisateur k.legrand .(passage de 9 à 10 jours de reliquat..)

Je m'oriente donc vers un soucis avec ma version de Libertempo mais je ne vois pas trop d'où cela peut venir . Le serveur de test est un Wheezy avec toute les dernières versions de PHP, mysql à jour. Phpcongés 1.5.1 fonctionnait à merveille dessus, libertempo est basé sur cette version, il y a eut install normale de libertempo avec migration de la base sql 1.5.1 en 1.8.

la conf est basique, pas de tuning particulier..Qqun aurait une idée ?

@+

wouldsmina commented 8 years ago

ok. Tu as le même problème pour un utilisateur fraîchement créé? est ce que tu peux modifier d'autres champs? (prénom, temps partiel...)

créé un dossier debug (avec les bons droits) à la racine, puis modifie define.php:11 en remplaçant define('ENV', ENV_PROD); par define('ENV', ENV_TEST));.

dans admin\Fonction.php:2141 ajoute debug($sql);

dans Libertempo, modifie le solde d'un utilisateur (uniquement 1 champ). cela va générer un fichier html dans le dossier debug. Envoi le moi.

wouldsmina commented 8 years ago

ajoute aussi debug($return); dans admin\Fonction.php:2272 juste au dessus de return $return; Merci.

si-smo2 commented 8 years ago

Bonjour,

Merci pour ces pistes. Voici le fichier HTML généré.

@+

dbg-2016-03-31.html.zip

si-smo2 commented 8 years ago

Bonjour,

Pour donner encore plus d'éléments : Nous pouvons créer et/ou supprimer un user (importation depuis LDAP). A la création l'on peut affecter le nombre de jours de CP, RTT etc. et cela est bien pris en compte. Par contre une fois le user créé il est impossible d'y apporter la moindre modification que se soit sur son nom, rajouter ou enlever des jours. Les demandes de congés et le traitement par le N+1-N+2 sont par contre fonctionnelles : un utilisateur verra sont solde diminuer, il recevra bien le mail etc..

Tout a été testé en double avec l'admin local (admin/responsable) et un compte user avec les droits admin, rh etc... Rien à faire. Toute modif semble bloquée sans message particulier, sans erreur qui apparaissent dans les logs.

Merci de vos lumières.

wouldsmina commented 8 years ago

je n'arrive pas à ouvrir le zip (archive corrompu)!

si-smo2 commented 8 years ago

Je l'ai juste renommé, c'est un faux zip. enlève l'extension.zip

wouldsmina commented 8 years ago

ah oui! merci

wouldsmina commented 8 years ago

à première vue :

Reste à comprendre pourquoi! je cherche... A+

wouldsmina commented 8 years ago

[HORS-SUJET] @Prytoegrian on ne peut pas avoir la synthèse de 2 debug() en même temps? c'est normal? Actuellement le dernier debug() écrase l'html...

wouldsmina commented 8 years ago

@si-smo2 je pense avoir mis le doigt sur le problème mais je ne pourrais tester que demain. Est ce que tu utilise un ldap pour importer tes utilisateurs? si c'est le cas, juste pour tester, modifie ta configuration (export_users_from_ldap=FALSE) puis essaye de modifier le solde d'un utilisateur...

wouldsmina commented 8 years ago

C'est corrigé : https://github.com/wouldsmina/Libertempo/commit/f88aae0e7484a81908f6b885a1a073280db320de

A+

prytoegrian commented 8 years ago

C'est « voulu » dans le sens où on demande au debuguer d'aggréger tous les debug() appelé dans une même occurrence et de créer / reset le fichier. Si tu fais un second passage dans la même journée, le premier disparaît effectivement.

La méthode simple serait de faire :

- date('Y-m-d')
+ date('c')

ici pour garantir l'unicité

Joli avatar au passage.

wouldsmina commented 8 years ago

Joli avatar au passage.

Merci :smile:

on demande au debuguer d'aggréger tous les debug() appelé dans une même occurrence

Ok. Donc si je met 2 debug a la suite, le résultat est concaténé; mais si je relance 4 fois le script, je n'aurai qu'un fichier. Si c'est ça, ça me va.

si-smo2 commented 8 years ago

Merci pour la soluce ça fonctionne.

@+