Salut,

Le 01/10/2016 à 12:20, f.lass...@free.fr a écrit :
> Bonjour,
> 
> Pour le complément d'adresse, je j'essayais d'abord de faire marcher ma 
> boucle avant d'y inclure les infos qui nous sont nécessaires ... ;)

OK :)

> 
> J'avance un peu ...
> 
> Je n'arrive pas à tout expliquer mais :
> 
> ligne 66 : private $_parent; /**Déclaration de la variable $_parent*/
> 
> ligne 106 : if ($member->hasParent()) {
>                       $address = $member->parent;
>               } else {
>                       $address = $member->address;
>               }
> 
> Cette boucle remonte, si l'adhérent possède un parent, le numéro (id ?) de 
> son parent en guise d'adresse ! (c'est bon signe ! :D )
> 
> Par contre, si je rajoute : $address = $member->parent->address;
> Rien ne s'affiche (le champ est vide) ... :/
> 
> C'est frustrant, je sens que je ne suis pas loin ...

Alors, il faut prendre l'habitude de consulter les logs (système,
galette, ...) ; ils sont plein d'information très intéressantes quand tu
rencontres un souci (je dis ça car là, tu devrait avoir un Warning dans
les logs - ça ne bloque pas l'exécution, mais ça ne marche pas quand
même :D).

Je pense ton souci est dû aux dépendances de l'adhérent... Cela n'est
pas documenté (pas eu le temps ? pas pensé ? les deux ?). Bref.

Lorsque l'on charge un adhérent, un certain nombre de choses peuvent
être récupérées en plus des informations de l'adhérent lui-même, (son
parent, ses groupes, son image, ses cotisations, ses enfants). Les
valeurs par défaut sont définies dans Adherent.php (confer $_deps = [];).

Il s'est avéré que le chargement inconditionnel de l'ensemble des ces
informations, quand elles ne sont pas nécessaires, pose des problèmes de
performances.

Du coup, j'ai instauré un chargement conditionnel de ces dépendances,
avec un minimum très minimal... De fait, les informations du parent ne
sont pas chargées par défaut ; je pense que ton problème vient de là :)

Dans PdfContribution.php, je pense qu'il suffit de remplacer :
$member = new Adherent($this->_contrib->member);

Par :
$member = new Adherent($this->_contrib->member, ['parent' > true]);

Cela devrait régler ton problème ;)

++
-- 
Johan

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Galette-discussion mailing list
Galette-discussion@gna.org
https://mail.gna.org/listinfo/galette-discussion

Répondre à