Changeset 109678 in spip-zone


Ignore:
Timestamp:
Mar 25, 2018, 2:34:59 PM (16 months ago)
Author:
eric@…
Message:

Mise au point des erreurs de création d'une espèce.
Ajout d'un filtre sur les espèces et pétouilles de présentation

Location:
_plugins_/taxonomie/trunk
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/taxonomie/trunk/formulaires/creer_espece.php

    r109630 r109678  
    9696 *
    9797 * @return array
    98  *        Message d'erreur si aucun taxon disponible ou si il existe une erreur dans les saisies ou
    99  *        chargement (set_request) des champs utiles à l'étape 2 sinon. Ces champs sont :
     98 *        Message d'erreur si aucun taxon disponible ou si il existe une erreur dans les saisies.
     99 *        Sinon, chargement des champs utiles à l'étape 2 :
    100100 *            - `_taxons`       : (affichage) liste des taxons correspondant à la recherche (tsn, nom scientifique et rang).
    101101 *            - `_taxon_defaut` : (affichage) tsn du taxon choisi par défaut.
     
    198198                                }
    199199                        } else {
    200                                 $erreurs['message_erreur'] = _T('taxonomie:erreur_recherche_aucun_taxon');
     200                                $erreurs['message_erreur'] = _T('taxonomie:erreur_formulaire_creer_espece');
    201201                        }
    202202                } else {
     
    219219 *
    220220 * @return array
    221  *        Message d'erreur si le service ITIS ne renvoie pas les informations demandées (a priori jamais) ou
    222  *        chargement (set_request) des champs utiles à l'étape 3 sinon. Ces champs sont :
     221 *        Message d'erreur si le service ITIS ne renvoie pas les informations demandées (a priori jamais).
     222 *        Sinon, chargement des champs utiles à l'étape 3 :
    223223 *              - `_espece`  : (affichage) toutes les informations ITIS sur l'espèce.
    224224 *              - `_parents` : (affichage) toutes les informations ITIS sur l'ascendance de l'espèce jusqu'au genre.
     
    260260                        // Le premier ascendant est toujours affiché.
    261261                        $parent = $_ascendant;
    262                         // On détermine si l'ascendant est un taxon d'espèce ou inférieur (table spip_especes)
    263                         // ou est un taxon de rang supérieur à l'espèce (table spip_taxons).
     262                        // On détermine si l'ascendant est un taxon d'espèce ou inférieur,
     263                        // ou si c'est un taxon de rang supérieur à l'espèce.
    264264                        $parent['est_espece'] = rang_est_espece($_ascendant['rang']) ? true : false;
    265265                        // On indique si le parent existe déjà ou pas en base
    266266                        $parent['deja_cree'] = false;
    267                         $from = rang_est_espece($_ascendant['rang']) ? 'spip_especes' : 'spip_taxons';
    268                         if (sql_countsel($from, array('tsn=' . intval($_ascendant['tsn'])))) {
     267                        if (sql_countsel('spip_taxons', array('tsn=' . intval($_ascendant['tsn'])))) {
    269268                                $parent['deja_cree'] = true;
    270269                        }
     
    279278                set_request('_parents', $parents);
    280279        } else {
    281                 $erreurs['message_erreur'] = _T('taxonomie:erreur_espece_tsn_invalide');
     280                $erreurs['message_erreur'] = _T('taxonomie:erreur_formulaire_creer_espece');
    282281        }
    283282
     
    304303
    305304        if ($tsn = intval(_request('tsn'))) {
    306                 // Récupération de la liste des champs des tables spip_taxons et spip_especes.
     305                // Récupération de la liste des champs de la table spip_taxons.
    307306                include_spip('base/objets');
    308307                $description_table = lister_tables_objets_sql('spip_taxons');
     
    319318                // L'espèce concernée est identifiée car son enregistrement ne contient pas les index deja_cree et est_espece.
    320319                $erreurs = array();
    321                 $parents = array();
    322                 $espece = array();
    323320                foreach ($taxons as $_index => $_taxon) {
    324321                        if (empty($_taxon['deja_cree'])) {
     
    358355                                        $taxon['statut'] = 'publie';
    359356                                } else {
    360                                         // Pour les taxons espèce et de rang inférieur, on positionne le statut à prop (pas de publication
    361                                         // par défaut).
     357                                        // Pour les taxons espèce et de rang inférieur, on positionne le statut à prop
     358                                        // (pas de publication par défaut).
    362359                                        $taxon['espece'] = 'oui';
    363360                                        $taxon['statut'] = 'prop';
     
    369366                                        if (!isset($_taxon['deja_cree'])) {
    370367                                                $id_espece = $id_taxon;
    371                                                 $espece = $taxon;
    372                                         } else {
    373                                                 $parents[] = $taxon;
    374368                                        }
    375369                                } else {
    376370                                        // En cas d'erreur on sort de la boucle pour éviter de créer des taxons sans parent.
    377                                         $erreurs[] = $taxon;
     371                                        $erreurs = $taxon;
    378372                                        break;
    379373                                }
     
    382376
    383377                if ($erreurs) {
    384                         $retour['message_erreur'] = _T('taxonomie:erreur_inconnue');
     378                        $retour['message_erreur'] = _T('taxonomie:erreur_creation_taxon', array('taxon' => $erreurs['nom_scientifique']));
    385379                } else {
    386380                        // Redirection vers la page d'édition du taxon
     
    388382                }
    389383        } else {
    390                 $retour['message_erreur'] = _T('taxonomie:erreur_inconnue');
     384                $retour['message_erreur'] = _T('taxonomie:erreur_formulaire_creer_espece');
    391385        }
    392386
  • _plugins_/taxonomie/trunk/lang/taxonomie_fr.php

    r109630 r109678  
    2323        'erreur_recherche_nom_scientifique' => 'Le nom scientifique d\'une espèce ou d\'un taxon de rang inférieur est toujours constitué d\'au moins deux mots. Saisissez un second mot ou changez le type de correspondance.',
    2424        'erreur_recherche_aucun_taxon' => 'Le service ITIS ne trouve aucun taxon de rang espèce ou inférieur correspondant à cette recherche ou tous les taxons trouvés ont déjà été créés.',
    25         'erreur_espece_tsn_invalide' => 'Le TSN de l\'espèce choisie est invalide. Veuillez relancer le formulaire et réessayer.',
     25        'erreur_formulaire_creer_espece' => 'Une erreur s\'est produite lors du processus de création. Veuillez relancer le formulaire et réessayer.',
     26        'erreur_creation_taxon' => 'Une erreur s\'est produite lors de la création du taxon @taxon@ en base de données. Veuillez consulter la liste des taxons et relancer le formulaire si besoin.',
    2627        'explication_taxon_trouve' => 'Chaque taxon est désigné par son nom, scientifique ou commun, et son rang.',
    2728        'explication_recherche_type' => 'Si vous le connaissez, le nom scientifique permet une recherche d\'emblée plus précise.',
     
    4546        'filtre_importe_tout' => 'Tous',
    4647        'filtre_regnes_tout' => 'Tous les règnes',
     48        'filtre_statut_prop' => 'Proposés à la publication',
     49        'filtre_statut_poubelle' => 'Publiés',
     50        'filtre_statut_publie' => 'A la poubelle',
     51        'filtre_statut_tout' => 'Tous',
    4752
    4853        // I
     
    100105        'label_recherche_correspondance_fin' => 'Se termine par le texte de la recherche',
    101106        'label_recherche_regne' => 'Limiter la recherche à un règne',
    102         'label_parents_espece' => 'Ascendance du taxon jusqu\'au genre',
     107        'label_parents_espece' => 'Ascendance jusqu\'au genre',
    103108
    104109        // N
  • _plugins_/taxonomie/trunk/prive/squelettes/contenu/taxons.html

    r109615 r109678  
    88[(#REM) Onglets pour le filtrage par règne et par indicateur d'édition ]
    99#SET{filtres, #LISTE}
     10[(#ENV{espece}|=={oui}|oui)
     11        #SET{filtres, #ARRAY{statut, prop:publie:poubelle}}
     12        #SET{titre_1, taxonomie:info_1_espece}
     13        #SET{titre_n, taxonomie:info_nb_especes}
     14]
    1015[(#ENV{espece}|=={oui}|non)
    11         #SET{filtres, #LISTE{edite, importe}}
     16        #SET{filtres, #ARRAY{edite, oui:non, importe, oui:non}}
     17        #SET{titre_1, taxonomie:info_1_taxon}
     18        #SET{titre_n, taxonomie:info_nb_taxons}
    1219]
    1320<INCLURE{fond=prive/squelettes/inclure/inc-filtres_listes,
     
    2027<INCLURE{fond=prive/objets/liste/taxons,
    2128        par=nom_scientifique,
    22         info_1=taxonomie:info_1_taxon,
    23         info_nb=taxonomie:info_nb_taxons,
     29        info_1=#GET{titre_1},
     30        info_nb=#GET{titre_n},
    2431        sinon=<:taxon:info_aucun_taxon:>,
    2532        env, ajax} />
    2633
    27 [(#ENV{espece}|=={oui}|et{#AUTORISER{creer, espece}}|oui)
     34[(#AUTORISER{creer, espece}|oui)
    2835        [(#URL_ECRIRE{espece_creer}|icone_verticale{<:espece:icone_creer_espece:>, espece, new, right})]
    2936]
  • _plugins_/taxonomie/trunk/prive/squelettes/inclure/inc-filtres_listes.html

    r109602 r109678  
    2323<div class="onglets_simple second clearfix">
    2424<BOUCLE_filtres(DATA) {source table, #ENV{filtres}}>
    25         <ul[ class="(#VALEUR) [(#COMPTEUR_BOUCLE|>{1}|oui) suivant]"]>
     25        <ul[ class="(#CLE) [(#COMPTEUR_BOUCLE|>{1}|oui) suivant]"]>
    2626                [<li class="first">
    2727                        (#SELF
    28                                 |parametre_url{#VALEUR, ''}
    29                                 |lien_ou_expose{[(#VAL{taxonomie:filtre_}|concat{#VALEUR}|concat{_tout}|_T)], #ENV{#VALEUR}|=={''}, ajax})
     28                                |parametre_url{#CLE, ''}
     29                                |lien_ou_expose{[(#VAL{taxonomie:filtre_}|concat{#CLE}|concat{_tout}|_T)], #ENV{#CLE}|=={''}, ajax})
    3030                </li>]
     31        <BOUCLE_items_filtre(DATA) {source table, #_filtres:VALEUR|explode{:}}{par cle}>
    3132                [<li>
    3233                        (#SELF
    33                                 |parametre_url{#VALEUR, oui}
    34                                 |lien_ou_expose{[(#VAL{taxonomie:filtre_}|concat{#VALEUR}|concat{_oui}|_T)], #ENV{#VALEUR}|=={'oui'}, ajax})
     34                                |parametre_url{#_filtres:CLE, #VALEUR}
     35                                |lien_ou_expose{
     36                                        [(#VAL{taxonomie:filtre_}|concat{#_filtres:CLE}|concat{_}|concat{#VALEUR}|_T)],
     37                                        #ENV{#_filtres:CLE}|=={#VALEUR},
     38                                        ajax})
    3539                </li>]
    36                 [<li>
    37                         (#SELF
    38                                 |parametre_url{#VALEUR, non}
    39                                 |lien_ou_expose{[(#VAL{taxonomie:filtre_}|concat{#VALEUR}|concat{_non}|_T)], #ENV{#VALEUR}|=={'non'}, ajax})
    40                 </li>]
     40        </BOUCLE_items_filtre>
    4141        </ul>
    4242</BOUCLE_filtres>
Note: See TracChangeset for help on using the changeset viewer.