Compare commits

..

No commits in common. "470d876d87dc89e7a7905b654b1ab11fd0238893" and "3b4687647da3a9e38db65ec8598604e4d7e256b8" have entirely different histories.

7 changed files with 111 additions and 38 deletions

View File

@ -61,7 +61,7 @@
<fieldset class="ajout_categorie"> <fieldset class="ajout_categorie">
<legend>Ajouter une catégorie</legend> <legend>Ajouter une catégorie</legend>
<dl> <dl>
{{:input type="text" name="name" label="Nom" autofocus=true required=true maxlength="100"}} {{:input type="text" name="name" label="Nom" required=true maxlength="100"}}
</dl> </dl>
<p class="submit"> <p class="submit">
{{:button type="submit" name="save" label="Ajouter" shape="right" class="main"}} {{:button type="submit" name="save" label="Ajouter" shape="right" class="main"}}

View File

@ -19,28 +19,23 @@
{{:redirect to="./config.html?ok=1"}} {{:redirect to="./config.html?ok=1"}}
{{/form}} {{/form}}
{{* lecture config (défaut ou enregistrée) *}} {{* config par défaut *}}
{{:include file="./_get_config.html" keep="config"}} {{:read file="./defaut.json" assign="config_defaut"}}
{{:assign config_defaut=$config_defaut|json_decode}}
{{* types d'entrées *}} {{* types d'entrées *}}
{{#foreach from=$config.input_nature key="label" item="type"}} {{#foreach from=$config_defaut.inputs item="elem"}}
{{:assign var='input_types.%s'|args:$type value=$type}} {{#foreach from=$elem key=label item=value}}
{{:assign var='input_types.%s'|args:$value value=$value}}
{{/foreach}}
{{/foreach}} {{/foreach}}
{{* Natures d'entrées qui ne peuvent être supprimées *}}
{{#load type="movement" where="$$.direction='input'" group="$$.input_nature"}}
{{:assign var="locked_inputs." value=$input_nature}}
{{/load}}
{{* types de sorties *}} {{* types de sorties *}}
{{#foreach from=$config.output_nature key="label" item="type"}} {{#foreach from=$config_defaut.outputs item="elem"}}
{{:assign var='output_types.%s'|args:$type value=$type}} {{#foreach from=$elem key=label item=value}}
{{:assign var='output_typess.%s'|args:$value value=$value}}
{{/foreach}}
{{/foreach}} {{/foreach}}
{{* Natures de sorties qui ne peuvent être supprimées *}}
{{#load type="movement" where="$$.direction='output'" group="$$.output_nature"}}
{{:assign var="locked_outputs." value=$output_nature}}
{{/load}}
<form method="post" action=""> <form method="post" action="">
<fieldset> <fieldset>
@ -54,23 +49,62 @@
</tr> </tr>
</thead> </thead>
<tbody id="input_body"> <tbody id="input_body">
{{#foreach from=$config.input_nature key="label" item="type"}} {{#foreach from=$module.config.input_nature item="input_field"}}
{{* Vérifier si la suppression de ce type d'entrée est possible *}}
{{:assign suppr=true}}
{{#load type="movement" where="$$.input_nature = :libelle" :libelle=$input_field.label}}
{{:assign suppr=false}}
{{/load}}
<tr> <tr>
<td>{{:input type="text" name="input_fields[label][]" default=$label}}</td> <td>{{:input type="text" name="input_fields[label][]" default=$input_field.label}}</td>
<td>{{:input type="select" <td>{{:input type="select"
name="input_fields[type][]" name="input_fields[type][]"
options=$input_types options=$input_types
default=$type default=$input_field.type
required=true required=true
default_empty="— Choisir un type —"}} default_empty="— Choisir un type —"}}
</td> </td>
<td class="action"> <td class="action">
{{:button {{if $suppr}}
label="Supprimer" shape="minus" {{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
disabled=$locked_inputs|has:$label {{else}}
onclick="this.parentNode.parentNode.remove();"}} {{:button label="Supprimer" shape="minus" disabled=true}}
{{/if}}
</td> </td>
</tr> </tr>
{{else}}
{{* pas de config enregistrée : utiliser les valeurs par défaut *}}
{{#foreach from=$config_defaut.inputs item="elem"}}
{{#foreach from=$elem key=label item=value}}
{{* Vérifier si la suppression de ce type d'entrée est possible *}}
{{:assign suppr=true}}
{{#load type="movement" where="$$.input_nature = :libelle" :libelle=$label}}
{{:assign suppr=false}}
{{/load}}
<tr>
<td>{{:input type="text" name="input_fields[label][]" default=$label}}</td>
<td>{{:input
type="select"
name="input_fields[type][]"
options=$input_types
required=true
default=$value
default_empty="— Choisir un type —"}}
</td>
<td class="action">
{{if $suppr}}
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
{{else}}
{{:button label="Supprimer" shape="minus" disabled=true}}
{{/if}}
</td>
</tr>
{{/foreach}}
{{/foreach}}
{{/foreach}} {{/foreach}}
</tbody> </tbody>
</table> </table>
@ -98,25 +132,64 @@
</tr> </tr>
</thead> </thead>
<tbody id="output_body"> <tbody id="output_body">
{{#foreach from=$config.output_nature key="label" item="type"}} {{#foreach from=$module.config.output_nature item="output_field"}}
{{* Vérifier si la suppression de ce type de sortie est possible *}}
{{:assign suppr=true}}
{{#load type="movement" where="$$.output_nature = :libelle" :libelle=$output_field.label}}
{{:assign suppr=false}}
{{/load}}
<tr>
<td>{{:input type="text" name="output_fields[label][]" default=$output_field.label}}</td>
<td>{{:input
type="select"
name="output_fields[type][]"
options=$output_typess
default=$output_field.type
required=true
default_empty="— Choisir un type —"}}
</td>
<td class="action">
{{if $suppr}}
{{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
{{else}}
{{:button label="Supprimer" shape="minus" disabled=true}}
{{/if}}
</td>
</tr>
{{else}}
{{* pas de config enregistrée : utiliser les valeurs par défaut *}}
{{#foreach from=$config_defaut.outputs item="elem"}}
{{#foreach from=$elem key=label item=value}}
{{* Vérifier si la suppression de ce type de sortie est possible *}}
{{:assign suppr=true}}
{{#load type="movement" where="$$.input_nature = :libelle" :libelle=$label}}
{{:assign suppr=false}}
{{/load}}
<tr> <tr>
<td>{{:input type="text" name="output_fields[label][]" default=$label}}</td> <td>{{:input type="text" name="output_fields[label][]" default=$label}}</td>
<td>{{:input <td>{{:input
type="select" type="select"
name="output_fields[type][]" name="output_fields[type][]"
options=$output_types options=$output_typess
default=$type
required=true required=true
default=$value
default_empty="— Choisir un type —"}} default_empty="— Choisir un type —"}}
</td> </td>
<td class="action"> <td class="action">
{{:button {{if $suppr}}
label="Supprimer" shape="minus" {{:button label="Supprimer" shape="minus" onclick="this.parentNode.parentNode.remove();"}}
disabled=$locked_outputs|has:$label {{else}}
onclick="this.parentNode.parentNode.remove();"}} {{:button label="Supprimer" shape="minus" disabled=true}}
{{/if}}
</td> </td>
</tr> </tr>
{{/foreach}} {{/foreach}}
{{/foreach}}
{{/foreach}}
</tbody> </tbody>
</table> </table>
<p class="actions"> <p class="actions">

View File

@ -95,6 +95,6 @@
</form> </form>
{{else}} {{else}}
<p class="block error">Il n'y a aucune catégorie, il faut en créer au moins une</p> <p class="block error">Il n'y a aucune catégorie</p>
{{/if}} {{/if}}
{{:admin_footer}} {{:admin_footer}}

View File

@ -78,7 +78,7 @@
</p> </p>
</form> </form>
{{else}} {{else}}
<p class="block error">Il n'y a aucun matériel déjà répertorié</p> <p class="block error">Il n'y a aucun matériel</p>
{{/if}} {{/if}}
{{:admin_footer}} {{:admin_footer}}

View File

@ -101,7 +101,7 @@
</p> </p>
</form> </form>
{{else}} {{else}}
<p class="block error">Il n'y a aucun matériel sorti temporairement</p> <p class="block error">Il n'y a aucun matériel</p>
{{/if}} {{/if}}
{{else}} {{else}}
<p class="block error">Il n'y a aucun matériel</p> <p class="block error">Il n'y a aucun matériel</p>

View File

@ -99,10 +99,10 @@
</p> </p>
</form> </form>
{{else}} {{else}}
<p class="block error">Il n'y a aucun matériel présent temporairement</p> <p class="block error">Il n'y a aucun matériel</p>
{{/if}} {{/if}}
{{else}} {{else}}
<p class="block error">Il n'y a aucun matériel en stock</p> <p class="block error">Il n'y a aucun matériel</p>
{{/if}} {{/if}}
<script type="text/javascript"> <script type="text/javascript">

View File

@ -103,7 +103,7 @@
</p> </p>
</form> </form>
{{else}} {{else}}
<p class="block error">Il n'y a aucun matériel en stock</p> <p class="block error">Il n'y a aucun matériel</p>
{{/if}} {{/if}}
<script type="text/javascript"> <script type="text/javascript">