AXLetter administration page
[platal.git] / templates / include / csv-importer.tpl
CommitLineData
31874f6f 1{**************************************************************************}
2{* *}
5ddeb07c 3{* Copyright (C) 2003-2007 Polytechnique.org *}
31874f6f 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
0d75939a 23{if $form_title}
24<h1>{$form_title}</h1>
25{/if}
26
31874f6f 27<script type="text/javascript">//<![CDATA[
28{literal}
29 function showValue(key, box)
30 {
31 var span_value = document.getElementById('csv_user_value_span[' + key + ']');
32 var span_cond = document.getElementById('csv_cond_value_span[' + key + ']');
33 var i = box.selectedIndex;
34 if (box.options[i].value == "user_value") {
35 span_value.style.display = "";
36 span_cond.style.display = "none";
37 } else if(box.options[i].value == "cond_value") {
38 span_value.style.display = "none";
39 span_cond.style.display = "";
40 } else {
41 span_value.style.display = "none";
42 span_conf.style.display = "none";
43 }
44 }
45 function showCond(key, box)
46 {
47 var line = document.getElementById('csv_cond_value[' + key + ']');
48 var i = box.selectedIndex;
49 if (box.options[i].value == "defined") {
50 line.style.display = "none";
51 } else {
52 line.style.display = "";
53 }
54 }
55 function gotoPage(page)
56 {
57 document.getElementById('csv_next_page').value = page;
58 document.getElementById('csv_form').submit();
59 return false;
60 }
61{/literal}
62//]]></script>
63<form action="{$csv_path}" method="post" id="csv_form">
64<table class="cadre_a_onglet" cellpadding="0" cellspacing="0" style="width: 98%; margin-left:1%;">
65 <tr>
66 <td>
67 <ul id="onglet">
68 {if $csv_page eq 'source'}
69 <li class="actif">1 - Choisir<br />la source</li>
70 {else}
71 <li><a href="{$csv_path}" onclick="return gotoPage('source');">1 - Choisir<br />la source</a></li>
72 {/if}
73 {if $csv_page eq 'values'}
74 <li class="actif">2 - Définir<br />les valeurs</li>
75 {elseif $csv}
76 <li><a href="{$csv_path}" onclick="return gotoPage('values');">2 - Définir<br />les valeurs</a></li>
77 {else}
78 <li>2 - Définir<br />les valeurs</li>
79 {/if}
80 {if $csv_page eq 'valid'}
81 <li class="actif">3 - Vérifier<br />et valider</li>
82 {elseif $csv_action}
83 <li><a href="{$csv_path}" onclick="return gotoPage('valid');">3 - Vérifier<br />et valider</a></li>
84 {else}
85 <li>3 - Vérifier<br />et valider</li>
86 {/if}
87 </ul>
88 </td>
89 </tr>
90 <tr>
91 <td class="conteneur_tab">
92 <table style="width: 100%">
93 <tr>
94 <td>
95 {if $csv_page eq 'source'}
96 <textarea name="csv_source" rows="20" cols="80">{$csv|default:$smarty.request.csv_source}</textarea><br />
080bfddb 97 Entrez les données sous la forme suivante (avec
98 <input type="text" name="csv_separator" value="{$smarty.request.csv_separator|default:";"}" maxlength="1" size="1" />
99 comme séparateur) :<br/>
100 <pre class="center">TITRE1{$smarty.request.csv_separator|default:";"}TITRE2{$smarty.request.csv_separator|default:";"}...
101val1_1{$smarty.request.csv_separator|default:";"}val1_2{$smarty.request.csv_separator|default:";"}...
102val2_1{$smarty.request.csv_separator|default:";"}val2_2{$smarty.request.csv_separator|default:";"}...
103val3_1{$smarty.request.csv_separator|default:";"}val3_2{$smarty.request.csv_separator|default:";"}...</pre>
31874f6f 104 {elseif $csv_page eq 'values'}
105 <div class="center">
106 Action à effectuer si l'entrée existe :
107 <select name="csv_action" onchange="this.form.submit()">
108 <option value="insert" {if $smarty.request.csv_action eq 'insert'}selected="selected"{/if}>
109 ne rien faire
110 </option>
111 <option value="replace" {if $smarty.request.csv_action eq 'replace'}selected="selected"{/if}>
112 remplacer par la nouvelle entrée
113 </option>
a6613b2e 114 {if $csv_key}
31874f6f 115 <option value="update" {if $smarty.request.csv_action eq 'update'}selected="selected"{/if}>
116 mettre à jour les champs sélectionnés
117 </option>
a6613b2e 118 {/if}
31874f6f 119 </select>
120 </div>
121 <table class="bicol">
122 <tr>
123 <th>Champ</th>
124 <th colspan="2">Valeur</th>
125 {if $smarty.request.csv_action eq 'update'}
126 <th>MàJ</th>
127 {/if}
128 </tr>
129 {foreach from=$csv_fields item=f}
130 <tr class="{cycle values="pair,impair"}">
a6613b2e 131 <td>{$csv_field_desc[$f]|default:$f}</td>
31874f6f 132 <td>
133 <select name="csv_value[{$f}]" onchange="showValue('{$f}', this);">
134 <option value="" {if !$smarty.request.csv_value[$f]}selected="selected"{/if}>
135 Vide
136 </option>
137 <option value="user_value" {if $smarty.request.csv_value[$f] eq "user_value"}selected="selected"{/if}>
138 Entrer la valeur
139 </option>
140 <option value="cond_value" {if $smarty.request.csv_value[$f] eq "cond_value"}selected="selected"{/if}>
141 Valeur conditionnelle
142 </option>
143 <optgroup label="Colonnes du CSV">
144 {foreach from=$csv_index item=col}
145 <option value="{$col}" {if $smarty.request.csv_value[$f] eq $col}selected="selected"{/if}>{$col}</option>
146 {/foreach}
147 </optgroup>
148 {if $csv_functions|count}
149 <optgroup label="Fonctions">
150 {foreach from=$csv_functions key=func item=desc}
151 <option value="{$func}" {if $smarty.request.csv_value[$f] eq $func}selected="selected"{/if}>{$desc.desc}</option>
152 {/foreach}
153 </optgroup>
154 {/if}
155 </select>
156 </td>
157 <td>
158 <span id="csv_user_value_span[{$f}]" {if $smarty.request.csv_value[$f] neq "user_value"}style="display: none"{/if}>
159 <input type="text" name="csv_user_value[{$f}]" value="{$smarty.request.csv_user_value[$f]}" />
160 </span>
161 <span id="csv_cond_value_span[{$f}]" {if $smarty.request.csv_value[$f] neq "cond_value"}style="display: none"{/if}>
162 Si
163 <select name="csv_cond_field[{$f}]">
164 {foreach from=$csv_index item=col}
165 <option value="{$col}" {if $smarty.request.csv_cond_field_value[$f] eq $col}selected="selected"{/if}>
166 {$col}
167 </option>
168 {/foreach}
169 </select>
170 <select name="csv_cond[{$f}]" onchange="showCond('{$f}', this)">
171 <option value="defined" {if $smarty.request.csv_cond[$f] eq "defined"}selected="selected"{/if}>
172 défini
173 </option>
174 <option value="equals" {if $smarty.request.csv_cond[$f] eq "equals"}selected="selected"{/if}>
175 est égale à
176 </option>
177 <option value="contains" {if $smarty.request.csv_cond[$f] eq "contains"}selected="selected"{/if}>
178 contient
179 </option>
180 <option value="contained" {if $smarty.request.csv_cond[$f] eq "contained"}selected="selected"{/if}>
181 est contenu dans
182 </option>
183 <option value="greater" {if $smarty.request.csv_cond[$f] eq "greater"}selected="selected"{/if}>
184 supérieur à
185 </option>
186 <option value="greater_or_equal" {if $smarty.request.csv_cond[$f] eq "greater_or_equal"}selected="selected"{/if}>
187 supérieur ou égal à
188 </option>
189 <option value="lower" {if $smarty.request.csv_cond[$f] eq "lower"}selected="selected"{/if}>
190 inférieur à
191 </option>
192 <option value="lower_or_equal" {if $smarty.request.csv_cond[$f] eq "lower_or_equal"}selected="selected"{/if}>
193 inférieur ou égal à
194 </option>
195 </select>
196 <span id="csv_cond_value[{$f}]" {if $smarty.request.csv_cond[$f] eq "defined" || !$smarty.request.csv_cond[$f]}style="display: none"{/if}>
197 <input type="text" name="csv_cond_value[{$f}]" value="{$smarty.request.csv_cond_value[$f]}" />
198 </span>
199 <br />Alors <input type="text" name="csv_cond_then[{$f}]" value="{$smarty.request.csv_cond_then[$f]}" />
200 <br />Sinon <input type="text" name="csv_cond_else[{$f}]" value="{$smarty.request.csv_cond_else[$f]}" />
201 </span>
202 </td>
203 {if $smarty.request.csv_action eq 'update'}
204 <td class="center">
205 <input type="checkbox" name="csv_update[{$f}]" {if $smarty.request.csv_update[$f]}checked="checked"{/if} />
206 </td>
207 {/if}
208 </tr>
209 {/foreach}
210 </table>
211 {elseif $csv_page eq 'valid'}
212 {if !$csv_done}
213 <table class="bicol">
214 <tr>
215 {foreach from=$csv_fields item=f}
a6613b2e 216 <th>{$csv_field_desc[$f]|default:$f}</th>
31874f6f 217 {/foreach}
218 </tr>
219 {foreach from=$csv_preview item=assoc}
220 <tr class="{cycle values="pair,impair"}">
221 {foreach from=$csv_fields item=f}
222 <td>{$assoc[$f]}</td>
223 {/foreach}
224 <tr>
225 {/foreach}
226 </table>
227 {else}
228 Les données ont été ajoutées.
229 {/if}
230 {/if}
231 </td>
232 </tr>
233
234 {if !$csv_done}
235 <tr>
236 <td class="center">
237 <input type="hidden" name="csv_page" value="{$csv_page}" />
238 <input type="hidden" id="csv_next_page" name="csv_next_page" value="{$csv_page}" />
239 <input type="hidden" name="csv" value="{$csv}" />
080bfddb 240 {if $csv_page neq 'source'}
241 <input type="hidden" name="csv_separator" value="{$smarty.request.csv_separator}" />
242 {/if}
31874f6f 243 {if $csv_page neq 'values'}
244 <input type="hidden" name="csv_action" value="{$smarty.request.csv_action}" />
245 {foreach from=$csv_fields item=f}
246 <input type="hidden" name="csv_value[{$f}]" value="{$smarty.request.csv_value[$f]}" />
247 <input type="hidden" name="csv_user_value[{$f}]" value="{$smarty.request.csv_user_value[$f]}" />
248 <input type="hidden" name="csv_cond_field[{$f}]" value="{$smarty.request.csv_cond_field[$f]}" />
249 <input type="hidden" name="csv_cond[{$f}]" value="{$smarty.request.csv_cond[$f]}" />
250 <input type="hidden" name="csv_cond_value[{$f}]" value="{$smarty.request.csv_cond_value[$f]}" />
251 <input type="hidden" name="csv_cond_then[{$f}]" value="{$smarty.request.csv_cond_then[$f]}" />
252 <input type="hidden" name="csv_cond_else[{$f}]" value="{$smarty.request.csv_cond_else[$f]}" />
253 <input type="hidden" name="csv_update[{$f}]" value="{$smarty.request.csv_update[$f]}" />
254 {/foreach}
255 {/if}
256 {if $csv_page eq 'source'}
257 <input type="submit" name="csv_valid" value="Changer le CSV" />
258 {elseif $csv_page eq 'values'}
259 <input type="submit" name="csv_valid" value="Aperçu" />
260 {elseif $csv_page eq 'valid'}
261 <input type="submit" name="csv_valid" value="Valider" />
262 {/if}
263 </td>
264 </tr>
265 {/if}
266 </table>
267 </td>
268 </tr>
269</table>
270</form>
271
272{* vim:set et sws=2 sts=2 sw=2: *}