feat(client): add client context to sales and expenses creation
- Disable branch selection in sale form when creating from client context - Pass client ID to create pages via URL parameter - Update breadcrumbs to reflect client navigation path - Simplify relation managers by reusing resource tables and adding custom create actions
This commit is contained in:
@@ -24,31 +24,13 @@ class ExpensesRelationManager extends RelationManager
|
||||
|
||||
public function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->recordTitleAttribute('supplier')
|
||||
->columns([
|
||||
TextColumn::make('supplier'),
|
||||
TextColumn::make('reference_number'),
|
||||
TextColumn::make('voucher_number'),
|
||||
TextColumn::make('branch.code'),
|
||||
TextColumn::make('happened_on'),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->headerActions([
|
||||
Tables\Actions\CreateAction::make()
|
||||
->url(fn () => ExpenseResource::getUrl('create', ['client_id' => $this->getOwnerRecord()->id])),
|
||||
])
|
||||
->actions([
|
||||
Tables\Actions\EditAction::make()
|
||||
->url(fn (Expense $record) => ExpenseResource::getUrl('edit', ['record' => $record])),
|
||||
Tables\Actions\DeleteAction::make(),
|
||||
])
|
||||
->bulkActions([
|
||||
Tables\Actions\BulkActionGroup::make([
|
||||
Tables\Actions\DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
return ExpenseResource::table($table)->headerActions([
|
||||
Tables\Actions\Action::make('New Expense')->action('openCreateForm'),
|
||||
]);
|
||||
}
|
||||
|
||||
public function openCreateForm()
|
||||
{
|
||||
return redirect()->route('filament.admin.resources.expenses.create', ['client_id' => $this->getOwnerRecord()->id]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,36 +24,13 @@ class SalesRelationManager extends RelationManager
|
||||
|
||||
public function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->recordTitleAttribute('title')
|
||||
->columns([
|
||||
TextColumn::make('id')->label('ID')->sortable(),
|
||||
TextColumn::make('branch.code')->label('Branch')->sortable(),
|
||||
TextColumn::make('happened_on')->label('Date')->date()->sortable(),
|
||||
TextColumn::make('gross_amount')->label('Gross Amount')->numeric()->sortable(),
|
||||
TextColumn::make('exempt')->label('Exempt')->numeric()->sortable(),
|
||||
TextColumn::make('vatable_amount')->label('Vatable Amount')->numeric()->sortable(),
|
||||
TextColumn::make('output_tax')->label('Output Tax')->numeric()->sortable(),
|
||||
TextColumn::make('payable_withholding_tax')->label('Payable Withholding Tax')->numeric()->sortable(),
|
||||
TextColumn::make('discount')->label('Discount')->numeric()->sortable(),
|
||||
TextColumn::make('net_amount')->label('Net Amount')->numeric()->sortable(),
|
||||
])
|
||||
->filters([
|
||||
//
|
||||
])
|
||||
->headerActions([
|
||||
Tables\Actions\CreateAction::make()
|
||||
->url(fn () => SaleResource::getUrl('create', ['client_id' => $this->getOwnerRecord()->id])),
|
||||
])
|
||||
->actions([
|
||||
Tables\Actions\EditAction::make()
|
||||
->url(fn (Sale $record) => SaleResource::getUrl('edit', ['record' => $record])),
|
||||
Tables\Actions\DeleteAction::make(),
|
||||
])
|
||||
->bulkActions([
|
||||
Tables\Actions\BulkActionGroup::make([
|
||||
Tables\Actions\DeleteBulkAction::make(),
|
||||
]),
|
||||
]);
|
||||
return SaleResource::table($table)->headerActions([
|
||||
Tables\Actions\Action::make('New Sale')->action('openCreateForm'),
|
||||
]);
|
||||
}
|
||||
|
||||
public function openCreateForm()
|
||||
{
|
||||
return redirect()->route('filament.admin.resources.sales.create', ['client_id' => $this->getOwnerRecord()->id]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user