Compare commits
No commits in common. "ea4f46f96de2f3784a0fb16df6b18d9665b5d45a" and "68148211004845f0de0ba7daf6e68c44d844152f" have entirely different histories.
ea4f46f96d
...
6814821100
@ -1,8 +1,5 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
**2025-03-11**
|
**2025-03-11**
|
||||||
- Fixed #122 - Non-admins can see payments
|
|
||||||
- Fixed #107 - Fix dashboard
|
|
||||||
- Fixed #118 - Improved customer form and re-add 'create customer' to order form
|
|
||||||
- Fixed #117 - Draft orders should not show up in order tabs
|
- Fixed #117 - Draft orders should not show up in order tabs
|
||||||
- Fixed #116 - 'Ready for invoice'-badge shows 0 instead of hiding
|
- Fixed #116 - 'Ready for invoice'-badge shows 0 instead of hiding
|
||||||
|
@ -112,7 +112,8 @@ public static function getPages(): array
|
|||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'index' => \App\Filament\Admin\Resources\CustomerResource\Pages\ListCustomers::route('/'),
|
'index' => \App\Filament\Admin\Resources\CustomerResource\Pages\ListCustomers::route('/'),
|
||||||
'edit' => \App\Filament\Admin\Resources\CustomerResource\Pages\EditCustomer::route('/{record}/edit'),
|
// 'create' => \App\Filament\Admin\Resources\CustomerResource\Pages\CreateCustomer::route('/create'),
|
||||||
|
'edit' => \App\Filament\Admin\Resources\CustomerResource\Pages\EditCustomer::route('/{record}/edit'),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -7,7 +7,6 @@
|
|||||||
use Filament\Forms\Form;
|
use Filament\Forms\Form;
|
||||||
use Filament\Resources\RelationManagers\RelationManager;
|
use Filament\Resources\RelationManagers\RelationManager;
|
||||||
use Filament\Tables\Table;
|
use Filament\Tables\Table;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
|
||||||
|
|
||||||
class PaymentsRelationManager extends RelationManager
|
class PaymentsRelationManager extends RelationManager
|
||||||
{
|
{
|
||||||
@ -28,9 +27,4 @@ public function table(Table $table): Table
|
|||||||
{
|
{
|
||||||
return PaymentResource::table($table);
|
return PaymentResource::table($table);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function canViewForRecord(Model $ownerRecord, string $pageClass): bool
|
|
||||||
{
|
|
||||||
return auth()->user()->is_admin ?? false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
36
app/Filament/Admin/Widgets/ActiveOrdersTable.php
Normal file
36
app/Filament/Admin/Widgets/ActiveOrdersTable.php
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Admin\Widgets;
|
||||||
|
|
||||||
|
use App\Enums\OrderStatus;
|
||||||
|
use App\Models\Order;
|
||||||
|
use Filament\Tables\Columns\TextColumn;
|
||||||
|
use Filament\Tables\Table;
|
||||||
|
use Filament\Widgets\TableWidget as BaseWidget;
|
||||||
|
|
||||||
|
class ActiveOrdersTable extends BaseWidget
|
||||||
|
{
|
||||||
|
protected static ?int $sort = 2;
|
||||||
|
|
||||||
|
protected string|int|array $columnSpan = 2;
|
||||||
|
|
||||||
|
public function table(Table $table): Table
|
||||||
|
{
|
||||||
|
return $table
|
||||||
|
->query(
|
||||||
|
Order::query()
|
||||||
|
->where('status', '!=', OrderStatus::SHIPPED)
|
||||||
|
->where('status', '!=', OrderStatus::INVOICED)
|
||||||
|
)
|
||||||
|
->columns([
|
||||||
|
TextColumn::make('customer.company_name'),
|
||||||
|
TextColumn::make('customer_po')
|
||||||
|
->color('code')
|
||||||
|
->weight('bold'),
|
||||||
|
TextColumn::make('status')
|
||||||
|
// ->color(OrderStatus::class)
|
||||||
|
->badge(),
|
||||||
|
])
|
||||||
|
->defaultPaginationPageOption(5);
|
||||||
|
}
|
||||||
|
}
|
@ -35,9 +35,7 @@ protected function getStats(): array
|
|||||||
private function getActiveOrders(): string
|
private function getActiveOrders(): string
|
||||||
{
|
{
|
||||||
return Order::all()
|
return Order::all()
|
||||||
->where('order_status', '!=', OrderStatus::DRAFT)
|
|
||||||
->where('order_status', '!=', OrderStatus::SHIPPED)
|
->where('order_status', '!=', OrderStatus::SHIPPED)
|
||||||
->where('order_status', '!=', OrderStatus::READY_FOR_INVOICE)
|
|
||||||
->where('order_status', '!=', OrderStatus::INVOICED)
|
->where('order_status', '!=', OrderStatus::INVOICED)
|
||||||
->count();
|
->count();
|
||||||
}
|
}
|
||||||
@ -45,8 +43,6 @@ private function getActiveOrders(): string
|
|||||||
private function getOrdersPast30Days(): string
|
private function getOrdersPast30Days(): string
|
||||||
{
|
{
|
||||||
return Order::all()
|
return Order::all()
|
||||||
->where('order_status', '!=', OrderStatus::DRAFT)
|
|
||||||
->where('order_status', '!=', OrderStatus::READY_FOR_INVOICE)
|
|
||||||
->where('order_status', '!=', OrderStatus::SHIPPED)
|
->where('order_status', '!=', OrderStatus::SHIPPED)
|
||||||
->where('order_status', '!=', OrderStatus::INVOICED)
|
->where('order_status', '!=', OrderStatus::INVOICED)
|
||||||
->whereBetween('created_at', [now()->startOfMonth(), now()->endOfMonth()])
|
->whereBetween('created_at', [now()->startOfMonth(), now()->endOfMonth()])
|
||||||
@ -69,8 +65,6 @@ private function getOrdersInPast30DaysChart(): array
|
|||||||
private function getDueOrders(): string
|
private function getDueOrders(): string
|
||||||
{
|
{
|
||||||
return Order::all()
|
return Order::all()
|
||||||
->where('order_status', '!=', OrderStatus::DRAFT)
|
|
||||||
->where('order_status', '!=', OrderStatus::READY_FOR_INVOICE)
|
|
||||||
->where('order_status', '!=', OrderStatus::SHIPPED)
|
->where('order_status', '!=', OrderStatus::SHIPPED)
|
||||||
->where('order_status', '!=', OrderStatus::INVOICED)
|
->where('order_status', '!=', OrderStatus::INVOICED)
|
||||||
->where('due_date', '<=', now())
|
->where('due_date', '<=', now())
|
||||||
|
35
app/Filament/Admin/Widgets/RushOrdersTable.php
Normal file
35
app/Filament/Admin/Widgets/RushOrdersTable.php
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Filament\Admin\Widgets;
|
||||||
|
|
||||||
|
use App\Enums\OrderStatus;
|
||||||
|
use App\Models\Order;
|
||||||
|
use Filament\Tables\Columns\TextColumn;
|
||||||
|
use Filament\Tables\Table;
|
||||||
|
use Filament\Widgets\TableWidget as BaseWidget;
|
||||||
|
|
||||||
|
class RushOrdersTable extends BaseWidget
|
||||||
|
{
|
||||||
|
protected string|int|array $columnSpan = 2;
|
||||||
|
|
||||||
|
public function table(Table $table): Table
|
||||||
|
{
|
||||||
|
return $table
|
||||||
|
->query(
|
||||||
|
Order::query()
|
||||||
|
->where('status', '!=', OrderStatus::SHIPPED)
|
||||||
|
->where('status', '!=', OrderStatus::INVOICED)
|
||||||
|
->where('rush', true)
|
||||||
|
->orderByDesc('due_date')
|
||||||
|
)
|
||||||
|
->columns([
|
||||||
|
TextColumn::make('customer.company_name'),
|
||||||
|
TextColumn::make('customer_po')
|
||||||
|
->color('code')
|
||||||
|
->weight('bold'),
|
||||||
|
TextColumn::make('status')
|
||||||
|
->badge(),
|
||||||
|
])
|
||||||
|
->defaultPaginationPageOption(5);
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user