Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1141 image par défaut dans les formulaires bazar #1143

Merged

Conversation

GayLaurent
Copy link
Contributor

PR correspondant à une demande d'amélioration.

Dans une fiche bazar, possibilité de définir une image par défaut dans un champ de type "image".
Il est également possible de l'effacer ou de la rafraichir.

Dans la visualisation des fiches ou des "templates", c'est cette image par défaut qui est alors utilisée.
(la modification est réalisé avant l'appel à la "template", donc cela doit être valable pour toutes)

@GayLaurent GayLaurent linked an issue Apr 4, 2024 that may be closed by this pull request
Copy link
Contributor

@mrflos mrflos left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hello @GayLaurent
Merci pour la contrib, ca marche bien, j'ai juste eu une erreur lors de l'ajout d'une image trop grande par rapport au max de ma config php:

Warning: PHP Request Startup: POST Content-Length of 24672631 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

Je me demande si l'on pourrait pas récuperer le post_max_size de php et cote js traiter pour que l'image soit réduite par un lib comme https://github.com/nodeca/image-blob-reduce , ou a minima avoir un message d'erreur explicite "L'image par défaut ne doit pas dépasser XXX mo " a renvoyer.

J'ai rajouté un commit pour lever des erreurs deprecated, et fait quelques remarques, mais rien de bloquant! Bravo pour ta contrib dans une partie pas évidente de YesWiki!

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Chouette, du refacto!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oui, meme plus que du refacto : quand la requette échouait, on ne l'avait pas en "debug"

if (file_elem.parentElement.childElementCount == 1) {
const new_button = document.createElement("i")
new_button.className = "fas fa-remove"
new_button.style = "position:relative;top:-26px;margin-left:auto;margin-right:0;width:20px;display:block;cursor: pointer;"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

a voir si c'est pas mieux de créer une className btn-img-remove et de mettre les propriétés css dans styles/yeswiki-base.css, afin de permettre de changer ces propriétés plus facilement dans les themes et PageCss

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

En effet, je regarde cela

@@ -41,6 +42,37 @@ public function getForms($options): array
return $this->formManager->getAll();
}
}

private function replace_default_image($options, $forms, $entries): array {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

dans les conventions de nommage des fonctions en PHP, on utilise plutot camelCase au lieu du snake_case de python

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oups, je vais renomer mes nouvelles fonctions alors ;)

@GayLaurent
Copy link
Contributor Author

Hello @GayLaurent Merci pour la contrib, ca marche bien, j'ai juste eu une erreur lors de l'ajout d'une image trop grande par rapport au max de ma config php:

Warning: PHP Request Startup: POST Content-Length of 24672631 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

Je me demande si l'on pourrait pas récuperer le post_max_size de php et cote js traiter pour que l'image soit réduite par un lib comme https://github.com/nodeca/image-blob-reduce , ou a minima avoir un message d'erreur explicite "L'image par défaut ne doit pas dépasser XXX mo " a renvoyer.

J'ai rajouté un commit pour lever des erreurs deprecated, et fait quelques remarques, mais rien de bloquant! Bravo pour ta contrib dans une partie pas évidente de YesWiki!

Oui, en effet, je n'avais pas pensé à ce cas d'usage des images trop grandes

…d (camelCase) + check max size of default image
@GayLaurent
Copy link
Contributor Author

Nouvelle correction:

  • class "btn-img-remove" ajoutée dans "tools/bazar/presentation/styles/form-edit-template.css"
  • Renomage en camelCase de methodes dans BazarListService.php et FormManager.php
  • controle de taille max d'image par défaut : utilisation de la variable 'imageMaxSize' utilisé par "image-field"

Copy link
Contributor

@J9rem J9rem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

merci @GayLaurent pour tes apports.
Je me permets 2 commentaires pour éviter la propagation d'une source potentielle d'erreur.
Le champ BazarField utilise déjà le champ numéro 8 pour savoir si le champ est requis ou non.
Je propose d'utiliser un autre champ comme le numéro 13 pour éviter les conflits potentiels.

Je n'ai pas regardé le reste de la PR. Je fais confiance aux autres relecteurices.

tools/bazar/fields/ImageField.php Outdated Show resolved Hide resolved
mrflos and others added 2 commits April 24, 2024 09:00
…/image.js

Co-authored-by: Jérémy Dufraisse <jeremy.dufraisse-info@orange.fr>
Co-authored-by: Jérémy Dufraisse <jeremy.dufraisse-info@orange.fr>
@mrflos mrflos merged commit 2c0a809 into doryphore-dev May 10, 2024
3 checks passed
@mrflos mrflos deleted the 1141-image-par-défaut-dans-les-formulaires-bazar branch May 10, 2024 10:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Image par défaut dans les formulaires bazar
3 participants