Adds XSRF protection to the Lists module.
[platal.git] / templates / lists / create.tpl
... / ...
CommitLineData
1{**************************************************************************}
2{* *}
3{* Copyright (C) 2003-2008 Polytechnique.org *}
4{* http://opensource.polytechnique.org/ *}
5{* *}
6{* This program is free software; you can redistribute it and/or modify *}
7{* it under the terms of the GNU General Public License as published by *}
8{* the Free Software Foundation; either version 2 of the License, or *}
9{* (at your option) any later version. *}
10{* *}
11{* This program is distributed in the hope that it will be useful, *}
12{* but WITHOUT ANY WARRANTY; without even the implied warranty of *}
13{* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *}
14{* GNU General Public License for more details. *}
15{* *}
16{* You should have received a copy of the GNU General Public License *}
17{* along with this program; if not, write to the Free Software *}
18{* Foundation, Inc., *}
19{* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *}
20{* *}
21{**************************************************************************}
22
23
24<h1>
25 Création d'une liste de diffusion
26</h1>
27
28{if $created}
29
30<p class='erreur'>Demande de création envoyée !</p>
31
32{else}
33
34<p>
35N'importe qui peut faire la demande de création d'une mailing-list, il suffit pour cela d'être au
36moins 4 polytechniciens inscrits sur le site, et de fournir les informations suivantes concernant la
37liste&nbsp;:
38</p>
39
40<form action='lists/create' method='post' enctype="multipart/form-data">
41 {xsrf_token_field}
42 <table class='bicol' cellspacing='0' cellpadding='2'>
43 <tr>
44 <th colspan='5'>Caractéristiques de la liste</th>
45 </tr>
46 <tr>
47 <td class='titre'>C'est une liste pour&nbsp;:</td>
48 <td colspan='2'><input type='radio' name='asso' value='binet'
49 {if $smarty.post.asso eq 'binet' && $smarty.post}checked='checked'{/if} />un binet</td>
50 <td colspan='2'><input type='radio' name='asso' value=''
51 {if !$smarty.post.asso || !$smarty.post}checked='checked'{/if} />une liste de portée générale ou d'amis</td>
52 </tr>
53 <tr>
54 <td></td>
55 <td colspan='2'><input type='radio' name='asso' value='groupex'
56 {if $smarty.post.asso eq 'groupex' && $smarty.post}checked='checked'{/if} />un groupe X</td>
57 <td colspan='2'><input type='radio' name='asso' value='alias'
58 {if $smarty.post.asso eq 'alias' && $smarty.post}checked='checked'{/if} />un alias psc, ...</td>
59 </tr>
60 <tr class='promo'>
61 <td class='titre'>Promotion&nbsp;:</td>
62 <td><input type='text' name='promo' size='4' maxlength='4'
63 {if $smarty.post.promo}value='{$smarty.post.promo}'{else}value='{$smarty.session.promo}'{/if} />
64 <td class='smaller' colspan='3'>Par exemple : 2004</td>
65 </tr>
66 <tr class='groupex'>
67 <td class='titre'>Nom du groupe X&nbsp;:</td>
68 <td colspan='4'>
69 <input type='text' name='groupex_name' value='{$smarty.post.groupex_name}' /><br />
70 <span class='smaller'><strong>Attention :</strong> le nom du groupe doit être écrit comme sur <a
71 href="http://www.polytechnique.net">Polytechnique.net</a>.</span>
72 </td>
73 </tr>
74 <tr>
75 <td class='titre'>Adresse&nbsp;souhaitée&nbsp;:</td>
76 <td colspan='4'>
77 <input type='text' name='liste' size='15' value='{$smarty.post.liste}' />@<span class='promo'><span id='promotion'></span>.</span><span class='groupex'><span class='smaller'>diminutifdugroupe</span>.</span>polytechnique.org
78 </td>
79 </tr>
80 <script type="text/javascript">//<![CDATA[
81 {literal}
82 $(function() {
83 $(":radio[@name=asso]").change(function() {
84 var asso = $(":radio[@name=asso]:checked").val();
85 if ((asso == "binet") || (asso == "alias")) {
86 $(".groupex").hide();
87 $(".promo").show();
88 } else if (asso == "groupex") {
89 $(".promo").hide();
90 $(".groupex").show();
91 } else {
92 $(".groupex").hide();
93 $(".promo").hide();
94 }
95 }).change();
96 });
97 $(function() {
98 $(":text[@name=promo]").change(function () {
99 var str = $(":text[@name=promo]").val();
100 $("span#promotion").text(str);
101 }).change();
102 });
103 {/literal}
104 // ]]></script>
105 <tr>
106 <td class='titre'>Sujet (bref)&nbsp;:</td>
107 <td colspan='4'>
108 <input type='text' name='desc' size='50' value='{$smarty.post.desc}' />
109 </td>
110 </tr>
111 <tr>
112 <td class='titre'>Propriétés&nbsp;:</td>
113 <td>visibilité&nbsp;:</td>
114 <td><input type='radio' name='advertise' value='0'
115 {if $smarty.post.advertise eq 0 && $smarty.post}checked='checked'{/if} />publique</td>
116 <td><input type='radio' name='advertise' value='1'
117 {if $smarty.post.advertise neq 0 || !$smarty.post}checked='checked'{/if} />privée</td>
118 <td></td>
119 </tr>
120 <tr>
121 <td></td>
122 <td class='smaller' colspan='4'>(est-ce que les non membres peuvent voir l'existence de cette liste ?)</td>
123 </tr>
124 <tr>
125 <td></td>
126 <td>diffusion&nbsp;:</td>
127 <td><input type='radio' name='modlevel' value='0'
128 {if !$smarty.post.modlevel}checked='checked'{/if} />libre</td>
129 <td><input type='radio' name='modlevel' value='1'
130 {if $smarty.post.modlevel eq 1}checked='checked'{/if} />restreinte</td>
131 <td><input type='radio' name='modlevel' value='2'
132 {if $smarty.post.modlevel eq 2}checked='checked'{/if} />modérée</td>
133 </tr>
134 <tr>
135 <td></td>
136 <td class='smaller' colspan='4'>(l'envoi d'un mail à cette liste est-il libre, modéré
137 lorsque l'expéditeur n'appartient pas à la liste ou modéré dans tous les cas ?)</td>
138 </tr>
139 <tr>
140 <td></td>
141 <td>inscription&nbsp;:</td>
142 <td><input type='radio' name='inslevel' value='0'
143 {if $smarty.post.inslevel eq 0 && $smarty.post}checked='checked'{/if} />libre</td>
144 <td><input type='radio' name='inslevel' value='1'
145 {if $smarty.post.inslevel neq 0 || !$smarty.post}checked='checked'{/if} />modérée</td>
146 <td></td>
147 </tr>
148 <tr>
149 <td></td>
150 <td class='smaller' colspan='4'>(détermine si les inscriptions à la liste sont modérées
151 par les modérateurs de la liste ou non.)</td>
152 </tr>
153 <tr><th colspan='5'>Membres et gestionnaires</th></tr>
154 <tr>
155 <td class='titre'>Gestionnaires&nbsp;:</td>
156 <td colspan='4'>
157 <input type='hidden' name='owners' value='{$owners}' />
158 {$owners|nl2br|default:"<span class='erreur'>pas de gestionnaires</span>"}
159 <br />
160 <input type='text' name='add_owner' />
161 <input type='submit' name='add_owner_sub' value='Ajouter' />
162 </td>
163 </tr>
164 <tr>
165 <td class='titre'>Membres&nbsp;:</td>
166 <td colspan='4'>
167 <input type='hidden' name='members' value='{$members}' />
168 {$members|nl2br|default:"<span class='erreur'>pas de membres</span>"}
169 <br />
170 <input type='text' name='add_member' /><br />
171 <input type="file" name="add_member_file" /><br />
172 <input type='submit' name='add_member_sub' value='Ajouter' />
173 </td>
174 </tr>
175 <tr>
176 <td colspan='5'>
177 <small>
178 Tu peux entrer une liste de membres en entrant plusieurs adresses séparées par des espaces, des virgules ou des point-virgules.
179 Tu peux aussi fournir un fichier avec une adresse email par ligne.
180 </small>
181 </td>
182 </tr>
183 </table>
184 <p>
185 La création de la liste sera soumise à un contrôle manuel avant d'être validée. Ce contrôle a
186 pour but notamment de vérifier qu'il n'y aura pas ambiguité entre les membres de la liste et son
187 identité. Exemple&nbsp;: n'importe qui ne peut pas ouvrir pointgamma@polytechnique.org, il ne suffit
188 pas d'être le premier à le demander.
189 </p>
190 <p>
191 La liste est habituellement créée dans les jours qui suivent la demande sauf exception. Pour plus
192 d'informations écris-nous à l'adresse {mailto address='listes@polytechnique.org'} en mettant dans
193 le sujet de ton mail le nom de la liste souhaité afin de faciliter les échanges de mails
194 ultérieurs éventuels.
195 </p>
196 <div class='center'>
197 <br />
198 <input type='submit' name='submit' value='Soumettre' />
199 </div>
200</form>
201
202{/if}
203
204
205{* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}