ebs/templates/components/product/_calendar.html.twig
2023-12-21 08:49:38 +01:00

96 lines
4.3 KiB
Twig

{% set is_product_owner = product.owner == app.user %}
<div class="bg-light rounded-2 p-3" data-controller="calendar" data-calendar-unavailabilities-value="{{ product.getUnavailabilities()|join(',') }}">
<div class="row">
<div class="col">
<h5>{{ title }}</h5>
</div>
<div>
<p>{{ 'templates.components.product.calendar.clarifying_sentence'|trans }}</p>
</div>
</div>
{% if is_product_owner and form is not defined %}
{# user product page #}
<div class="d-flex flex-column">
<div id="product-owner-calendar" class="owner-calendar"></div>
</div>
<div class="row mt-4">
<div class="col">
<a
class="btn btn-secondary w-100"
href="{{ path(product.type.isObject ? 'app_object_edit' : 'app_service_edit', {id}) }}"
>
{% if product.type.isObject %}
{{ 'templates.components.product.calendar.object.edit'|trans }}
{% else %}
{{ 'templates.components.product.calendar.service.edit'|trans }}
{% endif %}
</a>
<a
class="mt-4 col-12 btn btn-primary"
href="{{ path('app_user_product_availabilities', {id: product.id}) }}"
>
{{ 'product.show.unavailability'|trans }}
</a>
</div>
</div>
{% else %}
{% if form is defined %}
{# new service request and product availabilities page #}
<div class="d-flex flex-column mt-4">
{{ form_label(form.startAt, null, {label_attr: {class: 'order-2 mt-4'}}) }}
{{ form_errors(form.startAt) }}
{{ form_widget(form.startAt, {id: 'calendar-start-day', attr: {class: 'order-3'}}) }}
</div>
<div class="d-flex flex-column">
{{ form_label(form.endAt, null, {label_attr: {class: 'mt-3'}}) }}
{{ form_errors(form.endAt) }}
{{ form_widget(form.endAt, {id: 'calendar-end-day', type: 'text'}) }}
</div>
{% else %}
{# product page #}
<div class="form-group mt-3">
<div class="row">
<div class="col">
<div class="d-flex flex-column">
<label for="calendar-start-day" class="fs-6 fw-normal order-2 mt-4">
{{ 'templates.components.product.calendar.service.start_date'|trans }}
</label>
<input type="text" id="calendar-start-day" class="form-control form-control-sm order-3">
</div>
</div>
</div>
<div class="row mt-3">
<div class="col">
<label for="calendar-end-day" class="fs-6 fw-normal">
{{ 'templates.components.product.calendar.service.end_date'|trans }}
</label>
<input type="text" id="calendar-end-day" class="form-control form-control-sm">
</div>
</div>
</div>
{% endif %}
<div class="d-grid col mt-3">
<button class="btn border border-0 text-primary text-decoration-underline" data-action="click->calendar#resetDates" type="button">
{{ 'templates.components.product.calendar.reset'|trans }}
</button>
</div>
{% if actionNeeded %}
<div class="d-grid col-12 mt-3">
{% if app.user is null or is_granted('borrow', product) %}
<button
id="service-request"
class="btn btn-sm btn-primary"
data-path="{{ path('app_user_service_request_new', {id: product.id}) }}"
data-action="click->calendar#serviceRequest"
disabled
>
{{ 'templates.components.product.calendar.service_request'|trans }}
</button>
{% else %}
{{ form_widget(form.submit) }}
{% endif %}
</div>
{% endif %}
{% endif %}
</div>