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\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';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
<?php
|
||||
|
||||
use App\Http\Middleware\CheckPasswordMustBeChanged;
|
||||
use App\Http\Middleware\CheckPhoneVerification;
|
||||
use App\Http\Middleware\SetLocale;
|
||||
use Laravel\Nova\Actions\ActionResource;
|
||||
@@ -107,6 +108,7 @@ return [
|
||||
DispatchServingNovaEvent::class,
|
||||
BootTools::class,
|
||||
CheckPhoneVerification::class,
|
||||
CheckPasswordMustBeChanged::class,
|
||||
],
|
||||
|
||||
'api_middleware' => [
|
||||
|
||||
@@ -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');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user