181 lines
7.9 KiB
Twig
181 lines
7.9 KiB
Twig
{% extends 'pages/settings/settings.twig' %}
|
|
{% import 'macros/form.twig' as f %}
|
|
{% import 'macros/base.twig' as m %}
|
|
|
|
{% block title %}{{ __('settings.profile') }}{% endblock %}
|
|
|
|
{% block row_content %}
|
|
<form action="" enctype="multipart/form-data" method="post">
|
|
{{ csrf() }}
|
|
|
|
<div class="row g-4">
|
|
<div class="col-12">
|
|
<strong class="help-block">
|
|
{{ f.entry_required() }} = {{ __('settings.profile.entry_required') }}
|
|
</strong>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row g-4">
|
|
<div class="col-lg-6">
|
|
{{ f.input('nick', __('general.nick'), {
|
|
'value': userdata.name,
|
|
'disabled': true,
|
|
}) }}
|
|
</div>
|
|
{% if config('enable_pronoun') %}
|
|
<div class="col-lg-6">
|
|
{{ f.input('pronoun', __('settings.profile.pronoun'), {
|
|
'value': userdata.personalData.pronoun,
|
|
'max_length': 15,
|
|
'required': isPronounRequired,
|
|
'required_icon': isPronounRequired,
|
|
}) }}
|
|
{{ m.info(__('settings.profile.pronoun.info')) }}
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
{% if config('enable_user_name') %}
|
|
<div class="row g-4">
|
|
<div class="col-sm-6">
|
|
{{ f.input('first_name', __('settings.profile.firstname'), {
|
|
'value': userdata.personalData.first_name,
|
|
'max_length': 64,
|
|
'required': isFirstnameRequired,
|
|
'required_icon': isFirstnameRequired,
|
|
}) }}
|
|
</div>
|
|
<div class="col-sm-6">
|
|
{{ f.input('last_name', __('settings.profile.lastname'), {
|
|
'value': userdata.personalData.last_name,
|
|
'max_length': 64,
|
|
'required': isLastnameRequired,
|
|
'required_icon': isLastnameRequired,
|
|
}) }}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
{% if config('enable_planned_arrival') %}
|
|
<div class="row g-4">
|
|
<div class="col-sm-6">
|
|
{% set planned_arrival_date = userdata.personalData.planned_arrival_date %}
|
|
{{ f.input('planned_arrival_date', __('settings.profile.planned_arrival_date'), {
|
|
'type': 'date',
|
|
'value': planned_arrival_date ? planned_arrival_date.format('Y-m-d') : '',
|
|
'required': true,
|
|
'required_icon': true,
|
|
'min': config('buildup_start') ? config('buildup_start').format('Y-m-d') : '',
|
|
'max': config('teardown_end') ? config('teardown_end').format('Y-m-d') : '',
|
|
}) }}
|
|
</div>
|
|
<div class="col-sm-6">
|
|
{% set planned_departure_date = userdata.personalData.planned_departure_date %}
|
|
{{ f.input('planned_departure_date', __('settings.profile.planned_departure_date'), {
|
|
'type': 'date',
|
|
'value': planned_departure_date ? planned_departure_date.format('Y-m-d') : '',
|
|
'min': config('buildup_start') ? config('buildup_start').format('Y-m-d') : '',
|
|
'max': config('teardown_end') ? config('teardown_end').format('Y-m-d') : '',
|
|
}) }}
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="row g-4">
|
|
{% if config('enable_dect') %}
|
|
<div class="col-md-6">
|
|
{{ f.input('dect', __('general.dect'), {
|
|
'value': userdata.contact.dect,
|
|
'max_length': 40,
|
|
'required': isDectRequired,
|
|
'required_icon': isDectRequired,
|
|
}) }}
|
|
</div>
|
|
{% endif %}
|
|
<div class="col-md-6">
|
|
{{ f.input('mobile', __('settings.profile.mobile'), {
|
|
'value': userdata.contact.mobile,
|
|
'max_length': 40,
|
|
'required': isMobileRequired,
|
|
'required_icon': isMobileRequired,
|
|
}) }}
|
|
{% if config('enable_mobile_show') %}
|
|
{{ f.checkbox('mobile_show', __('settings.profile.mobile_show'), {
|
|
'checked': userdata.settings.mobile_show,
|
|
}) }}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row g-4">
|
|
<div class="col-md-6">
|
|
{{ f.input('email', __('general.email'), {
|
|
'type': 'email',
|
|
'value': userdata.email,
|
|
'max_length': 254,
|
|
'required': true,
|
|
'required_icon': true,
|
|
}) }}
|
|
</div>
|
|
|
|
<div class="col-md-6">
|
|
<label class="form-label">{{ __('settings.profile.email-preferences') }}</label>
|
|
{{ f.checkbox('email_shiftinfo', __('settings.profile.email_shiftinfo', [config('app_name')]), {
|
|
'checked': userdata.settings.email_shiftinfo,
|
|
}) }}
|
|
{{ f.checkbox('email_news', __('settings.profile.email_news'), {
|
|
'checked': userdata.settings.email_news,
|
|
}) }}
|
|
{{ f.checkbox('email_messages', __('settings.profile.email_messages'), {
|
|
'checked': userdata.settings.email_messages,
|
|
}) }}
|
|
{{ f.checkbox('email_human', __('settings.profile.email_by_human_allowed'), {
|
|
'checked': userdata.settings.email_human,
|
|
}) }}
|
|
{% if goodie_enabled %}
|
|
{% set privacy_email = config('privacy_email') %}
|
|
{% set email_goodie_label =
|
|
(goodie_tshirt ? __('settings.profile.email_tshirt') : __('settings.profile.email_goodie')) ~
|
|
(privacy_email ? ' ' ~ __('settings.profile.privacy', [privacy_email]) : '')
|
|
%}
|
|
{{ f.checkbox('email_goodie', email_goodie_label, {
|
|
'checked': userdata.settings.email_goodie,
|
|
'raw_label': true,
|
|
}) }}
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="row g-4">
|
|
{% if goodie_tshirt %}
|
|
<div class="col-12">
|
|
{{ f.select('shirt_size', __('settings.profile.shirt_size'), config('tshirt_sizes'), {
|
|
'selected': userdata.personalData.shirt_size,
|
|
'required': isTShirtSizeRequired,
|
|
'required_icon': isTShirtSizeRequired,
|
|
'default_option': __('form.select_placeholder'),
|
|
'disabled': userdata.state.got_shirt,
|
|
'info': __('settings.profile.shirt_size.hint'),
|
|
'raw_form_text': true,
|
|
'form_text': (tShirtLink ? m.icon('info-circle')
|
|
~ ' <a href="'
|
|
~ tShirtLink|escape('html_attr')
|
|
~ '" target="_blank" rel="noopener">'
|
|
~ __('settings.profile.shirt.link')|e
|
|
~ '</a>' : ''),
|
|
}) }}
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="col-12">
|
|
{{ m.info(__('settings.profile.angeltypes.info', [url('/angeltypes')]), true) }}
|
|
</div>
|
|
|
|
<div class="col-12">
|
|
{{ f.submit(__('form.save'), {'icon_left': 'save'}) }}
|
|
</div>
|
|
</div>
|
|
</form>
|
|
{% endblock %}
|