Changeset 92670 in spip-zone


Ignore:
Timestamp:
Nov 5, 2015, 9:35:09 PM (4 years ago)
Author:
prigent.yohann@…
Message:

Formidable 2.9.4 : On permet d’avoir un champ où les valeurs sont uniques. Par exemple un champ email où 2 personnes ne peuvent pas remplir le même email.

Location:
_plugins_/formidable/trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/formidable/trunk/base/formidable_tables.php

    r84737 r92670  
    5858                'info_nb_objets' => 'formidable:info_nb_formulaires',
    5959
    60                 'champs_editables' => array('titre', 'identifiant', 'descriptif','message_retour', 'saisies', 'traitements', 'public','apres','url_redirect','resume_reponse'),
    61                 'champs_versionnes' => array('titre', 'identifiant', 'descriptif','message_retour', 'saisies', 'traitements', 'public','apres','url_redirect','resume_reponse'),
     60                'champs_editables' => array('titre', 'identifiant', 'descriptif','message_retour', 'saisies', 'traitements', 'public','apres','unicite','message_erreur_unicite','url_redirect','resume_reponse'),
     61                'champs_versionnes' => array('titre', 'identifiant', 'descriptif','message_retour', 'saisies', 'traitements', 'public','apres','unicite','message_erreur_unicite','url_redirect','resume_reponse'),
    6262                'field' => array(
    6363                        "id_formulaire" => "bigint(21) NOT NULL",
     
    7070                        "public" => "enum('non', 'oui') DEFAULT 'non' NOT NULL",
    7171                        "apres" => "varchar(12) NOT NULL default ''",
     72                        "unicite" => "text NOT NULL default ''",
     73                        "message_erreur_unicite" => "text NOT NULL default ''",
    7274                        "url_redirect" => "varchar(255)",
    7375                        "statut" => "varchar(10) NOT NULL default ''",
  • _plugins_/formidable/trunk/formidable_administrations.php

    r84737 r92670  
    6767        );
    6868        $maj['0.6.4'] = array(
     69                // champ resume_reponse
     70                array('maj_tables',array('spip_formulaires')),
     71        );
     72        // Pouvoir rendre un champ unique
     73        $maj['0.6.5'] = array(
    6974                // champ resume_reponse
    7075                array('maj_tables',array('spip_formulaires')),
  • _plugins_/formidable/trunk/formulaires/editer_formulaire.html

    r90255 r92670  
    7070                                <p class="explication"><:formidable:editer_resume_reponse_explication:></p>
    7171                        </li>
     72                        #INCLURE{fond=formulaires/inc-formidable-unicite, env}
    7273                </ul>
    7374               
  • _plugins_/formidable/trunk/formulaires/formidable.php

    r88623 r92670  
    197197
    198198                $erreurs = saisies_verifier($saisies);
     199
     200                // Si on a pas déjà une erreur sur le champ unicite, on lance une verification
     201                if ($formulaire['unicite'] != "") {
     202                        if (!$erreurs[$formulaire['unicite']]) {
     203                                $reponses = sql_allfetsel('R.id_formulaire AS id', 'spip_formulaires_reponses AS R
     204                        LEFT JOIN spip_formulaires AS F
     205                          ON R.id_formulaire=F.id_formulaire
     206                LEFT JOIN spip_formulaires_reponses_champs AS C
     207                          ON R.id_formulaires_reponse=C.id_formulaires_reponse', 'R.id_formulaire = ' . $id_formulaire . ' AND C.nom='.sql_quote($formulaire['unicite']).' AND C.valeur='.sql_quote(_request($formulaire['unicite'])).' AND R.statut = "publie"');
     208                                if (is_array($reponses) && count($reponses) > 0) {
     209                                        $erreurs[$formulaire['unicite']] = $formulaire['message_erreur_unicite'] ? _T($formulaire['message_erreur_unicite']) : _T('formidable:erreur_unicite');
     210                                }
     211                        }
     212                }
    199213
    200214                if ($erreurs and !isset($erreurs['message_erreur']))
  • _plugins_/formidable/trunk/lang/formidable_fr.php

    r92189 r92670  
    5959        'editer_message_ok' => 'Message de retour',
    6060        'editer_message_ok_explication' => 'Vous pouvez personnaliser le message qui sera affiché à l’utilisateur après l’envoi d’un formulaire valide.',
     61        'editer_message_erreur_unicite_label' => 'Message d\'erreur quand un champ n\'est pas unique',
     62        'editer_message_erreur_unicite_explication' => 'Si vous laissez ce champ vide, le message d\'erreur par défaut de formidable s\'affichera',
    6163        'editer_modifier_formulaire' => 'Modifier le formulaire',
    6264        'editer_nouveau' => 'Nouveau formulaire',
     
    6668        'editer_resume_reponse_explication' => 'Cette chaîne sera utilisée pour afficher un résumé de chaque réponse dans les listes. Les champs comme <tt>@input_1@</tt> seront remplacés comme indiqué par l’aide mémoire ci-contre.',
    6769        'editer_titre' => 'Titre',
     70        'editer_unicite_label' => 'Vérifier l\'unicité d\'un champ',
     71        'editer_unicite_explication' => 'Enregistrer le formulaire seulement si un champ est unique',
    6872        'erreur_autorisation' => 'Vous n’avez pas le droit d’éditer les formulaires du site.',
    6973        'erreur_base' => 'Une erreur technique est survenue durant l’enregistrement.',
     
    7579        'erreur_importer_yaml' => 'Erreur durant l’importation du fichier YAML',
    7680        'erreur_inexistant' => 'Le formulaire n’existe pas.',
     81        'erreur_unicite' => 'Cette valeur est déjà utilisée',
    7782        'exporter_formulaire_format_label' => 'Format du fichier',
    7883        'exporter_formulaire_statut_label' => 'Réponses',
  • _plugins_/formidable/trunk/paquet.xml

    r92189 r92670  
    22        prefix="formidable"
    33        categorie="communication"
    4         version="2.9.3"
     4        version="2.9.4"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
    77        logo="images/formidable-64.png"
    8         schema="0.6.4"
     8        schema="0.6.5"
    99        documentation="http://contrib.spip.net/Formidable-le-generateur-de-formulaires"
    1010>
Note: See TracChangeset for help on using the changeset viewer.