fix login auto detect menu link, and partial update tchnician role dealer

This commit is contained in:
2025-07-09 18:32:49 +07:00
parent e468672bbe
commit e59841fd23
14 changed files with 1362 additions and 103 deletions

View File

@@ -83,7 +83,26 @@ class TechnicianReportExport implements FromCollection, WithHeadings, WithStyles
$dealerName = $dealer ? $dealer->name : 'Unknown Dealer';
$this->filterInfo[] = "Dealer: {$dealerName}";
} else {
$this->filterInfo[] = "Dealer: Semua Dealer";
// Check user access for "Semua Dealer"
$user = auth()->user();
if ($user && $user->role_id) {
$role = \App\Models\Role::with('dealers')->find($user->role_id);
if ($role) {
$technicianReportService = new \App\Services\TechnicianReportService();
if ($technicianReportService->isAdminRole($role)) {
$this->filterInfo[] = "Dealer: Semua Dealer (Admin)";
} else if ($role->dealers->count() > 0) {
$dealerNames = $role->dealers->pluck('name')->implode(', ');
$this->filterInfo[] = "Dealer: Semua Dealer (Pivot: {$dealerNames})";
} else {
$this->filterInfo[] = "Dealer: Semua Dealer";
}
} else {
$this->filterInfo[] = "Dealer: Semua Dealer";
}
} else {
$this->filterInfo[] = "Dealer: Semua Dealer";
}
}
// Date range filter
@@ -300,7 +319,12 @@ class TechnicianReportExport implements FromCollection, WithHeadings, WithStyles
// Auto-size columns
foreach (range('A', $lastColumn) as $column) {
$sheet->getColumnDimension($column)->setAutoSize(true);
if ($column === 'A') {
// Set specific width for column A (No) - don't auto-size
$sheet->getColumnDimension($column)->setWidth(5);
} else {
$sheet->getColumnDimension($column)->setAutoSize(true);
}
}
} catch (\Exception $e) {
@@ -311,7 +335,7 @@ class TechnicianReportExport implements FromCollection, WithHeadings, WithStyles
public function columnWidths(): array
{
$widths = [
'A' => 8, // No
'A' => 5, // No - reduced from 8 to 5
'B' => 30, // Nama Pekerjaan
'C' => 15, // Kode Pekerjaan
'D' => 20, // Kategori