diff --git a/config/config.default.php b/config/config.default.php index 7fdd3b2e..06f8201f 100644 --- a/config/config.default.php +++ b/config/config.default.php @@ -138,6 +138,8 @@ return [ 'voucher_settings' => [ 'initial_vouchers' => 0, 'shifts_per_voucher' => 1, + // 'Y-m-d' formatted + 'voucher_start' => null, ], // Available locales in /locale/ diff --git a/includes/model/ShiftEntry_model.php b/includes/model/ShiftEntry_model.php index 5dd11421..ea025604 100644 --- a/includes/model/ShiftEntry_model.php +++ b/includes/model/ShiftEntry_model.php @@ -1,5 +1,6 @@ = ' . $sinceTime->getTimestamp() : '') . ' ORDER BY `Shifts`.`end` desc ', [ diff --git a/includes/model/User_model.php b/includes/model/User_model.php index 681e70aa..1b1434bb 100644 --- a/includes/model/User_model.php +++ b/includes/model/User_model.php @@ -233,7 +233,10 @@ function User_reset_api_key($user, $log = true) function User_get_eligable_voucher_count($user) { $voucher_settings = config('voucher_settings'); - $shifts_done = count(ShiftEntries_finished_by_user($user->id)); + $start = $voucher_settings['voucher_start'] + ? Carbon::createFromFormat('Y-m-d', $voucher_settings['voucher_start'])->setTime(0, 0) + : null; + $shifts_done = count(ShiftEntries_finished_by_user($user->id, $start)); $earned_vouchers = $user->state->got_voucher - $voucher_settings['initial_vouchers']; $eligable_vouchers = $shifts_done / $voucher_settings['shifts_per_voucher'] - $earned_vouchers;