chore: Config IMAP dans le Front

This commit is contained in:
N3WT DE COMPET
2025-05-27 20:01:00 +02:00
parent 39d6a8e909
commit 98bb6f50a8
4 changed files with 47 additions and 22 deletions

View File

@ -21,12 +21,14 @@ export default function SettingsPage() {
const [password, setPassword] = useState(''); const [password, setPassword] = useState('');
const [confirmPassword, setConfirmPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState('');
const [smtpServer, setSmtpServer] = useState(''); const [smtpServer, setSmtpServer] = useState('');
const [imapServer, setImapServer] = useState('');
const [smtpPort, setSmtpPort] = useState(''); const [smtpPort, setSmtpPort] = useState('');
const [smtpUser, setSmtpUser] = useState(''); const [imapPort, setImapPort] = useState('');
const [smtpPassword, setSmtpPassword] = useState(''); const [mailUser, setMailUser] = useState('');
const [mailPassword, setMailPassword] = useState('');
const [useTls, setUseTls] = useState(true); const [useTls, setUseTls] = useState(true);
const [useSsl, setUseSsl] = useState(false); const [useSsl, setUseSsl] = useState(false);
const { selectedEstablishmentId } = useEstablishment(); const { user, selectedEstablishmentId } = useEstablishment();
const csrfToken = useCsrfToken(); // Récupération du csrfToken const csrfToken = useCsrfToken(); // Récupération du csrfToken
const { showNotification } = useNotification(); const { showNotification } = useNotification();
const searchParams = useSearchParams(); const searchParams = useSearchParams();
@ -52,8 +54,10 @@ export default function SettingsPage() {
.then((data) => { .then((data) => {
setSmtpServer(data.smtp_server || ''); setSmtpServer(data.smtp_server || '');
setSmtpPort(data.smtp_port || ''); setSmtpPort(data.smtp_port || '');
setSmtpUser(data.smtp_user || ''); setImapServer(data.imap_server || '');
setSmtpPassword(data.smtp_password || ''); setImapPort(data.imap_port || '');
setMailUser(data.mail_user || '');
setMailPassword(data.mail_password || '');
setUseTls(data.use_tls || false); setUseTls(data.use_tls || false);
setUseSsl(data.use_ssl || false); setUseSsl(data.use_ssl || false);
}) })
@ -95,16 +99,24 @@ export default function SettingsPage() {
setSmtpServer(e.target.value); setSmtpServer(e.target.value);
}; };
const handleImapServerChange = (e) => {
setImapServer(e.target.value);
};
const handleSmtpPortChange = (e) => { const handleSmtpPortChange = (e) => {
setSmtpPort(e.target.value); setSmtpPort(e.target.value);
}; };
const handleSmtpUserChange = (e) => { const handleImapPortChange = (e) => {
setSmtpUser(e.target.value); setImapPort(e.target.value);
}; };
const handleSmtpPasswordChange = (e) => { const handleMailUserChange = (e) => {
setSmtpPassword(e.target.value); setMailUser(e.target.value);
};
const handleMailPasswordChange = (e) => {
setMailPassword(e.target.value);
}; };
const handleUseTlsChange = (e) => { const handleUseTlsChange = (e) => {
@ -131,10 +143,13 @@ export default function SettingsPage() {
e.preventDefault(); e.preventDefault();
const smtpData = { const smtpData = {
establishment: selectedEstablishmentId, establishment: selectedEstablishmentId,
profile_id: user.user_id,
smtp_server: smtpServer, smtp_server: smtpServer,
smtp_port: smtpPort, smtp_port: smtpPort,
smtp_user: smtpUser, imap_server: imapServer,
smtp_password: smtpPassword, imap_port: imapPort,
mail_user: mailUser,
mail_password: mailPassword,
use_tls: useTls, use_tls: useTls,
use_ssl: useSsl, use_ssl: useSsl,
}; };
@ -212,15 +227,25 @@ export default function SettingsPage() {
onChange={handleSmtpPortChange} onChange={handleSmtpPortChange}
/> />
<InputText <InputText
label="Utilisateur SMTP" label="Serveur IMAP"
value={smtpUser} value={imapServer}
onChange={handleSmtpUserChange} onChange={handleImapServerChange}
/> />
<InputText <InputText
label="Mot de passe SMTP" label="Port IMAP"
value={imapPort}
onChange={handleImapPortChange}
/>
<InputText
label="Adresse mail"
value={mailUser}
onChange={handleMailUserChange}
/>
<InputText
label="Mot de passe"
type="password" type="password"
value={smtpPassword} value={mailPassword}
onChange={handleSmtpPasswordChange} onChange={handleMailPasswordChange}
/> />
</div> </div>
<div className="mt-6 border-t pt-4"> <div className="mt-6 border-t pt-4">

View File

@ -1,4 +1,4 @@
import { BE_SETTINGS_SMTP_URL } from '@/utils/Url'; import { BE_SETTINGS_MAIL_URL } from '@/utils/Url';
import { errorHandler, requestResponseHandler } from './actionsHandlers'; import { errorHandler, requestResponseHandler } from './actionsHandlers';
export const PENDING = 'pending'; export const PENDING = 'pending';
@ -6,7 +6,7 @@ export const SUBSCRIBED = 'subscribed';
export const ARCHIVED = 'archived'; export const ARCHIVED = 'archived';
export const fetchSmtpSettings = (csrfToken, establishment_id = null) => { export const fetchSmtpSettings = (csrfToken, establishment_id = null) => {
let url = `${BE_SETTINGS_SMTP_URL}/`; let url = `${BE_SETTINGS_MAIL_URL}/`;
if (establishment_id) { if (establishment_id) {
url += `?establishment_id=${establishment_id}`; url += `?establishment_id=${establishment_id}`;
} }
@ -21,7 +21,7 @@ export const fetchSmtpSettings = (csrfToken, establishment_id = null) => {
}; };
export const editSmtpSettings = (data, csrfToken) => { export const editSmtpSettings = (data, csrfToken) => {
return fetch(`${BE_SETTINGS_SMTP_URL}/`, { return fetch(`${BE_SETTINGS_MAIL_URL}/`, {
method: 'POST', method: 'POST',
headers: { headers: {
'Content-Type': 'application/json', 'Content-Type': 'application/json',

View File

@ -30,7 +30,7 @@ export default function EmailSender({ csrfToken }) {
// Vérifier si les paramètres SMTP sont configurés // Vérifier si les paramètres SMTP sont configurés
fetchSmtpSettings(csrfToken, selectedEstablishmentId) fetchSmtpSettings(csrfToken, selectedEstablishmentId)
.then((data) => { .then((data) => {
if (data.smtp_server && data.smtp_port && data.smtp_user) { if (data.smtp_server && data.smtp_port && data.mail_user) {
setFromEmail(data.smtp_user); setFromEmail(data.smtp_user);
setSmtpConfigured(true); setSmtpConfigured(true);
} else { } else {

View File

@ -62,7 +62,7 @@ export const BE_GESTIONMESSAGERIE_SEND_MESSAGE_URL = `${BASE_URL}/GestionMessage
export const BE_GESTIONMESSAGERIE_SEARCH_RECIPIENTS_URL = `${BASE_URL}/GestionMessagerie/search-recipients`; export const BE_GESTIONMESSAGERIE_SEARCH_RECIPIENTS_URL = `${BASE_URL}/GestionMessagerie/search-recipients`;
// SETTINGS // SETTINGS
export const BE_SETTINGS_SMTP_URL = `${BASE_URL}/Settings/smtp-settings`; export const BE_SETTINGS_MAIL_URL = `${BASE_URL}/Settings/mail-settings`;
// URL FRONT-END // URL FRONT-END
export const FE_HOME_URL = '/'; export const FE_HOME_URL = '/';