Improve tasks UI, dark theme, performance fixes, and admin pages polish
This commit is contained in:
@@ -26,14 +26,14 @@ class AttendanceController extends Controller
|
||||
public function index()
|
||||
{
|
||||
if (isset($_COOKIE['user_identity'])) {
|
||||
$username = $_COOKIE['user_identity'];
|
||||
$attendanceSince = Carbon::now()->subMonths(12)->startOfMonth()->format('Y-m-d 00:00:00');
|
||||
|
||||
|
||||
$Attendance = isset($_COOKIE['user_identity'])
|
||||
? ($_COOKIE['user_identity'] == 1370
|
||||
? Attendance::all()
|
||||
: Attendance::where('user_identity', $_COOKIE['user_identity'])->get())
|
||||
: collect();
|
||||
|
||||
$Attendance = $username == 1370
|
||||
? Attendance::where('entered_at', '>=', $attendanceSince)->get()
|
||||
: Attendance::where('user_identity', $username)
|
||||
->where('entered_at', '>=', $attendanceSince)
|
||||
->get();
|
||||
|
||||
$jalalian_object = Jalalian::now();
|
||||
|
||||
@@ -48,23 +48,27 @@ class AttendanceController extends Controller
|
||||
->orderByDesc('id')
|
||||
->first()
|
||||
?? ai::where('key', 'angizeh')->orderByDesc('id')->first();
|
||||
$ids = array_merge($ids, [$s->id]);
|
||||
Cookie::queue('seen_angizeh_ids', json_encode($ids), 14400);
|
||||
if ($s) {
|
||||
$ids = array_merge($ids, [$s->id]);
|
||||
Cookie::queue('seen_angizeh_ids', json_encode($ids), 14400);
|
||||
}
|
||||
|
||||
|
||||
//total time
|
||||
$now = Jalalian::fromCarbon(Carbon::now());
|
||||
$tsec = 0;
|
||||
//dd(->user_profile);
|
||||
if (isset($_COOKIE['token01'])) {
|
||||
$a = json_decode($_COOKIE['token01']);
|
||||
$user = User::where('user_name', $a->user_profile)->with('attendances')->first();
|
||||
$user = User::where('user_name', $a->user_profile)
|
||||
->with(['attendances' => fn($q) => $q->where('entered_at', '>=', $attendanceSince)])
|
||||
->first();
|
||||
|
||||
} else {
|
||||
$user = isset($_COOKIE['user_identity']) ? User::where('user_name', $_COOKIE['user_identity'])->with('attendances')->first() : null;
|
||||
$user = User::where('user_name', $username)
|
||||
->with(['attendances' => fn($q) => $q->where('entered_at', '>=', $attendanceSince)])
|
||||
->first();
|
||||
}
|
||||
//dd($user);
|
||||
if (!empty($user->attendances)) {
|
||||
if ($user && !empty($user->attendances)) {
|
||||
foreach ($user->attendances as $att) {
|
||||
$date = $att->entered_at != null ? Jalalian::fromCarbon(Carbon::parse($att->entered_at)) : null;
|
||||
$att->date = $date != null ? $date->format('Y/m/d') : null;
|
||||
@@ -83,33 +87,41 @@ class AttendanceController extends Controller
|
||||
$formaction = (isset($_COOKIE['ad']) && $_COOKIE['ad'] == 1)
|
||||
? 'admin/'
|
||||
: 'attendance/';
|
||||
$now = Carbon::now()->format('Y-m-d 00:00:00');
|
||||
$existed = $Attendance->whereNull('exited_at')->where('entered_at', '>=', now()->format('Y-m-d 00:00:00'))->where('entered_at', '<=', now()->format('Y-m-d 23:59:59'))->first();
|
||||
|
||||
$user = User::where('user_name', $_COOKIE['user_identity'])->first();
|
||||
$until_now = null;
|
||||
if ($user->break == 1) {
|
||||
$att = Attendance::whereNull('exited_at')->latest('entered_at')->first();
|
||||
$break = AttendanceBreak::where('attendance_id', $att->id)
|
||||
->whereNull('break_end')
|
||||
->latest('break_start')
|
||||
$duration = null;
|
||||
if ($user && $user->break == 1) {
|
||||
$att = Attendance::where('user_identity', $user->user_name)
|
||||
->whereNull('exited_at')
|
||||
->latest('entered_at')
|
||||
->first();
|
||||
if ($break)
|
||||
$break = $att
|
||||
? AttendanceBreak::where('attendance_id', $att->id)
|
||||
->whereNull('break_end')
|
||||
->latest('break_start')
|
||||
->first()
|
||||
: null;
|
||||
if ($break) {
|
||||
$until_now = (int)Carbon::parse($break->break_start)->diffInSeconds(now(), false);
|
||||
// $until_now = Carbon::now()->diffInSeconds(Carbon::parse($break->break_start));
|
||||
|
||||
$duration = $att->duration($break->break_start, now()->format('Y-m-d H:i:s'));
|
||||
}
|
||||
}
|
||||
$user->tasks = Tasks::where('created_by', $user->id)
|
||||
->orWhereJsonContains('assignees', (string)$user->id)
|
||||
->orderBy('target_date', 'desc')
|
||||
->get();
|
||||
//dd($user->tasks);
|
||||
// dd($until_now);
|
||||
|
||||
if ($user) {
|
||||
$user->tasks = Tasks::where('created_by', $user->id)
|
||||
->orWhereJsonContains('assignees', (string)$user->id)
|
||||
->orderBy('target_date', 'desc')
|
||||
->limit(50)
|
||||
->get();
|
||||
}
|
||||
|
||||
return view('attendance.index', compact('user'))->with([
|
||||
's' => $s,
|
||||
'existed' => $existed,
|
||||
'formaction' => $formaction,
|
||||
'breakDu' => $until_now ?? null,
|
||||
'duration' => $duration,
|
||||
]);
|
||||
} else {
|
||||
foreach (request()->cookies as $name => $value) {
|
||||
|
||||
Reference in New Issue
Block a user