source: spip-zone/_plugins_/acces_restreint/trunk/formulaires/editer_zone.html @ 117974

Last change on this file since 117974 was 117974, checked in by root, 13 months ago

Formulaire d'édition d'une zone : il faut une fonction 'identifier' sinon les erreurs ne sont pas affichées (au moins en SPIP 3.2, peut-être avant aussi, pas testé). On en profite pour ajouter les commentaires phpdoc.

File size: 4.9 KB
Line 
1<div class="formulaire_spip formulaire_editer formulaire_editer_zone formulaire_editer_zone-#ENV{id_zone,nouveau}">
2        [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV**{message_ok})</p>]
3        [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV**{message_erreur})</p>]
4        [(#ENV{editable})
5        <form method="post" action="#ENV{action}" enctype="multipart/form-data"><div>
6                [(#REM) declarer les hidden qui declencheront le service du formulaire
7                parametre : url d'action ]
8                #ACTION_FORMULAIRE{#ENV{action}}
9
10                <input type="hidden" name="id_zone" value="#ENV{id_zone}" />
11                <[(#DIV|sinon{ul})] class="editer-groupe">
12                        <[(#DIV|sinon{li})] class="editer editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur]">
13                                <label for="titre"><:accesrestreint:label_titre_zone:></label>[
14                                        <span class="erreur_message">(#ENV**{erreurs}|table_valeur{titre})</span>
15                                        ]<input type="text" class="text" name="titre" id="titre" value="#ENV{titre}" />
16                        </[(#DIV|sinon{li})]>
17                </[(#DIV|sinon{ul})]>
18
19                <fieldset class="droits">
20                        <legend><:accesrestreint:label_droits_acces:></legend>
21                        <[(#DIV|sinon{ul})] class="editer-groupe">
22                                [(#ENV{id_zone}|intval|non|et{#AUTORISER{modifier,zone}})
23                                <[(#DIV|sinon{li})] class="editer editer_droits_admin pleine_largeur">
24                                        <div class="choix"><input type="checkbox" name="droits_admin" value="oui" id="droits_admin" checked="checked" />
25                                        <label for="droits_admin"><:accesrestreint:ajouter_droits_auteur:></label></div>
26                                </[(#DIV|sinon{li})]>]
27                                <[(#DIV|sinon{li})] class="editer editer_publique_privee pleine_largeur">
28                                        <div class="choix"><input type="checkbox" name="publique" value="oui" id="publique"[ (#PUBLIQUE|=={oui}|oui)checked="checked"] />
29                                        <label for="publique"><:accesrestreint:zone_restreinte_publique:></label></div>
30                                        <div class="choix"><input type="checkbox" name="privee" value="oui" id="privee"[ (#PRIVEE|=={oui}|oui)checked="checked"] />
31                                        <label for="privee"><:accesrestreint:zone_restreinte_espace_prive:></label></div>
32                                </[(#DIV|sinon{li})]>
33                                <[(#DIV|sinon{li})] class="editer editer_autoriser_si_connexion pleine_largeur">
34                                        <div class="choix"><input type="checkbox" name="autoriser_si_connexion" value="oui" id="autoriser_si_connexion"[ (#AUTORISER_SI_CONNEXION|=={oui}|oui)checked="checked"] />
35                                        <label for="autoriser_si_connexion"><:accesrestreint:zone_restreinte_autoriser_si_connexion_label:></label></div>
36                                </[(#DIV|sinon{li})]>
37                        </[(#DIV|sinon{ul})]>
38                </fieldset>
39
40                <[(#DIV|sinon{ul})] class="editer-groupe">
41                        <[(#DIV|sinon{li})] class="editer editer_descriptif[ (#ENV**{erreurs}|table_valeur{descriptif}|oui)erreur]">
42                                <label for="descriptif"><:accesrestreint:descriptif:></label>[
43                                <span class="erreur_message">(#ENV**{erreurs}|table_valeur{descriptif})</span>
44                                ]<textarea name="descriptif" rows="5" id="descriptif">[(#ENV{descriptif})]</textarea>
45                        </[(#DIV|sinon{li})]>
46                </[(#DIV|sinon{ul})]>
47
48                <fieldset class="rubriques">
49                        <legend><:accesrestreint:rubriques_zones_acces:></legend>
50                        <div class="filtrer">
51                                <label for="filtrer_rubriques"><:accesrestreint:label_filtrer_rubriques:> :</label>
52                                <input type="input" id="filtrer_rubriques" placeholder="<:accesrestreint:placeholder_filtrer_rubriques|attribut_html:>">
53                        </div>
54                        [(#INCLURE{fond=formulaires/inc-select_rubriques}{rubriques=#ENV{rubriques}})]
55                </fieldset>
56
57                [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
58                <!--extra-->
59                <p class="boutons"><input type="submit" class="submit" value="[(#ENV{id_zone}|?{<:bouton_enregistrer:>,<:bouton_ajouter:>})]" /></p>
60        </div></form>
61        ]
62</div>
63
64<script type="text/javascript">
65        /*<![CDATA[*/
66                (function($){
67
68                        var tous_les_elements = $('.formulaire_editer_zone ul.hierarchie li');
69                        console.log(tous_les_elements);
70
71                        // on filtre les plugins
72                        $('input#filtrer_rubriques').keyup(function(){
73                                var that = this;
74                                jQuery('.formulaire_editer_zone .rubriques > legend').attr('data-filtrer',$(this).val());
75                                var elements_trouves = tous_les_elements.filter(function(i, li){
76                                        var listItemText = $(li).text().toUpperCase()
77                                        searchText       = that.value.toUpperCase();
78                                        return ~listItemText.indexOf(searchText);
79                                });
80                                tous_les_elements.hide();
81                                elements_trouves.show();
82                        });
83
84                        onAjaxLoad(refiltrer);
85
86                        // Au rechargement de la page et lors du chargement du descriptif d'un plugin
87                        // on recupere l'éventuel filtre et on l'applique si présent
88                        function refiltrer(){
89                                if (jQuery('.formulaire_editer_zone .rubriques > legend').attr('data-filtrer')) {
90                                        var elements_trouves = tous_les_elements.filter(function(i, li){
91                                                var listItemText = $(li).text().toUpperCase()
92                                                var searchText = jQuery('.formulaire_editer_zone .rubriques > legend').attr('data-filtrer');
93                                                jQuery('input#filtrer_rubriques').val(searchText);
94                                                return ~listItemText.indexOf(searchText.toUpperCase());
95                                        });
96                                        tous_les_elements.hide();
97                                        elements_trouves.show();
98                                }
99                        }
100
101                })(jQuery);
102
103        /*]]>*/
104</script>
Note: See TracBrowser for help on using the repository browser.