```
✨ feat(Devis.php): Ajoute adresses de facturation et de livraison au devis. 🔒️ fix(IntranetLocked.php): Autorise l'accès à la route st_control en mode debug. ✨ feat(CustomerAddress.php): Gère les adresses de facturation et livraison. ✨ feat: Ajoute la console superadmin pour le contrôle système. ✨ feat(DevisController.php): Supprime la génération PDF temporaire. ✨ feat(st_control.js): Ajoute la logique de contrôle système via JS. ✨ feat: Crée les templates CGV, Cookies, Hébergement et RGPD. 🎨 style(app.scss): Ajoute un style de fond pour la console. ✨ feat: Ajoute le template pour les informations d'hébergement. ✨ feat: Crée un template de mail d'alerte pour les accès root. ✨ feat: Crée le template RGPD (données personnelles). 🐛 fix(ErrorListener.php): Gère les erreurs 404 en prod (JSON/HTML). ✨ feat: Ajoute les mentions légales. ✨ feat(DevisPdfService.php): Améliore la génération PDF du devis. ✨ feat(admin.js): Charge dynamiquement les produits dans le select. ✨ feat(add.twig): Ajoute un sélecteur de produit et d'autres champs. ✅ chore(config): Ajoute INTRANET_LOCK à l'env. ```
This commit is contained in:
@@ -30,22 +30,30 @@ function initAdminLayout() {
|
||||
}
|
||||
document.querySelectorAll('select').forEach((el) => {
|
||||
if (!el.tomselect) { // Éviter la double initialisation avec Turbo
|
||||
new TomSelect(el, {
|
||||
controlInput: null,
|
||||
allowEmptyOption: true,
|
||||
highlight: true,
|
||||
plugins: ['dropdown_input'], // Permet d'avoir la recherche dans le dropdown
|
||||
render: {
|
||||
option: function(data, escape) {
|
||||
return `<div class="py-2 px-3">
|
||||
if(el.getAttribute('data-load') == "product") {
|
||||
fetch("/crm/product/json")
|
||||
.then(r=>r.json())
|
||||
.then(products=>{
|
||||
|
||||
})
|
||||
} else {
|
||||
new TomSelect(el, {
|
||||
controlInput: null,
|
||||
allowEmptyOption: true,
|
||||
highlight: true,
|
||||
plugins: ['dropdown_input'], // Permet d'avoir la recherche dans le dropdown
|
||||
render: {
|
||||
option: function (data, escape) {
|
||||
return `<div class="py-2 px-3">
|
||||
<div class="text-[13px] font-bold text-white">${escape(data.text)}</div>
|
||||
</div>`;
|
||||
},
|
||||
item: function(data, escape) {
|
||||
return `<div class="text-blue-400 font-bold">${escape(data.text)}</div>`;
|
||||
},
|
||||
item: function (data, escape) {
|
||||
return `<div class="text-blue-400 font-bold">${escape(data.text)}</div>`;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
const imageInput = document.getElementById('product_image_input');
|
||||
|
||||
Reference in New Issue
Block a user