Simplify javascript.
[platal.git] / templates / table-editor.tpl
1 {**************************************************************************}
2 {*                                                                        *}
3 {*  Copyright (C) 2003-2011 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>{$title}</h1>
25
26 {if $list}
27 <script type="text/javascript">
28         {literal}
29         function redirect(a) {
30                 document.location = a;
31         }
32         {/literal}
33 </script>
34 <table class="bicol">
35 <tr>
36   {foreach from=$t->vars item=myval key=myvar}{if $myval.display}
37     <th style="cursor:pointer" onclick="redirect('{$t->pl}/sort{if $t->sortfield eq $myvar && !$t->sortdesc}desc{/if}/{$myvar}')">{$myval.desc}{if $t->sortfield eq $myvar}{if $t->sortdesc}{icon name="bullet_arrow_down"}{else}{icon name="bullet_arrow_up"}{/if}{/if}</th>
38   {/if}{/foreach}
39   {if !$hideactions}
40   <th>action</th>
41   {/if}
42 </tr>
43 {if !$readonly and !$deleteonly}
44 <tr class="impair">
45   <td colspan="{$t->nbfields}">
46     <strong>
47       Nouvelles entrées&nbsp;: <a href="{$t->pl}/new">Manuellement</a> &bull; <a href="{$t->pl}/massadd">Depuis un CSV</a>
48     </strong>
49   </td>
50   <td class="right">
51     <a href="{$t->pl}/new">{icon name=add title='nouvelle entrée'}</a>
52   </td>
53 </tr>
54 {/if}
55 {iterate from=$list item=myrow}
56 <tr class="{cycle values="pair,impair"}">
57 {foreach from=$t->vars item=myval}{if $myval.display}
58   <td>
59     {assign var="myfield" value=$myval.Field}
60     {if $myfield eq $t->idfield}
61         {assign var="idval" value=$myrow.$myfield}
62     {/if}
63     {if $t->idfield2 && $myfield eq $t->idfield2}
64         {assign var="idval2" value=$myrow.$myfield}
65     {/if}
66     {if $myval.Type eq 'timestamp'}
67       <span class="smaller">{$myrow.$myfield|date_format:"%x %X"}</span>
68     {elseif $myval.Type eq 'checkbox'}
69       <input type="checkbox" disabled="disabled"{if $myrow.$myfield} checked="checked"{/if}/>
70     {elseif $myval.Type eq 'ip_address'}
71       {$myrow.$myfield|uint_to_ip}
72     {else}
73       {$myrow.$myfield}
74     {/if}
75   </td>
76 {/if}{/foreach}
77   {if !$hideactions}
78   <td class="action">
79     {if !$readonly and !$deleteonly}
80     <a href="{$t->pl}/edit/{$idval}">{icon name=page_edit title='éditer'}</a>
81     {/if}
82     {if !$readonly}
83     <a href="{$t->pl}/delete/{$idval}{if t($idval2)}/{$idval2}{/if}?token={xsrf_token}">{icon name=delete title='supprimer'}</a>
84     {/if}
85   </td>
86   {/if}
87 </tr>
88 {/iterate}
89 </table>
90
91 {if ($p_prev > -1) || ($p_next > -1)}
92 <p class="pagenavigation">
93 {if $p_prev > -1}<a href="{$platal->path}?start={$p_prev}">{$msg_previous_page}</a>&nbsp;{/if}
94 {if $p_next > -1}<a href="{$platal->path}?start={$p_next}">{$msg_next_page}</a>{/if}
95 </p>
96 {/if}
97
98 {elseif $massadd}
99 {include core=csv-importer.tpl}
100
101 <p>
102 <a href="{$t->pl}">back</a>
103 </p>
104
105 {else}
106
107 <form method="post" action="{$t->pl}/update/{$id}">
108   {xsrf_token_field}
109   <table class="bicol">
110     <tr class="impair">
111       <th colspan="2">
112         {if $id !== null}
113             modification de l'entrée
114         {else}
115             nouvelle entrée
116         {/if}
117       </th>
118     </tr>
119     {foreach from=$t->vars item=myval}{assign var="myfield" value=$myval.Field}{if ($myfield neq $t->idfield) or ($t->idfield_editable)}
120     <tr class="{cycle values="pair,impair"}">
121       <td>
122         <strong>{$myval.desc}</strong>
123       </td>
124       <td>
125         {if $myval.Type eq 'set'}
126           <select name="{$myfield}[]" multiple="multiple">
127             {foreach from=$myval.List item=option}
128               <option value="{$option}" {if $entry.$myfield.$option}selected="selected"{/if}>{$option}</option>
129             {/foreach}
130           </select>
131         {elseif $myval.Type eq 'enum'}
132           <select name="{$myfield}">
133             {foreach from=$myval.List item=option}
134               <option value="{$option}" {if $entry.$myfield eq $option}selected="selected"{/if}>{$option}</option>
135             {/foreach}
136           </select>
137         {elseif ($myval.Type eq 'textarea') or ($myval.Type eq 'varchar200')}
138           <textarea name="{$myfield}" rows="{if $myval.Type eq 'varchar200'}3{else}10{/if}" cols="70">{$entry.$myfield}</textarea>
139         {elseif ($myval.Type eq 'checkbox')}
140           <input type="checkbox" name="{$myfield}" value="{$myval.Value}"{if $entry.$myfield} checked="checked"{/if}/>
141         {else}
142           <input type="text" name="{$myfield}" value="{$entry.$myfield}" {if $myval.Size}size="{$myval.Size}" maxlength="{$myval.Maxlength}"{/if}/>
143           {if $myval.Type eq 'timestamp'}<em>jj/mm/aaaa hh:mm:ss</em>{/if}
144           {if $myval.Type eq 'date'}<em>jj/mm/aaaa</em>{/if}
145           {if $myval.Type eq 'time'}<em>hh:mm:ss</em>{/if}
146         {/if}
147       </td>
148     </tr>
149     {/if}{/foreach}
150   </table>
151
152   <p class="center">
153   <input type="submit" value="enregistrer" />
154   </p>
155
156 </form>
157
158 <p>
159 <a href="{$t->pl}">back</a>
160 </p>
161
162 {/if}
163
164
165 {* vim:set et sw=2 sts=2 sws=2 enc=utf-8: *}