From 79b30fa3a819f99c9611d3cbed851f73fe6cfe6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Janne=20He=C3=9F?= Date: Tue, 23 Apr 2019 12:23:35 +0200 Subject: [PATCH] Support disabling the planned arrival We also use Engelsystem for single-day events, and the planned arrival/departure feature doesn't make sense for us. --- config/config.default.php | 3 +++ includes/pages/guest_login.php | 9 +++++---- includes/view/User_view.php | 14 ++++++++------ 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/config/config.default.php b/config/config.default.php index 1830500e..66590ee4 100644 --- a/config/config.default.php +++ b/config/config.default.php @@ -102,6 +102,9 @@ return [ // Whether the DECT field should be enabled 'enable_dect' => true, + // Enables the planned arrival/leave date + 'enable_planned_arrival' => true, + // Enables the T-Shirt configuration on signup and profile 'enable_tshirt_size' => true, diff --git a/includes/pages/guest_login.php b/includes/pages/guest_login.php index 2f206bcc..5a760319 100644 --- a/includes/pages/guest_login.php +++ b/includes/pages/guest_login.php @@ -43,6 +43,7 @@ function guest_register() $tshirt_sizes = config('tshirt_sizes'); $enable_tshirt_size = config('enable_tshirt_size'); $enable_dect = config('enable_dect'); + $enable_planned_arrival = config('enable_planned_arrival'); $min_password_length = config('min_password_length'); $config = config(); $request = request(); @@ -141,7 +142,7 @@ function guest_register() ), true); } - if ($request->has('planned_arrival_date')) { + if ($request->has('planned_arrival_date') && $enable_planned_arrival) { $tmp = parse_date('Y-m-d H:i', $request->input('planned_arrival_date') . ' 00:00'); $result = User_validate_planned_arrival_date($tmp); $planned_arrival_date = $result->getValue(); @@ -149,7 +150,7 @@ function guest_register() $valid = false; error(__('Please enter your planned date of arrival. It should be after the buildup start date and before teardown end date.')); } - } else { + } else if ($enable_planned_arrival) { $valid = false; error(__('Please enter your planned date of arrival. It should be after the buildup start date and before teardown end date.')); } @@ -303,11 +304,11 @@ function guest_register() ]), div('row', [ div('col-sm-6', [ - form_date( + $enable_planned_arrival ? form_date( 'planned_arrival_date', __('Planned date of arrival') . ' ' . entry_required(), $planned_arrival_date, $buildup_start_date, $teardown_end_date - ) + ) : '' ]), div('col-sm-6', [ $enable_tshirt_size ? form_select('tshirt_size', diff --git a/includes/view/User_view.php b/includes/view/User_view.php index cc2c3153..1f3c1127 100644 --- a/includes/view/User_view.php +++ b/includes/view/User_view.php @@ -26,7 +26,9 @@ function User_settings_view( ) { $personalData = $user_source->personalData; $enable_dect = config('enable_dect'); - return page_with_title(settings_title(), [ + $enable_planned_arrival = config('enable_planned_arrival'); + + return page_with_title(settings_title(), [ msg(), div('row', [ div('col-md-6', [ @@ -36,20 +38,20 @@ function User_settings_view( form_text('nick', __('Nick'), $user_source->name, true), form_text('lastname', __('Last name'), $personalData->last_name), form_text('prename', __('First name'), $personalData->first_name), - form_date( + $enable_planned_arrival ? form_date( 'planned_arrival_date', __('Planned date of arrival') . ' ' . entry_required(), $personalData->planned_arrival_date ? $personalData->planned_arrival_date->getTimestamp() : '', $buildup_start_date, $teardown_end_date - ), - form_date( + ) : '', + $enable_planned_arrival ? form_date( 'planned_departure_date', __('Planned date of departure'), $personalData->planned_departure_date ? $personalData->planned_departure_date->getTimestamp() : '', $buildup_start_date, $teardown_end_date - ), + ) : '', $enable_dect ? form_text('dect', __('DECT'), $user_source->contact->dect) : '', form_text('mobile', __('Mobile'), $user_source->contact->mobile), form_text('mail', __('E-Mail') . ' ' . entry_required(), $user_source->email), @@ -894,7 +896,7 @@ function render_profile_link($text, $user_id = null, $class = '') */ function render_user_departure_date_hint() { - if (!auth()->user()->personalData->planned_departure_date) { + if (config('enable_planned_arrival') && !auth()->user()->personalData->planned_departure_date) { $text = __('Please enter your planned date of departure on your settings page to give us a feeling for teardown capacities.'); return render_profile_link($text, null, 'alert-link'); }