locale + exam assign and checkout cronjob

This commit is contained in:
xiaomlove
2021-04-28 19:44:48 +08:00
parent 034d1c23fb
commit 1c31f4b22d
34 changed files with 1278 additions and 90 deletions
+1
View File
@@ -63,5 +63,6 @@ class Kernel extends HttpKernel
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'permission' => \App\Http\Middleware\Permission::class,
'locale' => \App\Http\Middleware\Locale::class,
];
}
+32
View File
@@ -0,0 +1,32 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\App;
class Locale
{
public static $languageMaps = [
'en' => 'en',
'chs' => 'zh_CN',
'cht' => 'zh_TW',
];
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle(Request $request, Closure $next)
{
$language = $request->user()->language;
$locale = self::$languageMaps[$language->site_lang_folder] ?? 'en';
do_log("set locale: " . $locale);
App::setLocale($locale);
return $next($request);
}
}
+1 -1
View File
@@ -25,7 +25,7 @@ class Permission
do_log("$log, denied!");
throw new UnauthorizedException('Unauthorized!');
}
do_log("$log, pass!");
do_log("$log, allow!");
return $next($request);
}
}
+3 -3
View File
@@ -23,11 +23,11 @@ class ExamUserResource extends JsonResource
'id' => $this->id,
'status' => $this->status,
'status_text' => $this->statusText,
'created_at' => formatDatetime($this->created_at),
'created_at' => format_datetime($this->created_at),
'progress' => $this->when($this->progress, $this->progress),
'progress_formatted' => $this->when($this->progress_formatted, $this->progress_formatted),
'begin' => formatDatetime($this->begin),
'end' => formatDatetime($this->end),
'begin' => format_datetime($this->begin),
'end' => format_datetime($this->end),
'uid' => $this->uid,
'exam_id' => $this->exam_id,
'user' => new UserResource($this->whenLoaded('user')),
+1 -1
View File
@@ -19,7 +19,7 @@ class UserResource extends JsonResource
'email' => $this->email,
'username' => $this->username,
'status' => $this->status,
'added' => formatDatetime($this->added),
'added' => format_datetime($this->added),
'class' => $this->class,
'class_text' => $this->class_text,
'avatar' => $this->avatar,