Skip to content

Le #formulaire_charter a perdu son role de template

J'avais pas vu passer (ou pas bien vu) le refactoring. Je comprends bien que ça a amélioré la maintenabilité et lisibilité du code, mais on a perdu complètement le rôle de "hop je prend le code pour ce type de champ, je colle dans mon formulaire et ça marche":

Avant on avait par exemple pour le select:

				#SET{name,select}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
				<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
					<label for="#GET{name}">[(#GET{fl}|concat{':label_',#GET{name}}|_T)]</label>[
					<span class='erreur_message'>(#GET{erreurs})</span>
					]<select name="#GET{name}" class="select" id="#GET{name}">
						#SET{val,oui}
						<option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]>[(#GET{fl}|concat{':label_',#GET{name},'_',#GET{val}}|_T)]</option>
						#SET{val,non}
						<option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]>[(#GET{fl}|concat{':label_',#GET{name},'_',#GET{val}}|_T)]</option>
					</select>
				</div>

Il suffisait de faire un #SET{fl,monfichierlangue} en début de formulaire, puis de mettre mettre les val qui vont bien dans les options, et tout était prêt à l'emploi, juste à renseigner les chaines de langues.

Maintenant on a

				#SET{name,saisie_3}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs/#GET{name}}}#SET{id,#GET{name}|concat{#ENV{suffixe}}}
				<div class="editer editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
					<label for="#GET{id}"><:charter:label_select:></label>[
					<span class='erreur_message'>(#GET{erreurs})</span>
					]<select name="#GET{name}" class="select" id="#GET{id}">
						#SET{val,oui}
						<option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:charter:label_valeur_oui_long:></option>
						#SET{val,non}
						<option value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)selected="selected"]><:charter:label_valeur_non_long:></option>
					</select>
				</div>

On voit que tous les libellés sont des chaines de langue en dur, qu'il faut donc reprendre à la main une par une.

En plus on se retrouve avec le #ENV{suffixe} qui n'a de sens que pour ce formulaire, pas quand on colle l'exemple dans un autre formulaite.

Bref, je vois bien la raison qui a guidée ce refactoring, mais du coup on a perdu l'autre usage qui était "des snippets de code prêt à l'emploi pour composer son propre formulaire"

(et je vais donc devoir me forker le formulaire pour en refaire une version prête à l'emploi... :( )