This commit is contained in:
2025-11-02 20:12:34 +05:00
parent 7f394b90fa
commit 94badf95b8
4 changed files with 45 additions and 4 deletions

View File

@@ -10,6 +10,17 @@ class CreateCardOrder extends CreateRecord
{ {
protected static string $resource = CardOrderResource::class; protected static string $resource = CardOrderResource::class;
/**
* @return array<Action | ActionGroup>
*/
protected function getFormActions(): array
{
return [
$this->getCreateFormAction(),
$this->getCancelFormAction(),
];
}
protected function getRedirectUrl(): string protected function getRedirectUrl(): string
{ {
$defaultUrl = $this->getResource()::getUrl('index'); $defaultUrl = $this->getResource()::getUrl('index');
@@ -17,11 +28,11 @@ class CreateCardOrder extends CreateRecord
/** @var \App\Modules\CardOrder\Models\CardOrder */ /** @var \App\Modules\CardOrder\Models\CardOrder */
$record = $this->record; $record = $this->record;
$OnlinePayment = CardOrderRepository::make() $onlinePayment = CardOrderRepository::make()
->createOnlinePaymentOrder($record); ->createOnlinePaymentOrder($record);
return $OnlinePayment->successful() return $onlinePayment->successful()
? $OnlinePayment->paymentLink() ? $onlinePayment->paymentLink()
: $defaultUrl; : $defaultUrl;
} }
} }

View File

@@ -2,13 +2,17 @@
namespace App\Filament\Clusters\Cards\CardOrders\Tables; 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\OrderStatus\Repositories\OrderStatusRepository;
use App\Modules\Region\Repositories\RegionRepository; use App\Modules\Region\Repositories\RegionRepository;
use Filament\Actions\Action;
use Filament\Actions\BulkActionGroup; use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteBulkAction; use Filament\Actions\DeleteBulkAction;
use Filament\Actions\EditAction; use Filament\Actions\EditAction;
use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\ForceDeleteBulkAction;
use Filament\Actions\RestoreBulkAction; use Filament\Actions\RestoreBulkAction;
use Filament\Notifications\Notification;
use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\IconColumn;
use Filament\Tables\Columns\TextColumn; use Filament\Tables\Columns\TextColumn;
use Filament\Tables\Filters\TrashedFilter; use Filament\Tables\Filters\TrashedFilter;
@@ -81,6 +85,29 @@ class CardOrdersTable
TrashedFilter::make(), TrashedFilter::make(),
]) ])
->recordActions([ ->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(), EditAction::make(),
]) ])
->toolbarActions([ ->toolbarActions([

View File

@@ -29,6 +29,8 @@ class WorkPanelProvider extends PanelProvider
{ {
public function panel(Panel $panel): Panel public function panel(Panel $panel): Panel
{ {
// #content\.form-actions > div
return $panel return $panel
->default() ->default()
->id('work') ->id('work')

View File

@@ -668,5 +668,6 @@
"Cards": "Kartlar", "Cards": "Kartlar",
"Loans": "Karzlar", "Loans": "Karzlar",
"Loan": "Karz", "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"
} }