Anomalie #1626
ferméCartes d'adhérents - Chevauchement numéro et date
100%
Description
Voici un essai de carte : le numéro d'adhésion chevauche l'année.
Fichiers
Mis à jour par Alain Paris il y a presque 3 ans
Bonjour,
Actuellement l'affichage de l'année dépend de la hauteur du logo,essayez avec un logo de 150 pixels par exemple....
Mis à jour par Peire BRECHET il y a presque 3 ans
Merci de votre réponse rapide, j'ai essayé avec 150, 100 et pas d'image du tout et aucune modification...
La question devient faut il redémarrer Galette ?
(J'ai naturellement vidé le cache du navigateur) et je teste en local.
Merci
Mis à jour par Peire BRECHET il y a presque 3 ans
Autant pour moi, j'ai travaillé sur le logo général. Et oui celui de la carte en est un autre...
Mis à jour par Peire BRECHET il y a presque 3 ans
Et bien, pas mieux… je n'arrive même plus à supprimer lo logo
Mis à jour par Alain Paris il y a presque 3 ans
Oui il s'agit du logo réservé aux cartes.
Configuration/préférences/cartes
Il suffit choisir un autre fichier avec une hauteur de 150 (chez moi 200x150 cela fonctionne ). enregistrer
Revenir sur la page cartes et vérifier que le logo est affiché et cela devrait être bon.Si pas affiché ,il se peut qu'il y ait eu un problème a l'enregistrement de la modification.
Peut être quelque chose dans les logs.
Mis à jour par Guillaume AGNIERAY il y a presque 2 ans
- Assigné à mis à Guillaume AGNIERAY
Alain Paris a écrit (#note-5):
Il suffit choisir un autre fichier avec une hauteur de 150 (chez moi 200x150 cela fonctionne ).
Après avoir jeté un œil au code, tout dépend du ratio de l'image, et normalement une largeur et une hauteur max sont imposées.
Les images en portrait sont redimensionnées en se référant à leur hauteur.
Les images en paysage, en se référant à leur largeur.
Il y a bien des erreurs dans le code. Les dimensions de l'image sont comparées aux limites imposées, mais sur de mauvaises valeurs et avec des unités différentes (pixels pour l'image, contre millimètres pour les valeurs utilisées dans le PDF).
Et le cas des images carrées (ou proche d'un ratio 1 en paysage) n'est pas vraiment traité ce qui entraîne leur agrandissement au delà de ce qui est prévu comme c'est le cas de Peire.
source:/galette/lib/Galette/IO/PdfMembersCards.php#L165
La hauteur indiquée n'est plus celle utilisée après dans le code :
// Set logo size to max width 30 mm or max height 25 mm
getHeight()
et getWidth()
renvoient une valeur en pixels et sont comparées à une mauvaise valeur en millimètres :
$ratio = $print_logo->getWidth() / $print_logo->getHeight();
if ($ratio < 1) {
if ($print_logo->getHeight() > 16) {
$this->hlogo = 20;
} else {
$this->hlogo = $print_logo->getHeight();
}
$this->wlogo = round($this->hlogo * $ratio);
Ensuite les images carrées sont redimensionnées comme des images paysage en fonction de leur largeur et dépassent alors la hauteur max imposée pour le PDF :
} else {
if ($print_logo->getWidth() > 16) {
$this->wlogo = 30;
} else {
$this->wlogo = $print_logo->getWidth();
}
$this->hlogo = round($this->wlogo / $ratio);
}
Mis à jour par Guillaume AGNIERAY il y a presque 2 ans
- Fichier exemple_hauteur_max.png exemple_hauteur_max.png ajouté
- Fichier exemple_hauteur_max-2.png exemple_hauteur_max-2.png ajouté
- Fichier exemple_hauteur_max-3.png exemple_hauteur_max-3.png ajouté
- Fichier exemple_largeur_max-1.png exemple_largeur_max-1.png ajouté
- Fichier exemple_largeur_max-2.png exemple_largeur_max-2.png ajouté
- Fichier exemple_inférieur_hauteur_max.png exemple_inférieur_hauteur_max.png ajouté
- Fichier exemple_inférieur_largeur_max.png exemple_inférieur_largeur_max.png ajouté
- Fichier exemple_id_adhérent.png exemple_id_adhérent.png ajouté
- Fichier exemple_numéro_adhérent.png exemple_numéro_adhérent.png ajouté
- Fichier exemple_sans_numéro.png exemple_sans_numéro.png ajouté
- Version cible mis à 1.0.0
Les modifs proposées corrigent ce que je pense être le comportement normal souhaité pour l'affichage du logo :
https://github.com/galette/galette/pull/215/files
Si les dimensions du fichier original sont inférieures à 113x64px (30x17mm), ce sont elles qui seront utilisées.
Je joins plusieurs captures des résultats obtenus :)
Au passage j'introduis de nouvelles conditions pour l'affichage du numéro/id adhérent :- si l'option "Afficher les identifiants" est cochée dans les paramètres, c'est cet identifiant qui est utilisé (comportement actuel par défaut).
- si le champ "Numéro adhérent" est utilisé ET renseigné, c'est ce numéro qui est utilisé.
- si ce même champ est utilisé ET renseigné ET que l'option "Afficher les identifiants" est cochée, c'est le numéro qui est privilégié.
- si ni l'option, ni le champ ne sont utilisés, rien n'est affiché.
Mis à jour par Guillaume AGNIERAY il y a presque 2 ans
- Statut changé de Nouveau à Résolu
- % réalisé changé de 0 à 100
Appliqué par commit a1bde60ef66441b2cca0c857ab8e20a7accaf01d.