Root Zanli
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
home
/
o5t6x7pgljbm
/
public_html
/
admin_new2
/
app
/
V2
/
Resources
/
Filename :
AttendanceResource.php
back
Copy
<?php namespace App\V2\Resources; use App\Libraries\Helpers; use Carbon\Carbon; /** * Transforms Claim data for API responses */ class AttendanceResource extends BaseResource { public function fromAttendancesToArray($attendances, $should_paginate = false, $load_full_details = false) { // $attendances_arr_paginated = $attendances->toArray(); $attendances_arr_paginated = []; $attendances_arr = []; foreach($attendances AS $attendance){ $attendances_arr[] = $this->fromAttendanceToArray($attendance, $load_full_details); } $attendances_arr_paginated['data'] = $attendances_arr; if($should_paginate) return $attendances_arr_paginated; else return $attendances_arr; } public function fromAttendanceToArray($attendance, $load_full_details = false) { $attendance_arr = []; $attendance_arr['user_id'] = $attendance->user_id; $attendance_arr['group_id'] = $attendance->group_id; $attendance_arr['date'] = $attendance->date; $attendance_arr['day_of_month'] = Carbon::createFromFormat('Y-m-d', $attendance->date)->format('d'); $attendance_arr['day_name_short'] = Carbon::createFromFormat('Y-m-d', $attendance->date)->format('D'); $attendance_arr['present'] = $attendance->present ? true : false; $attendance_arr['holiday'] = $attendance->holiday ? true : false; $attendance_arr['status'] = $this->getAttendanceStatus($attendance); if($load_full_details){ $attendance_details = []; $attendance_arr['attendance_details'] = $attendance_details; } return $attendance_arr; } private function getAttendanceStatus($attendance){ if($attendance->present) return 'present'; if($attendance->holiday) return 'holiday'; if(!$attendance->present && !Carbon::createFromFormat('Y-m-d', $attendance->date)->isToday()) return 'absent'; return 'not_marked'; } } ?>