Fix geodesix link for init file
[platal.git] / templates / include / csv-importer.tpl
1 {**************************************************************************}
2 {*                                                                        *}
3 {*  Copyright (C) 2003-2007 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 {if $form_title}
24 <h1>{$form_title}</h1>
25 {/if}
26
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 $smarty.session.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">{$smarty.session.csv|default:$smarty.session.csv_source}</textarea><br />
97       Entrez les données sous la forme suivante (avec
98       <input type="text" name="csv_separator" value="{$smarty.session.csv_separator|default:";"}" maxlength="1" size="1" />
99       comme séparateur) :<br/>
100       <pre class="center">TITRE1{$smarty.session.csv_separator|default:";"}TITRE2{$smarty.session.csv_separator|default:";"}...
101 val1_1{$smarty.session.csv_separator|default:";"}val1_2{$smarty.session.csv_separator|default:";"}...
102 val2_1{$smarty.session.csv_separator|default:";"}val2_2{$smarty.session.csv_separator|default:";"}...
103 val3_1{$smarty.session.csv_separator|default:";"}val3_2{$smarty.session.csv_separator|default:";"}...</pre>
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.session.csv_action eq 'insert'}selected="selected"{/if}>
109         ne rien faire
110       </option>
111       <option value="replace" {if $smarty.session.csv_action eq 'replace'}selected="selected"{/if}>
112         remplacer par la nouvelle entrée
113       </option>
114       {if $csv_key}
115       <option value="update" {if $smarty.session.csv_action eq 'update'}selected="selected"{/if}>
116         mettre à jour les champs sélectionnés
117       </option>
118       {/if}
119     </select>
120   </div>
121   <table class="bicol">
122     <tr>
123       <th>Champ</th>
124       <th colspan="2">Valeur</th>
125       {if $smarty.session.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"}">
131       <td>{$csv_field_desc[$f]|default:$f}</td>
132       <td>
133         <select name="csv_value[{$f}]" onchange="showValue('{$f}', this);">
134           <option value="" {if !$smarty.session.csv_value[$f]}selected="selected"{/if}>
135             Vide
136           </option>
137           <option value="user_value" {if $smarty.session.csv_value[$f] eq "user_value"}selected="selected"{/if}>
138             Entrer la valeur
139           </option>
140           <option value="cond_value" {if $smarty.session.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.session.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.session.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.session.csv_value[$f] neq "user_value"}style="display: none"{/if}>
159           <input type="text" name="csv_user_value[{$f}]" value="{$smarty.session.csv_user_value[$f]}" />
160         </span>
161         <span id="csv_cond_value_span[{$f}]" {if $smarty.session.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.session.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.session.csv_cond[$f] eq "defined"}selected="selected"{/if}>
172               défini
173             </option>
174             <option value="equals" {if $smarty.session.csv_cond[$f] eq "equals"}selected="selected"{/if}>
175               est égale à
176             </option>
177             <option value="contains" {if $smarty.session.csv_cond[$f] eq "contains"}selected="selected"{/if}>
178               contient
179             </option>
180             <option value="contained" {if $smarty.session.csv_cond[$f] eq "contained"}selected="selected"{/if}>
181               est contenu dans
182             </option>
183             <option value="greater" {if $smarty.session.csv_cond[$f] eq "greater"}selected="selected"{/if}>
184               supérieur à
185             </option>
186             <option value="greater_or_equal" {if $smarty.session.csv_cond[$f] eq "greater_or_equal"}selected="selected"{/if}>
187               supérieur ou égal à
188             </option>
189             <option value="lower" {if $smarty.session.csv_cond[$f] eq "lower"}selected="selected"{/if}>
190               inférieur à
191             </option>
192             <option value="lower_or_equal" {if $smarty.session.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.session.csv_cond[$f] eq "defined" || !$smarty.session.csv_cond[$f]}style="display: none"{/if}>
197             <input type="text" name="csv_cond_value[{$f}]" value="{$smarty.session.csv_cond_value[$f]}" />
198           </span>
199           <br />Alors <input type="text" name="csv_cond_then[{$f}]" value="{$smarty.session.csv_cond_then[$f]}" />
200           <br />Sinon <input type="text" name="csv_cond_else[{$f}]" value="{$smarty.session.csv_cond_else[$f]}" />
201         </span>
202       </td>
203       {if $smarty.session.csv_action eq 'update'}
204       <td class="center">
205         <input type="checkbox" name="csv_update[{$f}]" {if $smarty.session.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}
216       <th>{$csv_field_desc[$f]|default:$f}</th>
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     {if $csv_page eq 'source'}
240     <input type="submit" name="csv_valid" value="Changer le CSV" />
241     {elseif $csv_page eq 'values'}
242     <input type="submit" name="csv_valid" value="Aperçu" />
243     {elseif $csv_page eq 'valid'}
244     <input type="submit" name="csv_valid" value="Valider" />
245     {/if}
246     </td>
247   </tr>
248   {/if}
249   </table>
250     </td>
251   </tr>
252 </table>
253 </form>
254
255 {* vim:set et sws=2 sts=2 sw=2 enc=utf-8: *}