добавляю все изменения проекта на текущий момент
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Taxi\App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
/**
|
||||
* Блокировщик работы с заявками на такси в случае слишком ранееЙ, слишком поздней работы с ресурсом
|
||||
*
|
||||
* Решил блочить рабоут приложения в части работы с заявками в очень ранее или очень позднее время. Это связано с нежеланием валидировать при создании или редактировании заявки передаваемый временной промежуток. Например, если текущее время 22:15, а заявка созается на 22:00.
|
||||
*/
|
||||
class CheckTimeRqstAvailability
|
||||
{
|
||||
public function handle(Request $request, Closure $next)
|
||||
{
|
||||
#Гаврилов
|
||||
//ПОМЕНЯЙ НА 21 НА РЕЛИЗЕ
|
||||
$maxRqstTime = 23;
|
||||
$minRqstTime = 7;
|
||||
$timezone = new \DateTimeZone('Europe/Moscow');
|
||||
$timeNow = (new \DateTime())->setTimezone($timezone);
|
||||
$timeMax = (new \DateTime())->setTimezone($timezone);
|
||||
$timeMin = (new \DateTime())->setTimezone($timezone);
|
||||
$timeMax->setTime($maxRqstTime, 00, 00);
|
||||
$timeMin->setTime($minRqstTime, 00, 00);
|
||||
|
||||
#Гаврилов
|
||||
//ПОМЕНЯЙ
|
||||
if (!($timeNow > $timeMin && $timeNow < $timeMax)) {
|
||||
//if (!($timeNow > $timeMin && $timeNow > $timeMax)) {
|
||||
$errMsg = "Работа с заявками на такси заблокирована с $maxRqstTime:00 по 0$minRqstTime:00";
|
||||
#Гаврилов
|
||||
//ПОДУМАТЬ КАКОЙ КОД ЛУЧШЕ ВЕРНУТЬ
|
||||
//Метод expectsJson позволяет определить вызывается ли api роут через ajax/fetch, либо web route.
|
||||
if ($request->expectsJson()) {
|
||||
return response()->json([
|
||||
'errorMsg' => $errMsg
|
||||
], 400);
|
||||
} else {
|
||||
#Гаврилов
|
||||
//ПРОВЕРЬ КОГДА РЕАЛИЗУЕШЬ ОПОВЕЩЕНИЯ
|
||||
return redirect('/taxi/home')->with([
|
||||
'notification' => $errMsg,
|
||||
'notification_err' => true
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
return $next($request);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user