JeromeDevome / GRR

GRR Officiel - Copyright Team DEVOME
https://grr.devome.com
GNU General Public License v2.0
84 stars 51 forks source link

V4.1.0 - Le bénéficiaire d'une réservation est TOUJOURS remis par défaut sur l'utilisateur qui modifie cette dernière lorsqu'on souhaite la mettre à jour. #284

Closed Aurely9n closed 1 year ago

Aurely9n commented 1 year ago

Décrivez le bogue Lorsque je souhaite modifier une réservation, le bénéficiaire est toujours par défaut remis sur bénéficiaire avec l'utilisateur qui souhaite modifier la réservation. Par exemple, si j'accède à un réservation pour laquelle j'avais préalablement enregistré un bénéficiaire EXTERIEUR (différent de moi) ou un bénéficiaire normal (toujours différent de moi), lorsque je reviens sur le formulaire de mise à jour la section "réservation au nom de" est toujours remise sur mon compte (bénéficiaire non extérieur = utilisateur en cours). Comme si le bénéficiaire était forcé sur l'auteur de la modification/création.

C'est évidemment très problématique car à chaque fois que l'on souhaite faire une modification sur une réservation, il faut à chaque fois ré-enregistrer le bon bénéficiaire (s'il est différent de l'utilisateur qui modifie la réservation) sinon cette donnée est perdue au désavantage de l'utilisateur en cours...

Infos GRR Version de GRR : 4.1.0 Version PHP : 7.2.34-38 Problème suite à une installation ou mise à jour : La version précédente 3.5.1 n'avait pas ce souci, les bénéficaire enregistrés etaient bien repris dans le formulaire de mise à jour

Cordialement, Aurélien

JeromeDevome commented 1 year ago

Bonjour, J'ai fais une correction : cec64b7f Il y a deux fichiers que vous pouvez remplacer.

Aurely9n commented 1 year ago

Bonjour, Merci pour votre réaction rapide. J'ai cependant testé vos modifications et l'affichage des bénéficiaires extérieurs n'allait pas jusqu'à afficher l'input et sa valeur... Bref, je me suis permis d'apporter une correction sur ce que vous avez produit en remplaçant dans le fichier "edit_entry_beneficiaire.php" la ligne 49 de la version https://github.com/JeromeDevome/GRR/commit/cec64b7fe437ac026b09085d5a8165c477cdecba

}elseif ( $id != 0 ){  
    $benefs = grr_sql_query( "SELECT beneficiaire, beneficiaire_ext FROM ".TABLE_PREFIX."_entry WHERE id=$id" );  
    $benefs = grr_sql_row( $benefs, 0 );  
grr_sql_free( $benefs );  
    if ( $benefs[0] != '' )  
        $benef = $benefs[0];  
if ( $benefs[1] != '' )  
    $benef = $tab_benef['nom'] = $benefs[1];  
}

Cet ajout est testé et il fonctionne dans tous les cas suivant chez moi :

Désolé si ma manière d'ajouter, mon patch n'est pas très propre, je ne sais pas comment mieux (si vous avez un tuto ou une recommandation sur ce point, je suis preneur).

Merci encore pour votre réactivité, Cordialement

JeromeDevome commented 1 year ago

Pas mal du tout ;) En effet, j'avais oublié le cas des bénéficiaires extérieur. J'ai modifié pour bien reprendre les valeurs du nom est de l'email dans les bonne cases. Commit ( 84e180fa ) dans la version 4.1.1qui arrive bientôt.

Aurely9n commented 1 year ago

C'est une affaire qui roule du coup. Merci !