From 94badf95b8beecb8fff7ceb39f9c084d726b675c Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Sun, 2 Nov 2025 20:12:34 +0500 Subject: [PATCH] wip --- .../CardOrders/Pages/CreateCardOrder.php | 17 +++++++++--- .../CardOrders/Tables/CardOrdersTable.php | 27 +++++++++++++++++++ app/Providers/Filament/WorkPanelProvider.php | 2 ++ lang/tk.json | 3 ++- 4 files changed, 45 insertions(+), 4 deletions(-) diff --git a/app/Filament/Clusters/Cards/CardOrders/Pages/CreateCardOrder.php b/app/Filament/Clusters/Cards/CardOrders/Pages/CreateCardOrder.php index 5b64f3f..aef66ff 100644 --- a/app/Filament/Clusters/Cards/CardOrders/Pages/CreateCardOrder.php +++ b/app/Filament/Clusters/Cards/CardOrders/Pages/CreateCardOrder.php @@ -10,6 +10,17 @@ class CreateCardOrder extends CreateRecord { protected static string $resource = CardOrderResource::class; + /** + * @return array + */ + protected function getFormActions(): array + { + return [ + $this->getCreateFormAction(), + $this->getCancelFormAction(), + ]; + } + protected function getRedirectUrl(): string { $defaultUrl = $this->getResource()::getUrl('index'); @@ -17,11 +28,11 @@ class CreateCardOrder extends CreateRecord /** @var \App\Modules\CardOrder\Models\CardOrder */ $record = $this->record; - $OnlinePayment = CardOrderRepository::make() + $onlinePayment = CardOrderRepository::make() ->createOnlinePaymentOrder($record); - return $OnlinePayment->successful() - ? $OnlinePayment->paymentLink() + return $onlinePayment->successful() + ? $onlinePayment->paymentLink() : $defaultUrl; } } diff --git a/app/Filament/Clusters/Cards/CardOrders/Tables/CardOrdersTable.php b/app/Filament/Clusters/Cards/CardOrders/Tables/CardOrdersTable.php index 725b411..2ca752f 100644 --- a/app/Filament/Clusters/Cards/CardOrders/Tables/CardOrdersTable.php +++ b/app/Filament/Clusters/Cards/CardOrders/Tables/CardOrdersTable.php @@ -2,13 +2,17 @@ namespace App\Filament\Clusters\Cards\CardOrders\Tables; +use App\Modules\CardOrder\Models\CardOrder; +use App\Modules\CardOrder\Repositories\CardOrderRepository; use App\Modules\OrderStatus\Repositories\OrderStatusRepository; use App\Modules\Region\Repositories\RegionRepository; +use Filament\Actions\Action; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreBulkAction; +use Filament\Notifications\Notification; use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Filters\TrashedFilter; @@ -81,6 +85,29 @@ class CardOrdersTable TrashedFilter::make(), ]) ->recordActions([ + Action::make('card_order_pay') + ->label(__('Pay')) + ->icon('heroicon-o-credit-card') + ->requiresConfirmation() + ->action(function (CardOrder $record) { + $onlinePayment = CardOrderRepository::make() + ->createOnlinePaymentOrder($record); + + if ($onlinePayment->successful()) { + Notification::make() + ->success() + ->title('Sending') + ->send(); + + return redirect()->away($onlinePayment->paymentLink()); + } + + Notification::make() + ->danger() + ->title('Could not send') + ->send(); + }), + EditAction::make(), ]) ->toolbarActions([ diff --git a/app/Providers/Filament/WorkPanelProvider.php b/app/Providers/Filament/WorkPanelProvider.php index 36492f1..f0c5a7f 100644 --- a/app/Providers/Filament/WorkPanelProvider.php +++ b/app/Providers/Filament/WorkPanelProvider.php @@ -29,6 +29,8 @@ class WorkPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { + // #content\.form-actions > div + return $panel ->default() ->id('work') diff --git a/lang/tk.json b/lang/tk.json index d2ce751..506d687 100644 --- a/lang/tk.json +++ b/lang/tk.json @@ -668,5 +668,6 @@ "Cards": "Kartlar", "Loans": "Karzlar", "Loan": "Karz", - "Please update your profile": "Profiliňizi doldurmagyňyzy haýyş edýäris" + "Please update your profile": "Profiliňizi doldurmagyňyzy haýyş edýäris", + "Pay": "Töle" }