@@ -209,11 +209,20 @@ function filter_by($filters, $extra_filters = []) {
209
209
210
210
$ selected_year = $ request ->query ->get ('year ' , $ all_years [0 ]['year ' ]);
211
211
$ selected_shift = $ request ->query ->get ('shift ' , null );
212
- $ own_shifts_only = $ request ->query ->get ('own_shifts ' , false ) ? true : false ;
212
+ $ all_shifts = $ request ->query ->get ('all_shifts ' , false ) ? true : false ;
213
213
$ selected_group = $ request ->query ->get ('group ' , 'all ' );
214
214
$ selected_repo = $ request ->query ->get ('repo ' , 'all ' );
215
+ $ own_shifts_only = !$ all_shifts ;
215
216
$ return = null ;
216
217
218
+ if ($ selected_group !== 'all ' && !$ request ->query ->has ('year ' )) {
219
+ $ group = db_fetch_group_id ($ selected_group );
220
+ if (!$ group ) {
221
+ die ('Invalid group ' );
222
+ }
223
+ $ selected_year = $ group ->year ;
224
+ }
225
+
217
226
$ selected_shift_obj = $ selected_shift && $ selected_shift != 'all '
218
227
? db_fetch_shift_id ($ selected_shift ) : null ;
219
228
@@ -287,9 +296,9 @@ function filter_by($filters, $extra_filters = []) {
287
296
]);
288
297
}
289
298
if (in_array ('own_shifts ' , $ filters )) {
290
- $ select_form ->add ('own_shifts ' , CheckboxType::class, [
291
- 'label ' => 'Show only own shifts ' ,
292
- 'data ' => $ own_shifts_only ,
299
+ $ select_form ->add ('all_shifts ' , CheckboxType::class, [
300
+ 'label ' => 'Show all shifts ' ,
301
+ 'data ' => $ all_shifts ,
293
302
'required ' => false ,
294
303
]);
295
304
}
0 commit comments