From dd72395558cd22f33dd8233872086b80979543c6 Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Mon, 3 Mar 2025 10:08:03 +0500 Subject: [PATCH] wip --- .../Middleware/CheckPasswordMustBeChanged.php | 32 ++++++++++++++++++ .../VisaMasterPaymentOrderFieldsForDetail.php | 33 +++++++++++++++---- config/nova.php | 2 ++ routes/web.php | 5 +++ 4 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 app/Http/Middleware/CheckPasswordMustBeChanged.php diff --git a/app/Http/Middleware/CheckPasswordMustBeChanged.php b/app/Http/Middleware/CheckPasswordMustBeChanged.php new file mode 100644 index 0000000..1c23f4f --- /dev/null +++ b/app/Http/Middleware/CheckPasswordMustBeChanged.php @@ -0,0 +1,32 @@ +check()) { + return redirect('/login'); + } + + if ($request->user()->isSystemUser()) { + return $next($request); + } + + if (boolval($request->user()->password_must_be_changed)) { + return to_route('sms-verification'); + } + + return $next($request); + } +} diff --git a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Concerns/VisaMasterPaymentOrderFieldsForDetail.php b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Concerns/VisaMasterPaymentOrderFieldsForDetail.php index 84939aa..e62e985 100644 --- a/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Concerns/VisaMasterPaymentOrderFieldsForDetail.php +++ b/app/Modules/VisaMasterPaymentOrder/Nova/Resources/Concerns/VisaMasterPaymentOrderFieldsForDetail.php @@ -5,6 +5,7 @@ namespace App\Modules\VisaMasterPaymentOrder\Nova\Resources\Concerns; use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder; use App\Modules\VisaMasterPaymentOrder\Nova\Resources\NovaVisaMasterPaymentOrderItem; use App\Nova\Resources\Branch\Branch; +use App\Nova\User; use App\Repos\Order\OrderRepo; use App\Repos\System\Settings\Legal\PassportRepo; use App\Repos\System\Settings\Location\RegionRepo; @@ -34,9 +35,7 @@ class VisaMasterPaymentOrderFieldsForDetail ID::make() ->hideFromDetail(), - Hidden::make('user_id') - ->default(auth()->id()) - ->hideWhenUpdating(), + BelongsTo::make(__('User'), 'user', User::class), Text::make(__('ID'), 'unique_id') ->exceptOnForms(), @@ -60,12 +59,13 @@ class VisaMasterPaymentOrderFieldsForDetail ->withIcons() ->icons(OrderRepo::statusIcons()), + Text::make(sprintf('%s (%s)', __('Paid'), __('This month')), function () use ($resource) { + return static::paidField($resource, $resource->filter_month); + }), + Text::make(__('Note'), 'notes') ->fullWidth() ->canSeeWhen('systemUser', $resource), - ]), - new Panel(__('Payment'), [ - ]), new Panel(__('Application type'), [ Select::make(__('Application type'), 'type') @@ -195,4 +195,25 @@ class VisaMasterPaymentOrderFieldsForDetail HasMany::make(__('Payment items'), 'paymentItems', NovaVisaMasterPaymentOrderItem::class), ]; } + + /** + * Paid field + */ + public static function paidField($resource, $date = null) + { + $paid = false; + $items = $resource->paymentItems; + + $month = $date ?: date('m'); + + foreach ($items as $item) { + if (boolval($item->paid)) { + if ($item->created_at->format('m') == $month) { + $paid = true; + } + } + } + + return $paid ? 'Tölenen' : 'Tölenmedik'; + } } diff --git a/config/nova.php b/config/nova.php index 45bb95e..8052ef4 100644 --- a/config/nova.php +++ b/config/nova.php @@ -1,5 +1,6 @@ [ diff --git a/routes/web.php b/routes/web.php index 94bca58..cd01e8d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -5,6 +5,7 @@ use App\Http\Controllers\Auth\RegisterController; use App\Http\Controllers\Auth\ResetPasswordController; use App\Http\Controllers\LocaleController; use App\Http\Controllers\OnlinePaymentController; +use App\Http\Middleware\CheckPasswordMustBeChanged; use Illuminate\Support\Facades\Route; /* @@ -36,6 +37,10 @@ Route::middleware(['auth', 'unVerified'])->group(function () { Route::post('sms-verification', [RegisterController::class, 'verifySmsCode']); }); +Route::middleware(['auth', CheckPasswordMustBeChanged::class])->group(function () { + +}); + Route::get('online-payment-store', [OnlinePaymentController::class, 'store']) ->name('online-payment-store');