UPDATE 1405-01-29

This commit is contained in:
moTech
2026-04-18 06:17:01 +00:00
parent 107fe6f4d3
commit 4b2e1e296a
5 changed files with 62 additions and 50 deletions
+25 -14
View File
@@ -34,9 +34,9 @@ class AdminController extends Controller
$u = User::select('name', 'is_admin')
->where('user_name', $uname)
->first();
if ($u->is_admin == 1){
if ($u->is_admin == 1) {
$provider = 'admin';
}elseif ($u->is_admin == 2){
} elseif ($u->is_admin == 2) {
$provider = 'supervisor';
}
if ($u->is_admin == '1' || $u->is_admin == '2') {
@@ -143,15 +143,15 @@ class AdminController extends Controller
$nendt = $request->endtime;
// dd($request);
$user = User::where('user_name', $_COOKIE['user_identity'])->first();
if ($user->is_admin == 2){
if ($user->is_admin == 2) {
$attController = new AttendanceController();
return $attController->edit($request);
}
if ($id == 'new') {
$user_name = $request->uname;
if($request->display_date == null){
if ($request->display_date == null) {
$date = Carbon::now()->format('Y-m-d');
}else{
} else {
// dump($date);
$date = \Morilog\Jalali\CalendarUtils::convertNumbers($request->display_date, true);
$date = str_replace('/', '-', $date);
@@ -279,12 +279,21 @@ class AdminController extends Controller
// }
$record->exited_at = $date . ' ' . $data->newexit;
$record->duration = $attendance->duration($data->newenter, $data->newexit);
$duration = $attendance->duration($data->newenter, $data->newexit);
} else {
$record->exited_at = null;
$record->duration = null;
}
$break = AttendanceBreak::where('attendance_id', $data->id)->sum('duration');
if ($break) {
$breakSec = strtotime("1970-01-01 " . $break) - strtotime("1970-01-01 00:00:00");
$durationSec = strtotime("1970-01-01 " . $duration) - strtotime("1970-01-01 00:00:00");
$durationSec -= $breakSec;
$record->duration = gmdate("H:i:s", $durationSec);
}
//dd($record->duration, $duration, $break);
$record->requested = '';
$record->save();
// $create_requests_key = "att-tempreq:creates:{$data->userid}";
@@ -292,12 +301,13 @@ class AdminController extends Controller
// $t = Redis::connection()->lrem($create_requests_key, -1, json_encode($data));
Redis::connection()->del("att-tempreq:{$data->userid}:{$data->id}");
tel_notif($record->user_identity, "تایید");
return json_encode($data);
// return redirect()->back()->with('message', [
// 'color' => '#6aff00ff',
// "text" => 'رکورد با موفقیت ذخیره شد.✔️'
// ]);
return redirect()->back()->with('message', [
'color' => '#6aff00ff',
"text" => 'رکورد با موفقیت ذخیره شد.✔️'
]);
} elseif ($data->function == 'new') {
// dd($data);
$starttime = $data->oldenter ? Carbon::parse($data->oldenter)->format('H:i:s') : null;
@@ -324,9 +334,9 @@ class AdminController extends Controller
}
if ($request->update == 'reject') {
if($data->function == 'delete' || $data->function == 'edit'){
if ($data->function == 'delete' || $data->function == 'edit') {
Redis::connection()->del("att-tempreq:{$data->userid}:{$data->id}");
}elseif($data->function == 'new'){
} elseif ($data->function == 'new') {
$create_requests_key = "att-tempreq:creates:{$data->userid}";
Redis::connection()->lrem($create_requests_key, 1, json_encode($data));
}
@@ -347,7 +357,8 @@ class AdminController extends Controller
}
private function fa2en_numbers($input) {
private function fa2en_numbers($input)
{
if (is_string($input)) {
$fa_numbers = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
$en_numbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
@@ -219,9 +219,10 @@ class AttendanceController extends Controller
if (!empty($user)) {
setcookie('user_identity', $user->user_name ?? $user->id, time() + (60 * 60 * 24 * 365 * 5), "/");
$admin = $user->is_admin == 1 ? true : false;
if ($admin) {
if ($user->is_admin == 1) {
setcookie('ad', '1', time() + (60 * 60 * 24 * 365 * 5), "/");
}elseif ($user->is_admin == 2){
setcookie('ad', '2', time() + (60 * 60 * 24 * 365 * 5), "/");
}
return redirect(url(''))->with([
@@ -229,7 +230,7 @@ class AttendanceController extends Controller
'color' => '#00c300ff',
'text' => 'ورود موفق'
],
'admin' => $admin,
'admin' => $user->is_admin,
]);
}
@@ -687,7 +688,7 @@ function send_tel($user, $data, $status)
$message = "{$user} درخواست {$data} ثبت کرد.";
}
$admins = User::where('is_admin', '1')->whereNotNull('chatid')->select('chatid', 'bale', 'user_name')->get();
$admins = User::whereIn('is_admin', [1,2])->whereNotNull('chatid')->select('chatid', 'bale', 'user_name')->get();
if ($_COOKIE['user_identity'] !== 'test') {
foreach ($admins as $admin) {
if (!$admin->bale) {continue;}
+1 -1
View File
@@ -81,7 +81,7 @@ class User extends Authenticatable
return $this->hasManyThrough(AttendanceBreak::class,Attendance::class,'user_identity','attendance_id',
'user_name', // local key در users
'id' // local key در attendances
)->orderBy('entered_at', 'desc');
)->orderBy('id', 'desc');
}
+2 -2
View File
@@ -385,12 +385,12 @@
<button type="button" onclick="submitForm('/', 'GET')">
<i class="fa-solid fa-house text-white"></i>
</button>
@if(!request()->is("admin") && (isset($_COOKIE['ad']) && $_COOKIE['ad']==1))
@if(!request()->is("admin") && (isset($_COOKIE['ad']) && $_COOKIE['ad']!=null))
<button type="button" onclick="submitForm('{{route('admin.dashboard')}}', 'GET')">
<i class="fa-solid fa-users text-white"></i>
</button>
@elseif(request()->is("admin") && (isset($_COOKIE['ad']) && $_COOKIE['ad']==1))
@elseif(request()->is("admin") && (isset($_COOKIE['ad']) && $_COOKIE['ad']!=null))
<button type="button" onclick="submitForm('/', 'GET')">
<i class="fa-solid fa-users text-white"></i>
</button>
+29 -29
View File
@@ -8,35 +8,35 @@ use Carbon\Carbon;
use Illuminate\Support\Collection;
//if (!empty($user->tasks)) {
// $in_progress = '#fca000';
// $todo = '#7d7d7d';
// $error = '#fc0000';
// $backlog = '#bababa';
// $done = '#40de02';
// $cancelled = 'black';
//
// $state = [
// "c73c2044-ea14-42cb-b08d-cecf3d1fdfb5" => "$in_progress",// in progress
// "a9ce312f-cfca-491e-8e3d-1975aa6ebc10" => "$todo",//to do
// "dea1fb57-a281-4fe7-8f3e-ee5567637e35" => "$error",// error
// "770fbe42-99f6-41db-9b9e-773d9cced1a5" => "$backlog",//backlog
// "b0e464e1-34eb-41ea-b2f7-3ef7483bc9f0" => "$done",//done
// "d61d14a3-72f7-4f44-894b-efe8b2a75be1" => "$cancelled",//canceled
// ];
// $state_order = [
// "c73c2044-ea14-42cb-b08d-cecf3d1fdfb5",
// "a9ce312f-cfca-491e-8e3d-1975aa6ebc10",
// "dea1fb57-a281-4fe7-8f3e-ee5567637e35",
// "770fbe42-99f6-41db-9b9e-773d9cced1a5",
// "b0e464e1-34eb-41ea-b2f7-3ef7483bc9f0",
// "d61d14a3-72f7-4f44-894b-efe8b2a75be1",
// ];
//
// $user->tasks = $user->tasks->sortBy(function ($task) use ($state_order) {
// return array_search($task->state, $state_order);
// });
//}
if (!empty($user->tasks)) {
$in_progress = '#fca000';
$todo = '#7d7d7d';
$error = '#fc0000';
$backlog = '#bababa';
$done = '#40de02';
$cancelled = 'black';
$state = [
"c73c2044-ea14-42cb-b08d-cecf3d1fdfb5" => "$in_progress",// in progress
"a9ce312f-cfca-491e-8e3d-1975aa6ebc10" => "$todo",//to do
"dea1fb57-a281-4fe7-8f3e-ee5567637e35" => "$error",// error
"770fbe42-99f6-41db-9b9e-773d9cced1a5" => "$backlog",//backlog
"b0e464e1-34eb-41ea-b2f7-3ef7483bc9f0" => "$done",//done
"d61d14a3-72f7-4f44-894b-efe8b2a75be1" => "$cancelled",//canceled
];
$state_order = [
"c73c2044-ea14-42cb-b08d-cecf3d1fdfb5",
"a9ce312f-cfca-491e-8e3d-1975aa6ebc10",
"dea1fb57-a281-4fe7-8f3e-ee5567637e35",
"770fbe42-99f6-41db-9b9e-773d9cced1a5",
"b0e464e1-34eb-41ea-b2f7-3ef7483bc9f0",
"d61d14a3-72f7-4f44-894b-efe8b2a75be1",
];
$user->tasks = $user->tasks->sortBy(function ($task) use ($state_order) {
return array_search($task->state, $state_order);
});
}
//dd(count($break = $user->attendanceBreaks));
if (count($user->attendanceBreaks) > 0){
$break = $user->attendanceBreaks[0];