@@ -39,22 +39,22 @@ discard block |
||
39 | 39 | /** attributes */ |
40 | 40 | public function getFirstnameAttribute(): ?string |
41 | 41 | { |
42 | - return $this?->user?->firstname; |
|
42 | + return $this ? ->user ? ->firstname; |
|
43 | 43 | } |
44 | 44 | |
45 | 45 | public function getLastnameAttribute(): ?string |
46 | 46 | { |
47 | - return $this?->user?->lastname; |
|
47 | + return $this ? ->user ? ->lastname; |
|
48 | 48 | } |
49 | 49 | |
50 | 50 | public function getEmailAttribute(): ?string |
51 | 51 | { |
52 | - return $this?->user?->email; |
|
52 | + return $this ? ->user ? ->email; |
|
53 | 53 | } |
54 | 54 | |
55 | 55 | public function getNameAttribute(): ?string |
56 | 56 | { |
57 | - return $this?->user?->firstname.' '.$this?->user?->lastname; |
|
57 | + return $this ? ->user ? ->firstname.' '.$this ? ->user ? ->lastname; |
|
58 | 58 | } |
59 | 59 | |
60 | 60 | public function period_courses(Period $period) |
@@ -178,14 +178,14 @@ discard block |
||
178 | 178 | $eventsWithMissingAttendance = []; |
179 | 179 | |
180 | 180 | $eventsWithExpectedAttendance = $this->events() |
181 | - ->where(function ($query) { |
|
181 | + ->where(function($query) { |
|
182 | 182 | $query->where('exempt_attendance', '!=', true); |
183 | 183 | $query->where('exempt_attendance', '!=', 1); |
184 | 184 | $query->orWhereNull('exempt_attendance'); |
185 | 185 | }) |
186 | 186 | ->where('course_id', '!=', null) |
187 | - ->whereHas('course', fn (Builder $query) => $query->where('period_id', $period->id) |
|
188 | - ->where(function ($query) { |
|
187 | + ->whereHas('course', fn(Builder $query) => $query->where('period_id', $period->id) |
|
188 | + ->where(function($query) { |
|
189 | 189 | $query->where('exempt_attendance', '!=', true); |
190 | 190 | $query->where('exempt_attendance', '!=', 1); |
191 | 191 | $query->orWhereNull('exempt_attendance'); |
@@ -31,7 +31,7 @@ discard block |
||
31 | 31 | |
32 | 32 | public function scopeStatus(Builder $query, $status) |
33 | 33 | { |
34 | - return match ($status) { |
|
34 | + return match($status) { |
|
35 | 35 | '2' => $query->where('status', 2), |
36 | 36 | '1' => $query->where('status', 1), |
37 | 37 | default => $query, |
@@ -67,7 +67,7 @@ discard block |
||
67 | 67 | |
68 | 68 | public function invoices() |
69 | 69 | { |
70 | - return $this->invoiceDetails->map(fn (InvoiceDetail $invoiceDetail) => $invoiceDetail->invoice)->filter(); |
|
70 | + return $this->invoiceDetails->map(fn(InvoiceDetail $invoiceDetail) => $invoiceDetail->invoice)->filter(); |
|
71 | 71 | } |
72 | 72 | /* |
73 | 73 | |-------------------------------------------------------------------------- |
@@ -123,7 +123,7 @@ discard block |
||
123 | 123 | |
124 | 124 | public function getStatusTypeNameAttribute() |
125 | 125 | { |
126 | - return match ($this->status) { |
|
126 | + return match($this->status) { |
|
127 | 127 | 2 => __('Paid'), |
128 | 128 | 1 => __('Pending'), |
129 | 129 | default => '-', |
@@ -60,11 +60,11 @@ discard block |
||
60 | 60 | public function scopeWithoutChildren($query) |
61 | 61 | { |
62 | 62 | return $query |
63 | - ->where(function ($query) { |
|
63 | + ->where(function($query) { |
|
64 | 64 | $query->whereDoesntHave('childrenEnrollments') |
65 | 65 | ->where('parent_id', null); |
66 | 66 | }) |
67 | - ->orWhere(function ($query) { |
|
67 | + ->orWhere(function($query) { |
|
68 | 68 | $query->where('parent_id', null); |
69 | 69 | }) |
70 | 70 | ->get(); |
@@ -86,7 +86,7 @@ discard block |
||
86 | 86 | |
87 | 87 | public function scopePeriod(Builder $query, int $periodId) |
88 | 88 | { |
89 | - return $query->whereHas('course', function ($q) use ($periodId) { |
|
89 | + return $query->whereHas('course', function($q) use ($periodId) { |
|
90 | 90 | $q->where('period_id', $periodId); |
91 | 91 | }); |
92 | 92 | } |
@@ -174,13 +174,13 @@ discard block |
||
174 | 174 | |
175 | 175 | public function invoices() |
176 | 176 | { |
177 | - return $this->invoiceDetails->map(fn (InvoiceDetail $invoiceDetail) => $invoiceDetail->invoice)->filter(); |
|
177 | + return $this->invoiceDetails->map(fn(InvoiceDetail $invoiceDetail) => $invoiceDetail->invoice)->filter(); |
|
178 | 178 | } |
179 | 179 | |
180 | 180 | // also includes invoices for this enrollment's scheduled payments. |
181 | 181 | public function relatedInvoices() |
182 | 182 | { |
183 | - $scheduledPaymentsInvoices = $this->scheduledPayments->map(fn (ScheduledPayment $scheduledPayment) => $scheduledPayment->invoices()); |
|
183 | + $scheduledPaymentsInvoices = $this->scheduledPayments->map(fn(ScheduledPayment $scheduledPayment) => $scheduledPayment->invoices()); |
|
184 | 184 | |
185 | 185 | return $this->invoices()->concat($scheduledPaymentsInvoices)->flatten(1); |
186 | 186 | } |
@@ -336,7 +336,7 @@ discard block |
||
336 | 336 | } |
337 | 337 | |
338 | 338 | // if enabled, retrieve the default price category for the student |
339 | - if (config('invoicing.price_categories_enabled') && $this->student?->price_category) { |
|
339 | + if (config('invoicing.price_categories_enabled') && $this->student ? ->price_category) { |
|
340 | 340 | $price_category = $this->student->price_category; |
341 | 341 | |
342 | 342 | return $this->course->$price_category ?? 0; |
@@ -366,11 +366,11 @@ discard block |
||
366 | 366 | |
367 | 367 | // delete attendance records related to the enrollment |
368 | 368 | $attendances = $this->course->attendance->where('student_id', $this->student->id); |
369 | - Attendance::destroy($attendances->map(fn ($item, $key) => $item->id)); |
|
369 | + Attendance::destroy($attendances->map(fn($item, $key) => $item->id)); |
|
370 | 370 | |
371 | 371 | foreach ($this->course->children as $child) { |
372 | 372 | $attendances = $child->attendance->where('student_id', $this->student->id); |
373 | - Attendance::destroy($attendances->map(fn ($item, $key) => $item->id)); |
|
373 | + Attendance::destroy($attendances->map(fn($item, $key) => $item->id)); |
|
374 | 374 | } |
375 | 375 | |
376 | 376 | $this->delete(); |
@@ -401,7 +401,7 @@ discard block |
||
401 | 401 | } |
402 | 402 | |
403 | 403 | // if one book is expired |
404 | - if ($this->student && $this->student->books->where('id', $book->id)->filter(fn ($book) => $book->pivot->expiry_date == null || $book->pivot->expiry_date > Carbon::now())->count() == 0) { |
|
404 | + if ($this->student && $this->student->books->where('id', $book->id)->filter(fn($book) => $book->pivot->expiry_date == null || $book->pivot->expiry_date > Carbon::now())->count() == 0) { |
|
405 | 405 | return 'EXP'; |
406 | 406 | } |
407 | 407 | } |
@@ -412,7 +412,7 @@ discard block |
||
412 | 412 | |
413 | 413 | public function getBalanceAttribute() |
414 | 414 | { |
415 | - if (! config('invoicing.invoices_contain_enrollments_only')) { |
|
415 | + if (!config('invoicing.invoices_contain_enrollments_only')) { |
|
416 | 416 | abort(422, 'Configuration options forbid to access this value'); |
417 | 417 | } |
418 | 418 |
@@ -45,8 +45,8 @@ discard block |
||
45 | 45 | |
46 | 46 | public function scopeEnrolled($query) |
47 | 47 | { |
48 | - return $query->whereHas('enrollments', function ($q) { |
|
49 | - return $q->whereHas('course', function ($q) { |
|
48 | + return $query->whereHas('enrollments', function($q) { |
|
49 | + return $q->whereHas('course', function($q) { |
|
50 | 50 | return $q->where('period_id', Period::get_default_period()->id); |
51 | 51 | }); |
52 | 52 | }); |
@@ -54,8 +54,8 @@ discard block |
||
54 | 54 | |
55 | 55 | public function scopeComputedLeadType($query, $leadTypeId) |
56 | 56 | { |
57 | - return match ($leadTypeId) { |
|
58 | - 1 => $query->whereHas('enrollments', fn ($query) => $query->whereHas('course', function ($q) { |
|
57 | + return match($leadTypeId) { |
|
58 | + 1 => $query->whereHas('enrollments', fn($query) => $query->whereHas('course', function($q) { |
|
59 | 59 | $q->where('period_id', Period::get_default_period()->id); |
60 | 60 | })), |
61 | 61 | |
@@ -64,15 +64,15 @@ discard block |
||
64 | 64 | 4 => $query |
65 | 65 | ->where('lead_type_id', $leadTypeId) |
66 | 66 | ->orWhere( |
67 | - function ($query) { |
|
67 | + function($query) { |
|
68 | 68 | $query |
69 | 69 | ->whereNull('lead_type_id') |
70 | - ->whereHas('enrollments', fn ($query) => $query |
|
71 | - ->whereHas('course', function ($q) { |
|
70 | + ->whereHas('enrollments', fn($query) => $query |
|
71 | + ->whereHas('course', function($q) { |
|
72 | 72 | $q->where('period_id', '!=', Period::get_default_period()->id); |
73 | 73 | })) |
74 | - ->whereDoesntHave('enrollments', fn ($query) => $query |
|
75 | - ->whereHas('course', function ($q) { |
|
74 | + ->whereDoesntHave('enrollments', fn($query) => $query |
|
75 | + ->whereHas('course', function($q) { |
|
76 | 76 | $q->where('period_id', Period::get_default_period()->id); |
77 | 77 | })); |
78 | 78 | } |
@@ -113,7 +113,7 @@ discard block |
||
113 | 113 | |
114 | 114 | return $this->hasMany(Attendance::class) |
115 | 115 | ->where('attendance_type_id', 4) // absence |
116 | - ->whereHas('event', fn ($q) => $q->whereHas('course', fn ($c) => $c->where('period_id', $period->id))); |
|
116 | + ->whereHas('event', fn($q) => $q->whereHas('course', fn($c) => $c->where('period_id', $period->id))); |
|
117 | 117 | } |
118 | 118 | |
119 | 119 | public function periodAttendance(Period $period = null) |
@@ -123,7 +123,7 @@ discard block |
||
123 | 123 | } |
124 | 124 | |
125 | 125 | return $this->hasMany(Attendance::class) |
126 | - ->whereHas('event', fn ($q) => $q->whereHas('course', fn ($c) => $c->where('period_id', $period->id))); |
|
126 | + ->whereHas('event', fn($q) => $q->whereHas('course', fn($c) => $c->where('period_id', $period->id))); |
|
127 | 127 | } |
128 | 128 | |
129 | 129 | public function contacts() |
@@ -184,7 +184,7 @@ discard block |
||
184 | 184 | |
185 | 185 | public function getEmailAttribute(): ?string |
186 | 186 | { |
187 | - return $this?->user?->email; |
|
187 | + return $this ? ->user ? ->email; |
|
188 | 188 | } |
189 | 189 | |
190 | 190 | public function getNameAttribute(): string |
@@ -205,7 +205,7 @@ discard block |
||
205 | 205 | public function getIsEnrolledAttribute() |
206 | 206 | { |
207 | 207 | // if the student is currently enrolled |
208 | - if ($this->enrollments()->whereHas('course', fn ($q) => $q->where('period_id', Period::get_default_period()->id))->count() > 0) { |
|
208 | + if ($this->enrollments()->whereHas('course', fn($q) => $q->where('period_id', Period::get_default_period()->id))->count() > 0) { |
|
209 | 209 | return 1; |
210 | 210 | } |
211 | 211 | |
@@ -304,7 +304,7 @@ discard block |
||
304 | 304 | |
305 | 305 | public function getImageAttribute(): ?string |
306 | 306 | { |
307 | - return $this->getMedia('profile-picture')->last()?->getUrl('thumb'); |
|
307 | + return $this->getMedia('profile-picture')->last() ? ->getUrl('thumb'); |
|
308 | 308 | } |
309 | 309 | |
310 | 310 | public function setImageAttribute($value) |
@@ -349,8 +349,8 @@ discard block |
||
349 | 349 | |
350 | 350 | public function handle() |
351 | 351 | { |
352 | - Student::whereNull('gender_id')->chunkById(10, function ($students) { |
|
353 | - $query = $students->map(fn ($student) => ['id' => $student->id, |
|
352 | + Student::whereNull('gender_id')->chunkById(10, function($students) { |
|
353 | + $query = $students->map(fn($student) => ['id' => $student->id, |
|
354 | 354 | 'name' => $this->remove_accents(strtok($student->firstname, ' ')), ]); |
355 | 355 | |
356 | 356 | $response = Http::get('https://api.genderize.io/?name[]='.$query->pluck('name')->implode('&name[]=')); |
@@ -358,7 +358,7 @@ discard block |
||
358 | 358 | $firstname = $query->firstWhere('id', $student->id)['name']; |
359 | 359 | |
360 | 360 | $student->update([ |
361 | - 'gender_id' => match ($response->collect()->where('name', $firstname)->where('probability', '>', 0.9)->where('count', '>', 10)->first()['gender'] ?? '-') { |
|
361 | + 'gender_id' => match($response->collect()->where('name', $firstname)->where('probability', '>', 0.9)->where('count', '>', 10)->first()['gender'] ?? '-') { |
|
362 | 362 | 'male' => 2, |
363 | 363 | 'female' => 1, |
364 | 364 | default => null, |