PnX-SI / GeoNature-atlas

Application WEB permettant de générer des fiches espèces publiques à partir d'observations faune/flore
GNU General Public License v3.0
44 stars 48 forks source link

Affichage "description" des photos #148

Open sig-pnrnm opened 6 years ago

sig-pnrnm commented 6 years ago

Dans Taxhub, pour chaque photo, nous ajoutons le titre, l'auteur et très souvent la description (champ desc_media de vm_medias). Actuellement, dans GeoNature-Atlas, seuls le titre et l'auteur sont utilisés pour la légende des images (sous la forme Titre de l'image © Auteur de la photo).

Il est dommage que cette description ne soit pas valorisée dans l'Atlas.

Il "suffirait" d'ajouter une icone "info" * à la fin de la description pour que cette description soit accessible depuis le média et sans que ça n'alourdisse la galerie.

Voila ce que ça pourrait donner : atlas_informations

De ce que j'ai compris, il faudrait modifier légèrement ces fichiers : /static/galleryPhoto.js /main/modeles/repositories/vmMedias.py /templates/ficheEspece.html

Mais j'en oublie peut-être. Si ça n'intéresse pas la collectivité, je peux tenter de le faire uniquement sur mon instance, mais je veux bien un peu d'aide pour cela. (j'ai commencé, comme vous le voyez sur la capture ci-dessus, mais je n'arrive pas à recupérer la description pour le moment : celle de la capture est statique)

* glyphicon-info-sign de Bootstrap

sig-pnrnm commented 6 years ago

En ayant cherché un peu, ça fonctionne déjà un peu mieux : J'ai ajouté la description dans le getFirstPhoto() et getPhotoCarousel() de vmMedias.py :

def getFirstPhoto(connection, cd_ref, id):
    sql= "SELECT * \
    FROM atlas.vm_medias \
    WHERE (cd_ref IN ( SELECT * FROM atlas.find_all_taxons_childs(:thiscdref)) OR cd_ref = :thiscdref) AND id_type=:thisid"
    req = connection.execute(text(sql), thiscdref = cd_ref, thisid=id)

    for r in req:
        return {'path': utils.findPath(r), 'title': deleteNone(r.titre), 'author': deleteNone(r.auteur), 'description': deleteNone(r.desc_media)}

Puis en modifiant le template ficheEspece.html, j'arrive à afficher la description. Mais ce n'est pas encore super clean :

<p class="imgDescription main">
{{firstPhoto.title}} &copy; {{firstPhoto.author}} &nbsp;&nbsp;<a href="#">
<span class="glyphicon glyphicon-info-sign" style="color:white;" data-toggle="tooltip" data-placement="top" title="{{firstPhoto.description}}">
</span></a>
</p>

Il faudra encore ajouter une condition pour dire "si la description n'est pas nulle, j'affiche l'icone, sinon, je n'affiche rien". Bref, c'est pas terminé, et pas très clean : si je suis le seul que ça intéresse, je nettoierai cela seul. Sinon, je veux bien quelques conseils ! ;)

camillemonchicourt commented 6 years ago

On n'a pas identifié ce besoin car pour les images on ne saisit que la légende qui nous suffit à décrire l'image. Mais vu qu'il peut y a le champs, autant l'afficher quand c'est saisi en effet. Par contre il faut faire une vérification du contenu pour n'afficher le i que quand le champs est rempli. De plus comme ça c'est générique. Et il faut le faire aussi dans le fiche Espèce où il y a les images.

Je te deconseille fortement de le faire que sur ton instance pour pouvoir facilement beneficier des mises à jour.

sig-pnrnm commented 6 years ago

Je te deconseille fortement de le faire que sur ton instance pour pouvoir facilement beneficier des mises à jour.

Oui, c'est bien l'idée ;) (mais si j'avais été le seul intéressé...)

Pour la vérification de contenu, je regarde ça, et je tenterai peut-être une PR.

camillemonchicourt commented 6 years ago

C'est pas grave si tu es le seul intéressé pour le moment, tant que c'est générique et que ça n'alourdit pas l'appli.