{# added for the team project form, to show divider for the customer name between all projects #} {% block choice_widget_expanded -%} {%- if '-inline' in label_attr.class|default('') -%} {%- for child in form %} {{- form_widget(child, { parent_label_class: label_attr.class|default(''), translation_domain: choice_translation_domain, }) -}} {% endfor -%} {%- else -%}
{% if form.vars.choices|length != form.children|length %} {% for name, choices in form.vars.choices %}
{{ name }} {% for key, choice in choices %} {{- form_widget(form[key]) -}} {{- form_label(form[key]) -}} {% endfor %}
{% endfor %} {% else %} {%- for child in form %} {{- form_widget(child, { parent_label_class: label_attr.class|default(''), translation_domain: choice_translation_domain, }) -}} {% endfor -%} {% endif %}
{%- endif -%} {%- endblock choice_widget_expanded %} {% block _quick_entry_form_rows_entry_timesheets_entry_widget %} {{ form_row(form.duration, {row_attr: {class: 'p-0'}}) }} {%- endblock %} {% block quick_entry_week_row %} {{ form_row(form.project, {row_attr: {class: 'p-0'}}) }} {{ form_row(form.activity, {row_attr: {class: 'p-0'}}) }} {% for timesheet in form.timesheets %} {{ form_widget(timesheet) }} {% endfor %} {% endblock %} {% block _team_edit_form_members_entry_user_widget %} {# this will convert the select box into a hidden field, which are exchangeable from an HTML perspective #} {%- set type = 'hidden' -%} {{ block('form_widget_simple') }} {% endblock %} {% block _team_edit_form_members_entry_teamlead_widget %} {% set attr = attr|merge({'class' : 'form-selectgroup-input '}) %} {% endblock %} {% block _team_edit_form_members_widget %}

{{ 'team.configure_teamlead.help'|trans }}

{{ form_widget(form, {row_attr: {class: 'mb-1'}}) }} {% endblock %} {% block team_member_row %} {{ form_widget(form) }} {% endblock %} {% block team_member_widget %} {% import 'macros/widgets.html.twig' as widgets%} {% set data = {} %} {% set user = null %} {% if form.vars.data is not null and form.vars.data.user is not null %} {% set user = form.vars.data.user %} {% set data = {id: user.id, color: user.color|colorize(user.displayName), title: user.title, username: user.userIdentifier, alias: user.alias, initials: user.initials, accountnumber: user.accountNumber, display: user.displayName} %} {% endif %}
{% endblock team_member_widget %} {% block date_widget -%} {% set format = locale_format('date') %} {% set jsFormat = format|js_format %} {% set attr = attr|merge({'pattern': format|pattern, 'autocomplete': 'off', 'data-datepicker': 'on', 'data-format': jsFormat, 'placeholder': jsFormat}) -%}
{{- block('form_widget_simple') -}} {% if not required %} {{ icon('cancel') }} {% endif %}
{%- endblock date_widget %} {% block time_widget -%} {%- set user_format = format -%} {%- set format = locale_format('time') -%} {%- set jsFormat = format|js_format -%} {%- set attr = attr|merge({'pattern': format|pattern, 'autocomplete': 'off', 'data-timepicker': 'on', 'data-format': jsFormat, 'placeholder': jsFormat}) -%}
{{ block('form_widget_simple') }} {% set time_presets = form_time_presets(app.user.timezone) %} {% if time_presets|length > 0 and form.vars.disabled is same as (false) %} {% endif %}
{%- endblock time_widget %} {% block daterange_widget %} {% set format = locale_format('date')|js_format %} {% set attr = attr|merge({'data-daterangepicker': 'on', 'autocomplete': 'off', 'data-format': format, 'placeholder': format ~ attr['data-separator'] ~ format}) -%}
{% if ranges is defined %} {% endif %} {{ block('form_widget_simple') }}
{% endblock daterange_widget %} {% block duration_widget %}
{% if (form.vars.duration_presets is defined and form.vars.duration_presets is not empty) and (form.vars.disabled is same as (false)) %}
{% if form.vars.icon is defined and form.vars.icon is not null %}
{{ icon(form.vars.icon) }}
{% endif %} {{ block('form_widget_simple') }} {% if form.vars.toggle is defined and form.vars.toggle %} {% endif %}
{% else %} {% if icon is defined and icon is not empty %}
{{ icon(icon) }}
{{ block('form_widget_simple') }}
{% else %} {{ block('form_widget_simple') }} {% endif %} {% endif %}
{% endblock duration_widget %} {% block date_time_widget -%}
{{- form_widget(form.date, { datetime: true } ) -}} {{- form_errors(form.date) -}}
{{- form_widget(form.time, { datetime: true } ) -}} {{- form_errors(form.time) -}}
{%- endblock date_time_widget %} {% block text_widget -%} {% if icon is not empty %}
{{ icon(icon) }}
{{ block('form_widget_simple') }}
{% else %} {{ block('form_widget_simple') }} {% endif %} {%- endblock text_widget %} {% block mail_widget -%}
{{ icon('mail') }}
{{ block('email_widget') }}
{%- endblock mail_widget %} {# user password fields, search for "secret" block_prefix #} {% block secret_widget -%}
{{ icon('password') }}
{{ block('password_widget') }}
{%- endblock secret_widget %} {% block yearpicker_widget -%} {% set yearInt = year|date_format('Y') %}
{{ icon('left') }} {% if range is not defined or range is not iterable or range is empty %} {{ year|date_short }} – {{ nextYear|date_short }} {% else %} {% endif %} {{ icon('right') }}
{%- set required = false -%} {%- endblock yearpicker_widget %} {% block monthpicker_widget -%}
{{ icon('left') }} {% if range is not defined or range is not iterable or range is empty %} {{ month|month_name(true) }} {% else %} {% endif %} {{ icon('right') }}
{%- set required = false -%} {%- endblock monthpicker_widget %} {% block weekpicker_widget -%}
{{ icon('left') }} {% if range is not defined or range is not iterable or range is empty %} {{ week|month_name(true) }} – {{ 'stats.workingTimeWeekShort'|trans({'%week%': weekNumber}) }} {% else %} {% endif %} {{ icon('right') }}
{%- set required = false -%} {%- endblock weekpicker_widget %} {% block tags_widget %} {% if form.vars.choices is defined %} {{ block('choice_widget_collapsed') }} {% else %} {{ block('form_widget_simple') }} {% endif %} {% endblock tags_widget %} {% block report_sum_widget %} {% endblock report_sum_widget %} {# customer phone/fax, search for "phone" block_prefix #} {% block phone_widget -%}
{{ icon(attr.icon ?? 'phone') }}
{{ block('tel_widget') }}
{%- endblock phone_widget %} {% block money_widget -%} {%- set prepend = not (money_pattern starts with '{{') -%} {%- set append = not (money_pattern ends with '}}') -%} {%- if prepend or append -%}
{%- if prepend -%}
{{ money_pattern|form_encode_currency }}
{%- endif -%} {{- block('form_widget_simple') -}} {%- if append -%}
{{ money_pattern|form_encode_currency }}
{%- endif -%}
{%- else -%} {{- block('form_widget_simple') -}} {%- endif -%} {%- endblock money_widget %} {# customer homepage, search for "homepage" block_prefix #} {% block homepage_widget -%}
{% if '://' not in value %}
https://
{% endif %} {{ block('url_widget') }}
{%- endblock homepage_widget %} {%- block form_errors -%} {%- if errors|length > 0 -%} {%- for error in errors -%}
{{ error.message }}
{%- endfor -%} {%- endif %} {%- endblock form_errors %} {%- block meta_fields_collection_row -%} {{- form_widget(form) -}} {%- endblock meta_fields_collection_row %} {%- block meta_fields_collection_widget -%} {% for meta in form|sort((a, b) => a.vars.data.order <=> b.vars.data.order) %} {{ form_row(meta.value, {'row_attr': {'class': 'mb-3 ' ~ form.parent.vars.name ~ '_row_' ~ form.vars.name ~ '_' ~ meta.vars.name}}) }} {% endfor %} {%- endblock meta_fields_collection_widget %} {% block form_help_content -%} {%- if help_translation_domain is defined and help_translation_domain is not null -%} {%- set translation_domain = help_translation_domain -%} {%- endif -%} {# following copied from form_div_layout.html.twig #} {%- if translation_domain is same as(false) -%} {%- if help_html is same as(false) -%} {{- help -}} {%- else -%} {{- help|raw -}} {%- endif -%} {%- else -%} {%- if help_html is same as(false) -%} {{- help|trans(help_translation_parameters, translation_domain) -}} {%- else -%} {{- help|trans(help_translation_parameters, translation_domain)|raw -}} {%- endif -%} {%- endif -%} {%- endblock form_help_content %}