|
|
@ -94,20 +94,20 @@ return [
|
|
|
|
'registration_enabled' => (bool)env('REGISTRATION_ENABLED', true),
|
|
|
|
'registration_enabled' => (bool)env('REGISTRATION_ENABLED', true),
|
|
|
|
|
|
|
|
|
|
|
|
// Only arrived angels can sign up for shifts
|
|
|
|
// Only arrived angels can sign up for shifts
|
|
|
|
'signup_requires_arrival' => false,
|
|
|
|
'signup_requires_arrival' => (bool)env('SIGNUP_REQUIRES_ARRIVAL', false),
|
|
|
|
|
|
|
|
|
|
|
|
// Whether newly-registered user should automatically be marked as arrived
|
|
|
|
// Whether newly-registered user should automatically be marked as arrived
|
|
|
|
'autoarrive' => (bool)env('ANGEL_AUTOARRIVE', false),
|
|
|
|
'autoarrive' => (bool)env('ANGEL_AUTOARRIVE', false),
|
|
|
|
|
|
|
|
|
|
|
|
// Only allow shift signup this number of hours in advance
|
|
|
|
// Only allow shift signup this number of hours in advance
|
|
|
|
// Setting this to 0 disables the feature
|
|
|
|
// Setting this to 0 disables the feature
|
|
|
|
'signup_advance_hours' => 0,
|
|
|
|
'signup_advance_hours' => env('SIGNUP_ADVANCE_HOURS', 0),
|
|
|
|
|
|
|
|
|
|
|
|
// Allow signup this many minutes after the start of the shift
|
|
|
|
// Allow signup this many minutes after the start of the shift
|
|
|
|
'signup_post_minutes' => 0,
|
|
|
|
'signup_post_minutes' => env('SIGNUP_POST_MINUTES', 0),
|
|
|
|
|
|
|
|
|
|
|
|
// Number of hours that an angel has to sign out own shifts
|
|
|
|
// Number of hours that an angel has to sign out own shifts
|
|
|
|
'last_unsubscribe' => 3,
|
|
|
|
'last_unsubscribe' => env('LAST_UNSUBSCRIBE', 3),
|
|
|
|
|
|
|
|
|
|
|
|
// Define the algorithm to use for `password_verify()`
|
|
|
|
// Define the algorithm to use for `password_verify()`
|
|
|
|
// If the user uses an old algorithm the password will be converted to the new format
|
|
|
|
// If the user uses an old algorithm the password will be converted to the new format
|
|
|
@ -118,41 +118,41 @@ return [
|
|
|
|
'min_password_length' => env('PASSWORD_MINIMUM_LENGTH', 8),
|
|
|
|
'min_password_length' => env('PASSWORD_MINIMUM_LENGTH', 8),
|
|
|
|
|
|
|
|
|
|
|
|
// Whether the DECT field should be enabled
|
|
|
|
// Whether the DECT field should be enabled
|
|
|
|
'enable_dect' => (bool)env('REGISTRATION_ENABLE_DECT', true),
|
|
|
|
'enable_dect' => (bool)env('ENABLE_DECT', true),
|
|
|
|
|
|
|
|
|
|
|
|
// Enables prename and lastname
|
|
|
|
// Enables prename and lastname
|
|
|
|
'enable_user_name' => (bool)env('REGISTRATION_ENABLE_USERNAME', false),
|
|
|
|
'enable_user_name' => (bool)env('ENABLE_USER_NAME', false),
|
|
|
|
|
|
|
|
|
|
|
|
// Enable displaying the pronoun fields
|
|
|
|
// Enable displaying the pronoun fields
|
|
|
|
'enable_pronoun' => (bool)env('REGISTRATION_ENABLE_DECT', false),
|
|
|
|
'enable_pronoun' => (bool)env('ENABLE_PRONOUN', false),
|
|
|
|
|
|
|
|
|
|
|
|
// Enables the planned arrival/leave date
|
|
|
|
// Enables the planned arrival/leave date
|
|
|
|
'enable_planned_arrival' => (bool)env('REGISTRATION_ENABLE_PLANNED_ARRIVAL', true),
|
|
|
|
'enable_planned_arrival' => (bool)env('ENABLE_PLANNED_ARRIVAL', true),
|
|
|
|
|
|
|
|
|
|
|
|
// Enables the T-Shirt configuration on signup and profile
|
|
|
|
// Enables the T-Shirt configuration on signup and profile
|
|
|
|
'enable_tshirt_size' => (bool)env('REGISTRATION_ENABLE_TSHIRT', true),
|
|
|
|
'enable_tshirt_size' => (bool)env('ENABLE_TSHIRT_SIZE', true),
|
|
|
|
|
|
|
|
|
|
|
|
// Number of shifts to freeload until angel is locked for shift signup.
|
|
|
|
// Number of shifts to freeload until angel is locked for shift signup.
|
|
|
|
'max_freeloadable_shifts' => 2,
|
|
|
|
'max_freeloadable_shifts' => env('MAX_FREELOADABLE_SHIFTS', 2),
|
|
|
|
|
|
|
|
|
|
|
|
// Local timezone
|
|
|
|
// Local timezone
|
|
|
|
'timezone' => env('TIMEZONE', ini_get('date.timezone') ?: 'Europe/Berlin'),
|
|
|
|
'timezone' => env('TIMEZONE', ini_get('date.timezone') ?: 'Europe/Berlin'),
|
|
|
|
|
|
|
|
|
|
|
|
// Multiply 'night shifts' and freeloaded shifts (start or end between 2 and 6 exclusive) by 2
|
|
|
|
// Multiply 'night shifts' and freeloaded shifts (start or end between 2 and 6 exclusive) by 2
|
|
|
|
'night_shifts' => [
|
|
|
|
'night_shifts' => [
|
|
|
|
'enabled' => true, // Disable to weigh every shift the same
|
|
|
|
'enabled' => (bool)env('NIGHT_SHIFTS', true), // Disable to weigh every shift the same
|
|
|
|
'start' => 2,
|
|
|
|
'start' => env('NIGHT_SHIFTS_START', 2),
|
|
|
|
'end' => 6,
|
|
|
|
'end' => env('NIGHT_SHIFTS_END', 6),
|
|
|
|
'multiplier' => 2,
|
|
|
|
'multiplier' => env('NIGHT_SHIFTS_MULTIPLIER', 2),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
// Voucher calculation
|
|
|
|
// Voucher calculation
|
|
|
|
'voucher_settings' => [
|
|
|
|
'voucher_settings' => [
|
|
|
|
'initial_vouchers' => 0,
|
|
|
|
'initial_vouchers' => env('INITIAL_VOUCHERS', 0),
|
|
|
|
'shifts_per_voucher' => 0,
|
|
|
|
'shifts_per_voucher' => env('SHIFTS_PER_VOUCHER', 0),
|
|
|
|
'hours_per_voucher' => 2,
|
|
|
|
'hours_per_voucher' => env('HOURS_PER_VOUCHER', 2),
|
|
|
|
// 'Y-m-d' formatted
|
|
|
|
// 'Y-m-d' formatted
|
|
|
|
'voucher_start' => null,
|
|
|
|
'voucher_start' => env('VOUCHER_START', null) ?: null,
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
// Available locales in /resources/lang/
|
|
|
|
// Available locales in /resources/lang/
|
|
|
@ -187,7 +187,8 @@ return [
|
|
|
|
|
|
|
|
|
|
|
|
// Shifts overview
|
|
|
|
// Shifts overview
|
|
|
|
// Set max number of hours that can be shown at once
|
|
|
|
// Set max number of hours that can be shown at once
|
|
|
|
'filter_max_duration' => 0,
|
|
|
|
// 0 means no limit
|
|
|
|
|
|
|
|
'filter_max_duration' => env('FILTER_MAX_DURATION', 0),
|
|
|
|
|
|
|
|
|
|
|
|
// Session config
|
|
|
|
// Session config
|
|
|
|
'session' => [
|
|
|
|
'session' => [
|
|
|
@ -195,7 +196,7 @@ return [
|
|
|
|
'driver' => env('SESSION_DRIVER', 'pdo'),
|
|
|
|
'driver' => env('SESSION_DRIVER', 'pdo'),
|
|
|
|
|
|
|
|
|
|
|
|
// Cookie name
|
|
|
|
// Cookie name
|
|
|
|
'name' => 'session',
|
|
|
|
'name' => env('SESSION_NAME', 'session'),
|
|
|
|
],
|
|
|
|
],
|
|
|
|
|
|
|
|
|
|
|
|
// IP addresses of reverse proxies that are trusted, can be an array or a comma separated list
|
|
|
|
// IP addresses of reverse proxies that are trusted, can be an array or a comma separated list
|
|
|
|