From d8f847346b818ac6d63beff228103fdc6f7077ba Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Sat, 23 Nov 2024 17:19:25 +0500 Subject: [PATCH] wip --- app/Helpers/helpers.php | 9 ++++-- .../Controllers/OnlinePaymentController.php | 2 +- .../Models/SberPaymentOrder.php | 2 ++ .../Nova/Resources/NovaSberPaymentOrder.php | 12 +++++++- .../NovaVisaMasterPaymentOrderItemAuth.php | 11 -------- app/Repos/Payment/OnlinePaymentRepo.php | 6 ++-- ...soft_deletes_sber_payment_orders_table.php | 28 +++++++++++++++++++ 7 files changed, 51 insertions(+), 19 deletions(-) create mode 100644 database/migrations/2024_11_23_150516_add_soft_deletes_sber_payment_orders_table.php diff --git a/app/Helpers/helpers.php b/app/Helpers/helpers.php index 004a8d2..4f3f18a 100644 --- a/app/Helpers/helpers.php +++ b/app/Helpers/helpers.php @@ -202,18 +202,21 @@ function localeAppUrl(): string return config('app.locale_app.url'); } -function convertToOriginalFormat($apiPrice) { +function convertToOriginalFormat($apiPrice) +{ // Convert to float and divide by 100 $originalPrice = intval($apiPrice) / 100; + return number_format($originalPrice, 2, '.', ''); // Format with 2 decimal places } -function lastDayOfMonth($month, $year) { +function lastDayOfMonth($month, $year) +{ // Create a DateTime object for the first day of the given month $date = new DateTime("$year-$month-01"); // Modify the date to the last day of the same month $date->modify('last day of this month'); + // Return the formatted date return $date->format('d'); } - diff --git a/app/Http/Controllers/OnlinePaymentController.php b/app/Http/Controllers/OnlinePaymentController.php index e6a1d5b..b597a17 100644 --- a/app/Http/Controllers/OnlinePaymentController.php +++ b/app/Http/Controllers/OnlinePaymentController.php @@ -79,7 +79,7 @@ class OnlinePaymentController extends Controller public function visaMaster(OnlinePaymentStoreRequest $request) { - $data = OnlinePaymentRepo::checkPayment($request); + $data = OnlinePaymentRepo::checkPaymentVisaMaster($request); return view(OnlinePaymentRepo::statusView(), $data); } diff --git a/app/Modules/SberPaymentOrder/Models/SberPaymentOrder.php b/app/Modules/SberPaymentOrder/Models/SberPaymentOrder.php index 6d1fded..951d703 100644 --- a/app/Modules/SberPaymentOrder/Models/SberPaymentOrder.php +++ b/app/Modules/SberPaymentOrder/Models/SberPaymentOrder.php @@ -6,12 +6,14 @@ use App\Models\Branch\Branch; use App\Repos\Order\Loan\LoanOrderRepo; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsTo; +use Illuminate\Database\Eloquent\SoftDeletes; use Spatie\MediaLibrary\HasMedia; use Spatie\MediaLibrary\InteractsWithMedia; class SberPaymentOrder extends Model implements HasMedia { use InteractsWithMedia; + use SoftDeletes; /** * Table diff --git a/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php b/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php index 132d04d..cf10d18 100644 --- a/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php +++ b/app/Modules/SberPaymentOrder/Nova/Resources/NovaSberPaymentOrder.php @@ -330,7 +330,17 @@ class NovaSberPaymentOrder extends Resource return [ MakeSberPaymentAction::make() ->icon('credit-card') - ->sole(), + ->sole() + ->canSee(function ($request) { + if (in_array($this->resource->status, [ + OrderRepo::PENDING, + OrderRepo::CANCELLED, + ])) { + return false; + } + + return true; + }), ]; } } diff --git a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Item/NovaVisaMasterPaymentOrderItemAuth.php b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Item/NovaVisaMasterPaymentOrderItemAuth.php index cf4efa3..c1b8802 100644 --- a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Item/NovaVisaMasterPaymentOrderItemAuth.php +++ b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Item/NovaVisaMasterPaymentOrderItemAuth.php @@ -7,17 +7,6 @@ use Illuminate\Http\Request; trait NovaVisaMasterPaymentOrderItemAuth { - /** - * Determine if the current user can view the given resource. - * - * @param \Illuminate\Http\Request $request - * @return bool - */ - public function authorizedToView(Request $request): bool - { - return false; - } - /** Edit button */ public function authorizedToUpdate(Request $request): bool { diff --git a/app/Repos/Payment/OnlinePaymentRepo.php b/app/Repos/Payment/OnlinePaymentRepo.php index ecda25e..927f5cd 100644 --- a/app/Repos/Payment/OnlinePaymentRepo.php +++ b/app/Repos/Payment/OnlinePaymentRepo.php @@ -156,7 +156,7 @@ class OnlinePaymentRepo return 'orders.cards.online-payment.status'; } - public static function checkPayment(Request $request) + public static function checkPaymentVisaMaster(Request $request) { // Find order from history $paymentHistory = OnlinePaymentHistory::where('orderId', $request->orderId)->first(); @@ -208,8 +208,8 @@ class OnlinePaymentRepo 'title' => $payment_status ? __('Payment is successful') : __('Payment has failed'), 'pnr' => $paymentHistory->orderNumber, 'branch_name' => $bank_branch->name, - 'price_amount' => convertToOriginalFormat($paymentHistory->amount) . ' TMT', - 'return_url' => url('/work-place/resources/nova-visa-master-payment-orders/' . $resource->visa_master_payment_order_id), + 'price_amount' => convertToOriginalFormat($paymentHistory->amount).' TMT', + 'return_url' => url('/work-place/resources/nova-visa-master-payment-orders/'.$resource->visa_master_payment_order_id), ]; } diff --git a/database/migrations/2024_11_23_150516_add_soft_deletes_sber_payment_orders_table.php b/database/migrations/2024_11_23_150516_add_soft_deletes_sber_payment_orders_table.php new file mode 100644 index 0000000..ac100da --- /dev/null +++ b/database/migrations/2024_11_23_150516_add_soft_deletes_sber_payment_orders_table.php @@ -0,0 +1,28 @@ +softDeletes(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('sber_payment_orders', function (Blueprint $table) { + $table->dropSoftDeletes(); + }); + } +};