Merge branch 'orders' of git.niisse.net:nisse/topnotch_website into orders

This commit is contained in:
Nisse Lommerde 2024-11-22 15:58:26 -05:00
commit 2c0fbfde5b
4 changed files with 39 additions and 26 deletions

View File

@ -121,6 +121,11 @@ public static function table(Table $table): Table
}), }),
], layout: Tables\Enums\FiltersLayout::AboveContent) ], layout: Tables\Enums\FiltersLayout::AboveContent)
->hiddenFilterIndicators()
->actions([// Action::make('generateReport')
// ->label('Make Report')
// ->icon('lucide-sticky-note'),
]);
->hiddenFilterIndicators() ->hiddenFilterIndicators()

View File

@ -232,8 +232,7 @@ public static function table(Table $table): Table
? 'lucide-calendar-clock' : ($record->rush ? 'lucide-calendar-clock' : ($record->rush
? OrderAttributes::rush->getIcon() : null); ? OrderAttributes::rush->getIcon() : null);
}) })
->size(Tables\Columns\IconColumn\IconColumnSize::Medium),
->size(Tables\Columns\IconColumn\IconColumnSize::Small),
TextColumn::make('internal_po') TextColumn::make('internal_po')
->label('Internal PO') ->label('Internal PO')

View File

@ -24,9 +24,18 @@ protected function getHeaderActions(): array
public function getTabs(): array public function getTabs(): array
{ {
return [ return [
null => Tab::make('All') 'active' => Tab::make()
->icon('lucide-layout-grid'), ->query(function ($query) {
return $query
->whereNot('status', OrderStatus::INVOICED)
->whereNot('status', ORderStatus::SHIPPED);
})
->icon(OrderStatus::PRODUCTION->getIcon())
->badge(function () {
return Order::whereNot('status', OrderStatus::SHIPPED)
->whereNot('status', OrderStatus::INVOICED)
->count();
}),
'overdue' => Tab::make() 'overdue' => Tab::make()
->query(function ($query) { ->query(function ($query) {
return $query->whereDate('due_date', '<=', today()) return $query->whereDate('due_date', '<=', today())
@ -61,25 +70,28 @@ public function getTabs(): array
}) })
->badgeColor('warning'), ->badgeColor('warning'),
'draft' => Tab::make() null => Tab::make('All')
->query(fn ($query) => $query->where('status', OrderStatus::DRAFT->value)) ->icon('lucide-layout-grid'),
->icon(OrderStatus::DRAFT->getIcon()),
'approved' => Tab::make() // 'draft' => Tab::make()
->query(fn ($query) => $query->where('status', OrderStatus::APPROVED->value)) // ->query(fn ($query) => $query->where('status', OrderStatus::DRAFT->value))
->icon(OrderStatus::APPROVED->getIcon()), // ->icon(OrderStatus::DRAFT->getIcon()),
//
'production' => Tab::make() // 'approved' => Tab::make()
->query(fn ($query) => $query->where('status', OrderStatus::PRODUCTION->value)) // ->query(fn ($query) => $query->where('status', OrderStatus::APPROVED->value))
->icon(OrderStatus::PRODUCTION->getIcon()), // ->icon(OrderStatus::APPROVED->getIcon()),
//
'shipped' => Tab::make() // 'production' => Tab::make()
->query(fn ($query) => $query->where('status', OrderStatus::SHIPPED->value)) // ->query(fn ($query) => $query->where('status', OrderStatus::PRODUCTION->value))
->icon(OrderStatus::SHIPPED->getIcon()), // ->icon(OrderStatus::PRODUCTION->getIcon()),
//
'invoiced' => Tab::make() // 'shipped' => Tab::make()
->query(fn ($query) => $query->where('status', OrderStatus::INVOICED->value)) // ->query(fn ($query) => $query->where('status', OrderStatus::SHIPPED->value))
->icon(OrderStatus::INVOICED->getIcon()), // ->icon(OrderStatus::SHIPPED->getIcon()),
//
// 'invoiced' => Tab::make()
// ->query(fn ($query) => $query->where('status', OrderStatus::INVOICED->value))
// ->icon(OrderStatus::INVOICED->getIcon()),
]; ];
} }
} }

3
todos
View File

@ -38,6 +38,3 @@ renamings:
- order->total_service_price => subtotal - order->total_service_price => subtotal
- amount > quantity - amount > quantity
- amount_price > amount - amount_price > amount
orders: tabs for status or rush!! :D