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 [confirmPassword, setConfirmPassword] = useState('');
const [smtpServer, setSmtpServer] = useState('');
const [imapServer, setImapServer] = useState('');
const [smtpPort, setSmtpPort] = useState('');
const [smtpUser, setSmtpUser] = useState('');
const [smtpPassword, setSmtpPassword] = useState('');
const [imapPort, setImapPort] = useState('');
const [mailUser, setMailUser] = useState('');
const [mailPassword, setMailPassword] = useState('');
const [useTls, setUseTls] = useState(true);
const [useSsl, setUseSsl] = useState(false);
const { selectedEstablishmentId } = useEstablishment();
const { user, selectedEstablishmentId } = useEstablishment();
const csrfToken = useCsrfToken(); // Récupération du csrfToken
const { showNotification } = useNotification();
const searchParams = useSearchParams();
@ -52,8 +54,10 @@ export default function SettingsPage() {
.then((data) => {
setSmtpServer(data.smtp_server || '');
setSmtpPort(data.smtp_port || '');
setSmtpUser(data.smtp_user || '');
setSmtpPassword(data.smtp_password || '');
setImapServer(data.imap_server || '');
setImapPort(data.imap_port || '');
setMailUser(data.mail_user || '');
setMailPassword(data.mail_password || '');
setUseTls(data.use_tls || false);
setUseSsl(data.use_ssl || false);
})
@ -95,16 +99,24 @@ export default function SettingsPage() {
setSmtpServer(e.target.value);
};
const handleImapServerChange = (e) => {
setImapServer(e.target.value);
};
const handleSmtpPortChange = (e) => {
setSmtpPort(e.target.value);
};
const handleSmtpUserChange = (e) => {
setSmtpUser(e.target.value);
const handleImapPortChange = (e) => {
setImapPort(e.target.value);
};
const handleSmtpPasswordChange = (e) => {
setSmtpPassword(e.target.value);
const handleMailUserChange = (e) => {
setMailUser(e.target.value);
};
const handleMailPasswordChange = (e) => {
setMailPassword(e.target.value);
};
const handleUseTlsChange = (e) => {
@ -131,10 +143,13 @@ export default function SettingsPage() {
e.preventDefault();
const smtpData = {
establishment: selectedEstablishmentId,
profile_id: user.user_id,
smtp_server: smtpServer,
smtp_port: smtpPort,
smtp_user: smtpUser,
smtp_password: smtpPassword,
imap_server: imapServer,
imap_port: imapPort,
mail_user: mailUser,
mail_password: mailPassword,
use_tls: useTls,
use_ssl: useSsl,
};
@ -212,15 +227,25 @@ export default function SettingsPage() {
onChange={handleSmtpPortChange}
/>
<InputText
label="Utilisateur SMTP"
value={smtpUser}
onChange={handleSmtpUserChange}
label="Serveur IMAP"
value={imapServer}
onChange={handleImapServerChange}
/>
<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"
value={smtpPassword}
onChange={handleSmtpPasswordChange}
value={mailPassword}
onChange={handleMailPasswordChange}
/>
</div>
<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';
export const PENDING = 'pending';
@ -6,7 +6,7 @@ export const SUBSCRIBED = 'subscribed';
export const ARCHIVED = 'archived';
export const fetchSmtpSettings = (csrfToken, establishment_id = null) => {
let url = `${BE_SETTINGS_SMTP_URL}/`;
let url = `${BE_SETTINGS_MAIL_URL}/`;
if (establishment_id) {
url += `?establishment_id=${establishment_id}`;
}
@ -21,7 +21,7 @@ export const fetchSmtpSettings = (csrfToken, establishment_id = null) => {
};
export const editSmtpSettings = (data, csrfToken) => {
return fetch(`${BE_SETTINGS_SMTP_URL}/`, {
return fetch(`${BE_SETTINGS_MAIL_URL}/`, {
method: 'POST',
headers: {
'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
fetchSmtpSettings(csrfToken, selectedEstablishmentId)
.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);
setSmtpConfigured(true);
} 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`;
// 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
export const FE_HOME_URL = '/';