diff --git a/server/src/customEmailTemplate.js b/server/src/customEmailTemplate.js index 963b35a..d2fd1ad 100644 --- a/server/src/customEmailTemplate.js +++ b/server/src/customEmailTemplate.js @@ -73,7 +73,7 @@ export function buildCustomEmail({ content, baseUrl, association = {} }) { ${content.signature ? `${lines(content.signature)}` : ' '} ${esc(settings.association_name)}${settings.association_address ? ` · ${lines(settings.association_address)}` : ''}
- ${settings.association_contact ? `${esc(settings.association_contact)} · ` : ''}${settings.association_email ? `${esc(settings.association_email)}` : ''}${settings.association_phone ? ` · ${esc(settings.association_phone)}` : ''} + ${settings.association_contact ? `${esc(settings.association_contact)} · ` : ''}${settings.association_email ? `${esc(settings.association_email)}` : ''}${settings.association_phone ? ` · ${esc(settings.association_phone)}` : ''}${settings.association_siret ? `
SIRET : ${esc(settings.association_siret)}` : ''} diff --git a/server/src/emailTemplate.js b/server/src/emailTemplate.js index 10bb2a1..95b17da 100644 --- a/server/src/emailTemplate.js +++ b/server/src/emailTemplate.js @@ -157,7 +157,7 @@ export function buildInvitationEmail({ rencontre, baseUrl, texts = {}, associati ${esc(settings.association_name)}${settings.association_address ? ` · ${escML(settings.association_address)}` : ''}
- ${settings.association_contact ? `${esc(settings.association_contact)} · ` : ''}${settings.association_email ? `${esc(settings.association_email)}` : ''}${settings.association_phone ? ` · ${esc(settings.association_phone)}` : ''} + ${settings.association_contact ? `${esc(settings.association_contact)} · ` : ''}${settings.association_email ? `${esc(settings.association_email)}` : ''}${settings.association_phone ? ` · ${esc(settings.association_phone)}` : ''}${settings.association_siret ? `
SIRET : ${esc(settings.association_siret)}` : ''} diff --git a/server/src/schemas.js b/server/src/schemas.js index 448c19d..954cad6 100644 --- a/server/src/schemas.js +++ b/server/src/schemas.js @@ -1,6 +1,10 @@ import { z } from 'zod'; const trimmed = (max, min = 0) => z.string().trim().min(min).max(max); +const siret = z.string().trim().max(20).refine( + (value) => !value || /^\d{14}$/.test(value.replace(/\s/g, '')), + 'doit contenir exactement 14 chiffres' +); export const idParam = z.object({ id: z.coerce.number().int().positive() }); @@ -100,6 +104,7 @@ export const contentSchema = z.object({ association_address: trimmed(500).optional(), association_email: trimmed(254).email().or(z.literal('')).optional(), association_phone: trimmed(40).optional(), + association_siret: siret.optional(), association_contact: trimmed(160).optional(), association_website: z.string().trim().url().max(300).or(z.literal('')).optional(), association_facebook_url: z.string().trim().url().max(500).or(z.literal('')).optional(), diff --git a/server/src/siteSettings.js b/server/src/siteSettings.js index 0913ef4..8ae36ca 100644 --- a/server/src/siteSettings.js +++ b/server/src/siteSettings.js @@ -3,6 +3,7 @@ export const ASSOCIATION_DEFAULTS = { association_address: 'Palais des Sports Jean Weille\nNancy (54)', association_email: 'contact@sluc-businessclub.fr', association_phone: '+33 3 83 00 00 00', + association_siret: '', association_contact: '', association_website: '', association_facebook_url: 'https://www.facebook.com/search/top?q=sluc%20business%20club', diff --git a/server/src/sql/seed.sql b/server/src/sql/seed.sql index 4488be4..198985c 100644 --- a/server/src/sql/seed.sql +++ b/server/src/sql/seed.sql @@ -63,6 +63,7 @@ INSERT INTO site_content (key, value) VALUES ('association_address', E'Palais des Sports Jean Weille\nNancy (54)'), ('association_email', 'contact@sluc-businessclub.fr'), ('association_phone', '+33 3 83 00 00 00'), + ('association_siret', ''), ('association_contact', ''), ('association_website', ''), ('association_facebook_url', 'https://www.facebook.com/search/top?q=sluc%20business%20club'), diff --git a/web/src/components/Footer.jsx b/web/src/components/Footer.jsx index 62f2be0..4751023 100644 --- a/web/src/components/Footer.jsx +++ b/web/src/components/Footer.jsx @@ -49,6 +49,7 @@ export default function Footer() { {settings.association_contact && {settings.association_contact}} {settings.association_email && {settings.association_email}} {settings.association_phone && {settings.association_phone}} + {settings.association_siret && SIRET : {settings.association_siret}} {settings.association_website && Site web} diff --git a/web/src/components/admin/AdminContent.jsx b/web/src/components/admin/AdminContent.jsx index 918a037..f96dc7d 100644 --- a/web/src/components/admin/AdminContent.jsx +++ b/web/src/components/admin/AdminContent.jsx @@ -251,6 +251,20 @@ export function ParametresTab() { +