feat(etl): implémente la finalisation et la signature électronique de l'état des lieux

This commit is contained in:
Serreau Jovann
2026-02-06 15:37:38 +01:00
parent bad00ec857
commit fb1bab0cc6
14 changed files with 927 additions and 51 deletions

View File

@@ -609,5 +609,56 @@
{{ form_end(formBlocked) }}
</div>
{% endif %}
{# 09. POINTS DE CONTRÔLE #}
{% if is_edit is defined and is_edit %}
<div class="backdrop-blur-xl bg-[#1e293b]/40 border border-white/5 rounded-[2.5rem] p-8 shadow-2xl mt-8">
<h3 class="text-lg font-bold text-white mb-6 flex items-center">
<span class="w-8 h-8 bg-teal-600/20 text-teal-500 rounded-lg flex items-center justify-center mr-3 text-[10px] font-black">09</span>
Points de Contrôle (Entretien)
</h3>
<div class="space-y-3 mb-8">
{% for point in product.productPointControlls %}
<div class="flex items-center justify-between p-4 bg-white/5 border border-white/5 rounded-2xl group hover:bg-white/10 transition-all">
<div class="flex items-center gap-4">
<div class="w-8 h-8 bg-teal-500/20 text-teal-500 rounded-lg flex items-center justify-center">
<svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z" /></svg>
</div>
<span class="text-sm font-bold text-white">{{ point.name }}</span>
</div>
<form data-turbo="false" method="post" action="{{ path('app_crm_product_edit', {'id': product.id, act:'deletePoint', idPoint: point.id}) }}"
onsubmit="return confirm('Supprimer ce point de contrôle ?');" class="inline-block">
<input type="hidden" name="_token" value="{{ csrf_token('delete' ~ point.id) }}">
<button type="submit" class="p-2 text-slate-400 hover:text-rose-500 transition-colors" title="Supprimer">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"/></svg>
</button>
</form>
</div>
{% else %}
<div class="py-8 text-center border-2 border-dashed border-white/5 rounded-3xl">
<p class="text-[10px] font-black text-slate-600 uppercase tracking-[0.2em]">Aucun point de contrôle défini</p>
</div>
{% endfor %}
</div>
<div class="h-px bg-white/5 w-full mb-8"></div>
<form data-turbo="false" method="post" action="{{ path('app_crm_product_edit', {id: product.id, act: 'addPoint'}) }}" class="flex gap-4">
<div class="flex-1">
<label class="text-[10px] font-black text-slate-300 uppercase tracking-widest ml-1 mb-2 block">Nouveau point de contrôle</label>
<input type="text" name="name" placeholder="Ex: Vérification des coutures"
class="w-full bg-slate-900/50 border-white/5 rounded-2xl text-white focus:ring-teal-500/20 focus:border-teal-500 transition-all py-4 px-5 font-bold text-sm" required>
</div>
<div class="flex items-end">
<button type="submit" class="h-[58px] px-8 bg-teal-600/10 hover:bg-teal-600 text-teal-500 hover:text-white text-[10px] font-black uppercase tracking-widest rounded-2xl transition-all border border-teal-500/20 flex items-center">
<svg class="w-4 h-4 mr-2" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="3" d="M12 4v16m8-8H4"/></svg>
Ajouter
</button>
</div>
</form>
</div>
{% endif %}
</div>
{% endblock %}