Projet

Général

Profil

Actions

Anomalie #1626

fermé

Cartes d'adhérents - Chevauchement numéro et date

Ajouté par Peire BRECHET il y a presque 3 ans. Mis à jour il y a plus d'un an.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
Début:
10/02/2022
Echéance:
% réalisé:

100%

Temps estimé:
Version utilisée:

Description

Voici un essai de carte : le numéro d'adhésion chevauche l'année.


Fichiers

Capture d’écran 2022-02-10 à 16.33.54.png (168 ko) Capture d’écran 2022-02-10 à 16.33.54.png Peire BRECHET, 10/02/2022 16:36
exemple_hauteur_max.png (69,9 ko) exemple_hauteur_max.png Guillaume AGNIERAY, 25/01/2023 13:57
exemple_hauteur_max-2.png (68,9 ko) exemple_hauteur_max-2.png Guillaume AGNIERAY, 25/01/2023 13:57
exemple_hauteur_max-3.png (68,8 ko) exemple_hauteur_max-3.png Guillaume AGNIERAY, 25/01/2023 13:57
exemple_largeur_max-1.png (70,8 ko) exemple_largeur_max-1.png Guillaume AGNIERAY, 25/01/2023 13:57
exemple_largeur_max-2.png (70,3 ko) exemple_largeur_max-2.png Guillaume AGNIERAY, 25/01/2023 13:57
exemple_inférieur_hauteur_max.png (67,8 ko) exemple_inférieur_hauteur_max.png Guillaume AGNIERAY, 25/01/2023 13:58
exemple_inférieur_largeur_max.png (68 ko) exemple_inférieur_largeur_max.png Guillaume AGNIERAY, 25/01/2023 13:58
exemple_id_adhérent.png (89,8 ko) exemple_id_adhérent.png Guillaume AGNIERAY, 25/01/2023 13:59
exemple_numéro_adhérent.png (82,2 ko) exemple_numéro_adhérent.png Guillaume AGNIERAY, 25/01/2023 13:59
exemple_sans_numéro.png (89,4 ko) exemple_sans_numéro.png Guillaume AGNIERAY, 25/01/2023 13:59

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

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

Mis à jour par Johan Cwiklinski il y a plus d'un an

  • Statut changé de Résolu à Fermé
Actions

Formats disponibles : Atom PDF