Commit d63df4a2 authored by Mahmoud Aglan's avatar Mahmoud Aglan

total overdose

parent e0231db7
......@@ -379,6 +379,25 @@ class FacilityController extends Controller
$errors[] = 'يجب اختيار يوم واحد على الأقل';
}
if (empty($errors) && !empty($daysOfWeek) && $startTime !== '' && $endTime !== '') {
$db = App::getInstance()->db();
$existing = $db->select(
"SELECT id, name_ar, start_time, end_time, days_of_week_json
FROM sa_time_brackets
WHERE facility_id = ? AND is_active = 1",
[(int) $fid]
);
$newDays = array_map('intval', (array) $daysOfWeek);
foreach ($existing as $bracket) {
$existingDays = json_decode($bracket['days_of_week_json'], true) ?: [];
$sharedDays = array_intersect($newDays, $existingDays);
if (!empty($sharedDays) && $startTime < $bracket['end_time'] && $endTime > $bracket['start_time']) {
$errors[] = "تتعارض هذه الفترة مع فترة \"{$bracket['name_ar']}\" في نفس الأيام والأوقات";
break;
}
}
}
if (!empty($errors)) {
$session = App::getInstance()->session();
$session->flash('_old_input', $_POST);
......
......@@ -200,7 +200,7 @@ class LockerRentalController extends Controller
$db = App::getInstance()->db();
$rental = $db->selectOne(
"SELECT lr.*, p.full_name_ar as player_name, p.code as player_code,
"SELECT lr.*, p.full_name_ar as player_name, p.registration_serial as player_code,
l.code as locker_code, l.name_ar as locker_name, l.locker_type,
e.full_name_ar as eviction_by_name
FROM sa_locker_rentals lr
......
......@@ -254,7 +254,7 @@ class PlayerController extends Controller
);
$enrolledGroups = $db->select(
"SELECT gp.status as enrollment_status, gp.joined_at,
"SELECT gp.status as enrollment_status, gp.enrolled_at as joined_at,
g.id as group_id, g.name_ar as group_name, g.code as group_code,
p.name_ar as program_name, c.full_name_ar as coach_name
FROM sa_group_players gp
......@@ -262,7 +262,7 @@ class PlayerController extends Controller
LEFT JOIN sa_programs p ON p.id = g.program_id
LEFT JOIN sa_coaches c ON c.id = g.coach_id
WHERE gp.player_id = ? AND gp.status IN ('active', 'pending_payment')
ORDER BY gp.joined_at DESC",
ORDER BY gp.enrolled_at DESC",
[(int) $id]
);
......@@ -272,17 +272,17 @@ class PlayerController extends Controller
FROM sa_bookings b
INNER JOIN sa_facility_units fu ON fu.id = b.facility_unit_id
INNER JOIN sa_facilities f ON f.id = fu.facility_id
WHERE b.player_id = ?
WHERE b.booker_id = ? AND b.booker_type = 'player'
ORDER BY b.booking_date DESC, b.start_time DESC
LIMIT 20",
[(int) $id]
);
$gateHistory = $db->select(
"SELECT ga.scan_time, ga.access_granted, ga.gate_name, ga.denial_reason
"SELECT ga.recorded_at as scan_time, ga.granted as access_granted, ga.access_point as gate_name, ga.denial_reason
FROM sa_gate_access_log ga
WHERE ga.player_id = ?
ORDER BY ga.scan_time DESC
ORDER BY ga.recorded_at DESC
LIMIT 20",
[(int) $id]
);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment