feat: les admins voient toutes les factures/logs/historique BAP, colonne Utilisateur dans Factures

This commit is contained in:
Manus
2026-05-03 10:56:20 -04:00
parent 973cc67603
commit 37cc9442da
4 changed files with 52 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
import { useState } from "react";
import DashboardLayout from "@/components/DashboardLayout";
import { useAuth } from "@/_core/hooks/useAuth";
import { Card, CardContent } from "@/components/ui/card";
import { Button } from "@/components/ui/button";
import { Input } from "@/components/ui/input";
@@ -52,9 +53,12 @@ export default function Invoices() {
const [pendingInvoiceId, setPendingInvoiceId] = useState<number | null>(null);
const [textDialogOpen, setTextDialogOpen] = useState(false);
const [selectedInvoiceText, setSelectedInvoiceText] = useState<string | null>(null);
const { user } = useAuth();
const isAdmin = user?.role === 'admin';
const { data: invoices, isLoading } = trpc.invoices.list.useQuery();
const { data: departments } = trpc.departments.getByUser.useQuery();
const { data: allocations } = trpc.accountingAllocations.getByUser.useQuery();
const { data: allUsers } = trpc.admin.getAllUsers.useQuery(undefined, { enabled: isAdmin });
const utils = trpc.useUtils();
const exportExcelMutation = trpc.sftp.exportToExcel.useMutation({
@@ -434,6 +438,7 @@ export default function Invoices() {
onCheckedChange={handleSelectAll}
/>
</TableHead>
{isAdmin && <TableHead>Utilisateur</TableHead>}
<TableHead>Fournisseur</TableHead>
<TableHead>Destinataire</TableHead>
<TableHead>N° Facture</TableHead>
@@ -456,6 +461,11 @@ export default function Invoices() {
onCheckedChange={(checked) => handleSelectOne(invoice.id, checked as boolean)}
/>
</TableCell>
{isAdmin && (
<TableCell className="text-xs text-gray-500">
{allUsers?.find(u => u.id === invoice.userId)?.name || `#${invoice.userId}`}
</TableCell>
)}
<TableCell className="font-medium">
<button
onClick={() => setLocation(`/invoices/${invoice.id}`)}