Checkpoint: Ajout du paramètre "Dossier d'export" dans les paramètres de réception
Nouvelle fonctionnalité : ✅ Champ "Dossier d'export" ajouté dans la page Paramètres de réception ✅ Permet de configurer le chemin du dossier de destination pour l'export des factures ✅ Stockage en base de données dans la table importSettings ✅ Interface utilisateur avec carte dédiée et champ de saisie Modifications techniques : - drizzle/schema.ts : Ajout du champ exportFolder (type text, nullable) dans la table importSettings - server/routers.ts : Ajout de exportFolder dans les routes importSettings.get et importSettings.update - client/src/pages/ImportSettings.tsx : Ajout du state, initialisation, et carte UI pour le dossier d'export - Migration de base de données : 0008_orange_prism.sql appliquée avec succès Utilisation : 1. Accéder à "Paramètres de réception" dans le menu 2. Descendre jusqu'à la section "Dossier d'export" 3. Saisir le chemin absolu du dossier (ex: /chemin/vers/dossier/export) 4. Cliquer sur "Enregistrer les paramètres" 5. Le chemin est sauvegardé et pourra être utilisé pour les exports futurs Ce paramètre permettra de centraliser la configuration du dossier d'export pour toutes les fonctionnalités d'export de l'application.
This commit is contained in:
@@ -37,6 +37,9 @@ export default function ImportSettings() {
|
||||
const [emailImportPort, setEmailImportPort] = useState(993);
|
||||
const [emailImportFrequency, setEmailImportFrequency] = useState(30);
|
||||
|
||||
// Export folder
|
||||
const [exportFolder, setExportFolder] = useState("");
|
||||
|
||||
// Initialize form with settings from database
|
||||
useEffect(() => {
|
||||
if (settings) {
|
||||
@@ -50,6 +53,7 @@ export default function ImportSettings() {
|
||||
setEmailImportHost(settings.emailImportHost || "");
|
||||
setEmailImportPort(settings.emailImportPort || 993);
|
||||
setEmailImportFrequency(settings.emailImportFrequency || 30);
|
||||
setExportFolder(settings.exportFolder || "");
|
||||
}
|
||||
}, [settings]);
|
||||
|
||||
@@ -66,6 +70,7 @@ export default function ImportSettings() {
|
||||
emailImportHost: emailImportHost || null,
|
||||
emailImportPort: emailImportPort,
|
||||
emailImportFrequency: emailImportFrequency,
|
||||
exportFolder: exportFolder || null,
|
||||
});
|
||||
|
||||
toast.success("Paramètres enregistrés", {
|
||||
@@ -461,6 +466,34 @@ export default function ImportSettings() {
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
{/* Export Folder */}
|
||||
<Card>
|
||||
<CardHeader>
|
||||
<CardTitle className="flex items-center gap-2">
|
||||
<FolderOpen className="h-5 w-5" />
|
||||
Dossier d'export
|
||||
</CardTitle>
|
||||
<CardDescription>
|
||||
Configurez le dossier de destination pour l'export des factures
|
||||
</CardDescription>
|
||||
</CardHeader>
|
||||
<CardContent className="space-y-4">
|
||||
<div className="space-y-2">
|
||||
<Label htmlFor="exportFolder">Chemin du dossier d'export</Label>
|
||||
<Input
|
||||
id="exportFolder"
|
||||
type="text"
|
||||
placeholder="/chemin/vers/dossier/export"
|
||||
value={exportFolder}
|
||||
onChange={(e) => setExportFolder(e.target.value)}
|
||||
/>
|
||||
<p className="text-sm text-muted-foreground">
|
||||
Spécifiez le chemin absolu du dossier où les factures seront exportées
|
||||
</p>
|
||||
</div>
|
||||
</CardContent>
|
||||
</Card>
|
||||
|
||||
{/* Save Button */}
|
||||
<div className="flex justify-end">
|
||||
<Button
|
||||
|
||||
Reference in New Issue
Block a user