wip
This commit is contained in:
32
app/Http/Middleware/CheckPasswordMustBeChanged.php
Normal file
32
app/Http/Middleware/CheckPasswordMustBeChanged.php
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Middleware;
|
||||||
|
|
||||||
|
use Closure;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
|
||||||
|
class CheckPasswordMustBeChanged
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Handle an incoming request.
|
||||||
|
*
|
||||||
|
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
|
||||||
|
*/
|
||||||
|
public function handle(Request $request, Closure $next): Response
|
||||||
|
{
|
||||||
|
if (! auth()->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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ namespace App\Modules\VisaMasterPaymentOrder\Nova\Resources\Concerns;
|
|||||||
use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder;
|
use App\Modules\VisaMasterPaymentOrder\Models\VisaMasterPaymentOrder;
|
||||||
use App\Modules\VisaMasterPaymentOrder\Nova\Resources\NovaVisaMasterPaymentOrderItem;
|
use App\Modules\VisaMasterPaymentOrder\Nova\Resources\NovaVisaMasterPaymentOrderItem;
|
||||||
use App\Nova\Resources\Branch\Branch;
|
use App\Nova\Resources\Branch\Branch;
|
||||||
|
use App\Nova\User;
|
||||||
use App\Repos\Order\OrderRepo;
|
use App\Repos\Order\OrderRepo;
|
||||||
use App\Repos\System\Settings\Legal\PassportRepo;
|
use App\Repos\System\Settings\Legal\PassportRepo;
|
||||||
use App\Repos\System\Settings\Location\RegionRepo;
|
use App\Repos\System\Settings\Location\RegionRepo;
|
||||||
@@ -34,9 +35,7 @@ class VisaMasterPaymentOrderFieldsForDetail
|
|||||||
ID::make()
|
ID::make()
|
||||||
->hideFromDetail(),
|
->hideFromDetail(),
|
||||||
|
|
||||||
Hidden::make('user_id')
|
BelongsTo::make(__('User'), 'user', User::class),
|
||||||
->default(auth()->id())
|
|
||||||
->hideWhenUpdating(),
|
|
||||||
|
|
||||||
Text::make(__('ID'), 'unique_id')
|
Text::make(__('ID'), 'unique_id')
|
||||||
->exceptOnForms(),
|
->exceptOnForms(),
|
||||||
@@ -60,12 +59,13 @@ class VisaMasterPaymentOrderFieldsForDetail
|
|||||||
->withIcons()
|
->withIcons()
|
||||||
->icons(OrderRepo::statusIcons()),
|
->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')
|
Text::make(__('Note'), 'notes')
|
||||||
->fullWidth()
|
->fullWidth()
|
||||||
->canSeeWhen('systemUser', $resource),
|
->canSeeWhen('systemUser', $resource),
|
||||||
]),
|
|
||||||
new Panel(__('Payment'), [
|
|
||||||
|
|
||||||
]),
|
]),
|
||||||
new Panel(__('Application type'), [
|
new Panel(__('Application type'), [
|
||||||
Select::make(__('Application type'), 'type')
|
Select::make(__('Application type'), 'type')
|
||||||
@@ -195,4 +195,25 @@ class VisaMasterPaymentOrderFieldsForDetail
|
|||||||
HasMany::make(__('Payment items'), 'paymentItems', NovaVisaMasterPaymentOrderItem::class),
|
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';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
use App\Http\Middleware\CheckPasswordMustBeChanged;
|
||||||
use App\Http\Middleware\CheckPhoneVerification;
|
use App\Http\Middleware\CheckPhoneVerification;
|
||||||
use App\Http\Middleware\SetLocale;
|
use App\Http\Middleware\SetLocale;
|
||||||
use Laravel\Nova\Actions\ActionResource;
|
use Laravel\Nova\Actions\ActionResource;
|
||||||
@@ -107,6 +108,7 @@ return [
|
|||||||
DispatchServingNovaEvent::class,
|
DispatchServingNovaEvent::class,
|
||||||
BootTools::class,
|
BootTools::class,
|
||||||
CheckPhoneVerification::class,
|
CheckPhoneVerification::class,
|
||||||
|
CheckPasswordMustBeChanged::class,
|
||||||
],
|
],
|
||||||
|
|
||||||
'api_middleware' => [
|
'api_middleware' => [
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ use App\Http\Controllers\Auth\RegisterController;
|
|||||||
use App\Http\Controllers\Auth\ResetPasswordController;
|
use App\Http\Controllers\Auth\ResetPasswordController;
|
||||||
use App\Http\Controllers\LocaleController;
|
use App\Http\Controllers\LocaleController;
|
||||||
use App\Http\Controllers\OnlinePaymentController;
|
use App\Http\Controllers\OnlinePaymentController;
|
||||||
|
use App\Http\Middleware\CheckPasswordMustBeChanged;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -36,6 +37,10 @@ Route::middleware(['auth', 'unVerified'])->group(function () {
|
|||||||
Route::post('sms-verification', [RegisterController::class, 'verifySmsCode']);
|
Route::post('sms-verification', [RegisterController::class, 'verifySmsCode']);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Route::middleware(['auth', CheckPasswordMustBeChanged::class])->group(function () {
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
Route::get('online-payment-store', [OnlinePaymentController::class, 'store'])
|
Route::get('online-payment-store', [OnlinePaymentController::class, 'store'])
|
||||||
->name('online-payment-store');
|
->name('online-payment-store');
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user