@@ -93,103 +93,103 @@ discard block |
||
93 | 93 | $currency = ['suffix' => config('app.currency_symbol')]; |
94 | 94 | } |
95 | 95 | |
96 | - CRUD::addColumns([['name' => 'id', 'label' => 'ID', 'wrapper' => ['element' => function ($crud, $column, $entry) { |
|
96 | + CRUD::addColumns([['name' => 'id', 'label' => 'ID', 'wrapper' => ['element' => function($crud, $column, $entry) { |
|
97 | 97 | return $entry->status_id > 2 ? 'del' : 'span'; |
98 | - },],], |
|
98 | + },], ], |
|
99 | 99 | |
100 | - ['label' => __('ID number'), 'type' => 'text', 'name' => 'student.idnumber', 'wrapper' => ['element' => function ($crud, $column, $entry) { |
|
100 | + ['label' => __('ID number'), 'type' => 'text', 'name' => 'student.idnumber', 'wrapper' => ['element' => function($crud, $column, $entry) { |
|
101 | 101 | return $entry->status_id > 2 ? 'del' : 'span'; |
102 | - },],], |
|
102 | + },], ], |
|
103 | 103 | |
104 | - ['name' => 'user', 'key' => 'user_lastname', 'attribute' => 'lastname', 'label' => __('Last Name'), 'type' => 'relationship', 'wrapper' => ['element' => function ($crud, $column, $entry) { |
|
104 | + ['name' => 'user', 'key' => 'user_lastname', 'attribute' => 'lastname', 'label' => __('Last Name'), 'type' => 'relationship', 'wrapper' => ['element' => function($crud, $column, $entry) { |
|
105 | 105 | return $entry->status_id > 2 ? 'del' : 'span'; |
106 | 106 | },], |
107 | 107 | 'orderable' => true, |
108 | - 'orderLogic' => function ($query, $column, $columnDirection) { |
|
108 | + 'orderLogic' => function($query, $column, $columnDirection) { |
|
109 | 109 | return $query->leftJoin('users', 'enrollments.student_id', '=', 'users.id') |
110 | 110 | ->orderBy('users.lastname', $columnDirection)->select('enrollments.*'); |
111 | 111 | }, |
112 | - 'searchLogic' => function ($query, $column, $searchTerm) { |
|
113 | - $query->orWhereHas('student', function ($q) use ($searchTerm) { |
|
114 | - $q->whereHas('user', function ($q) use ($searchTerm) { |
|
115 | - $q->where('lastname', 'like', '%' . $searchTerm . '%'); |
|
112 | + 'searchLogic' => function($query, $column, $searchTerm) { |
|
113 | + $query->orWhereHas('student', function($q) use ($searchTerm) { |
|
114 | + $q->whereHas('user', function($q) use ($searchTerm) { |
|
115 | + $q->where('lastname', 'like', '%'.$searchTerm.'%'); |
|
116 | 116 | }); |
117 | 117 | }); |
118 | 118 | },], |
119 | 119 | |
120 | - ['name' => 'user', 'key' => 'user_firstname', 'attribute' => 'firstname', 'label' => __('First Name'), 'type' => 'relationship', 'wrapper' => ['element' => function ($crud, $column, $entry) { |
|
120 | + ['name' => 'user', 'key' => 'user_firstname', 'attribute' => 'firstname', 'label' => __('First Name'), 'type' => 'relationship', 'wrapper' => ['element' => function($crud, $column, $entry) { |
|
121 | 121 | return $entry->status_id > 2 ? 'del' : 'span'; |
122 | 122 | },], |
123 | - 'searchLogic' => function ($query, $column, $searchTerm) { |
|
124 | - $query->orWhereHas('student', function ($q) use ($searchTerm) { |
|
125 | - $q->whereHas('user', function ($q) use ($searchTerm) { |
|
126 | - $q->where('firstname', 'like', '%' . $searchTerm . '%'); |
|
123 | + 'searchLogic' => function($query, $column, $searchTerm) { |
|
124 | + $query->orWhereHas('student', function($q) use ($searchTerm) { |
|
125 | + $q->whereHas('user', function($q) use ($searchTerm) { |
|
126 | + $q->where('firstname', 'like', '%'.$searchTerm.'%'); |
|
127 | 127 | }); |
128 | 128 | }); |
129 | 129 | }, |
130 | - 'orderLogic' => function ($query, $column, $columnDirection) { |
|
130 | + 'orderLogic' => function($query, $column, $columnDirection) { |
|
131 | 131 | return $query->leftJoin('users', 'enrollments.student_id', '=', 'users.id') |
132 | 132 | ->orderBy('users.firstname', $columnDirection)->select('enrollments.*'); |
133 | 133 | }, |
134 | 134 | 'orderable' => true, |
135 | 135 | ], |
136 | 136 | |
137 | - ['label' => __('Age'), 'name' => 'student_age',], |
|
137 | + ['label' => __('Age'), 'name' => 'student_age', ], |
|
138 | 138 | |
139 | - ['label' => __('Birthdate'), 'name' => 'student_birthdate',],]); |
|
139 | + ['label' => __('Birthdate'), 'name' => 'student_birthdate', ], ]); |
|
140 | 140 | |
141 | 141 | if ($this->mode === 'global') { |
142 | - CRUD::addColumns([['label' => __('Course'), 'type' => 'select', 'name' => 'course_id', 'entity' => 'course', 'attribute' => 'name', 'model' => Course::class,], |
|
142 | + CRUD::addColumns([['label' => __('Course'), 'type' => 'select', 'name' => 'course_id', 'entity' => 'course', 'attribute' => 'name', 'model' => Course::class, ], |
|
143 | 143 | ['type' => 'relationship', 'name' => 'course.period', 'label' => __('Period'), 'attribute' => 'name', |
144 | - 'orderLogic' => function ($query, $column, $columnDirection) { |
|
144 | + 'orderLogic' => function($query, $column, $columnDirection) { |
|
145 | 145 | return $query->leftJoin('courses', 'enrollments.course_id', '=', 'courses.id') |
146 | 146 | ->orderBy('courses.period_id', $columnDirection)->select('enrollments.*'); |
147 | 147 | }, |
148 | 148 | 'orderable' => true, |
149 | - ],]); |
|
149 | + ], ]); |
|
150 | 150 | } |
151 | 151 | |
152 | - CRUD::addColumns([['label' => __('Status'), 'type' => 'select', 'name' => 'status_id', 'entity' => 'enrollmentStatus', 'attribute' => 'name', 'model' => EnrollmentStatusType::class, 'wrapper' => ['element' => 'span', 'class' => function ($crud, $column, $entry) { |
|
153 | - return 'badge badge-pill badge-' . $entry->enrollmentStatus->styling(); |
|
154 | - },],],]); |
|
152 | + CRUD::addColumns([['label' => __('Status'), 'type' => 'select', 'name' => 'status_id', 'entity' => 'enrollmentStatus', 'attribute' => 'name', 'model' => EnrollmentStatusType::class, 'wrapper' => ['element' => 'span', 'class' => function($crud, $column, $entry) { |
|
153 | + return 'badge badge-pill badge-'.$entry->enrollmentStatus->styling(); |
|
154 | + },], ], ]); |
|
155 | 155 | |
156 | 156 | if (config('invoicing.allow_scheduled_payments')) { |
157 | 157 | CRUD::addColumn(['name' => 'scheduledPayments', 'type' => 'relationship', 'label' => __('Scheduled Payments'), // OPTIONAL |
158 | - 'attribute' => 'date', 'model' => ScheduledPayment::class,]); |
|
158 | + 'attribute' => 'date', 'model' => ScheduledPayment::class, ]); |
|
159 | 159 | } |
160 | 160 | |
161 | 161 | CRUD::addColumn(array_merge(['name' => 'price', // The db column name |
162 | - 'label' => __('Price'), 'type' => 'number',], $currency)); |
|
162 | + 'label' => __('Price'), 'type' => 'number', ], $currency)); |
|
163 | 163 | |
164 | 164 | |
165 | 165 | if (config('invoicing.invoices_contain_enrollments_only')) { |
166 | - CRUD::addColumn(array_merge(['name' => 'balance', 'label' => __('Balance'), 'type' => 'number',], $currency)); |
|
166 | + CRUD::addColumn(array_merge(['name' => 'balance', 'label' => __('Balance'), 'type' => 'number', ], $currency)); |
|
167 | 167 | } |
168 | 168 | |
169 | 169 | CRUD::addColumns([ |
170 | 170 | |
171 | - ['name' => 'scholarships', 'type' => 'relationship', 'label' => __('Scholarship'), 'attribute' => 'name', 'model' => Scholarship::class,], |
|
171 | + ['name' => 'scholarships', 'type' => 'relationship', 'label' => __('Scholarship'), 'attribute' => 'name', 'model' => Scholarship::class, ], |
|
172 | 172 | |
173 | - ['label' => __('Email'), 'name' => 'user', 'attribute' => 'email', 'type' => 'relationship',], |
|
173 | + ['label' => __('Email'), 'name' => 'user', 'attribute' => 'email', 'type' => 'relationship', ], |
|
174 | 174 | |
175 | - ['label' => __('Phone Number'), 'type' => 'select_multiple', 'name' => 'student.phone', 'attribute' => 'phone_number', 'model' => PhoneNumber::class,],]); |
|
175 | + ['label' => __('Phone Number'), 'type' => 'select_multiple', 'name' => 'student.phone', 'attribute' => 'phone_number', 'model' => PhoneNumber::class, ], ]); |
|
176 | 176 | |
177 | 177 | if ($this->mode === 'global') { |
178 | - CRUD::addFilter(['name' => 'status_id', 'type' => 'select2_multiple', 'label' => __('Status'),], fn() => EnrollmentStatusType::all()->pluck('name', 'id')->toArray(), function ($values) { |
|
178 | + CRUD::addFilter(['name' => 'status_id', 'type' => 'select2_multiple', 'label' => __('Status'), ], fn() => EnrollmentStatusType::all()->pluck('name', 'id')->toArray(), function($values) { |
|
179 | 179 | foreach (json_decode($values, null, 512, JSON_THROW_ON_ERROR) as $value) { |
180 | 180 | CRUD::addClause('orWhere', 'status_id', $value); |
181 | 181 | } |
182 | 182 | }); |
183 | 183 | |
184 | - CRUD::addFilter(['name' => 'period_id', 'type' => 'select2', 'label' => __('Period'),], fn() => Period::all()->pluck('name', 'id')->toArray(), function ($value) { |
|
184 | + CRUD::addFilter(['name' => 'period_id', 'type' => 'select2', 'label' => __('Period'), ], fn() => Period::all()->pluck('name', 'id')->toArray(), function($value) { |
|
185 | 185 | CRUD::addClause('period', $value); |
186 | 186 | }); |
187 | 187 | |
188 | - CRUD::addFilter(['name' => 'scholarship', 'type' => 'select2', 'label' => __('Scholarship'),], fn() => Scholarship::all()->pluck('name', 'id')->toArray(), function ($value) { // if the filter is active |
|
188 | + CRUD::addFilter(['name' => 'scholarship', 'type' => 'select2', 'label' => __('Scholarship'), ], fn() => Scholarship::all()->pluck('name', 'id')->toArray(), function($value) { // if the filter is active |
|
189 | 189 | if ($value == 'all') { |
190 | 190 | CRUD::addClause('whereHas', 'scholarships'); |
191 | 191 | } else { |
192 | - CRUD::addClause('whereHas', 'scholarships', function ($q) use ($value) { |
|
192 | + CRUD::addClause('whereHas', 'scholarships', function($q) use ($value) { |
|
193 | 193 | $q->where('scholarships.id', $value); |
194 | 194 | }); |
195 | 195 | } |
@@ -234,7 +234,7 @@ discard block |
||
234 | 234 | 'model' => Course::class, |
235 | 235 | 'attribute' => 'name', |
236 | 236 | |
237 | - 'options' => (fn ($query) => $query->orderBy('level_id', 'ASC')->where('period_id', $this->crud->getCurrentEntry()->course->period_id)->get()), |
|
237 | + 'options' => (fn($query) => $query->orderBy('level_id', 'ASC')->where('period_id', $this->crud->getCurrentEntry()->course->period_id)->get()), |
|
238 | 238 | ]); |
239 | 239 | |
240 | 240 | CRUD::addField(array_merge([ |
@@ -29,7 +29,7 @@ discard block |
||
29 | 29 | CRUD::setModel(Invoice::class); |
30 | 30 | CRUD::setRoute(config('backpack.base.route_prefix').'/invoice'); |
31 | 31 | CRUD::setEntityNameStrings(__('invoice'), __('invoices')); |
32 | - if (! config('invoicing.price_categories_enabled')) { |
|
32 | + if (!config('invoicing.price_categories_enabled')) { |
|
33 | 33 | $this->crud->addButtonFromView('top', 'createInvoice', 'createInvoice', 'start'); |
34 | 34 | } |
35 | 35 | } |
@@ -104,7 +104,7 @@ discard block |
||
104 | 104 | 'label'=> __('Date range'), |
105 | 105 | ], |
106 | 106 | false, |
107 | - function ($value) { // if the filter is active, apply these constraints |
|
107 | + function($value) { // if the filter is active, apply these constraints |
|
108 | 108 | $dates = json_decode($value, null, 512, JSON_THROW_ON_ERROR); |
109 | 109 | |
110 | 110 | if ($dates->from) { |
@@ -147,7 +147,7 @@ discard block |
||
147 | 147 | { |
148 | 148 | $invoice = Invoice::findOrFail($id)->load('payments'); |
149 | 149 | |
150 | - if (! backpack_user()->can('enrollments.edit')) { |
|
150 | + if (!backpack_user()->can('enrollments.edit')) { |
|
151 | 151 | abort(403); |
152 | 152 | } |
153 | 153 | |
@@ -155,7 +155,7 @@ discard block |
||
155 | 155 | 'invoice' => $invoice, |
156 | 156 | 'availablePaymentMethods' => Paymentmethod::all(), |
157 | 157 | 'editable' => true, |
158 | - 'enrollment' => $invoice->enrollments->first()?->product, |
|
158 | + 'enrollment' => $invoice->enrollments->first() ? ->product, |
|
159 | 159 | 'afterSuccessUrl' => $invoice->enrollments->count() > 0 ? "/enrollment/{$invoice->enrollments->first()->product_id}/show" : '/invoice', // TODO fix this, an invoice can theoretically contain several enrollments |
160 | 160 | ]); |
161 | 161 | } |