templates/Includes/Partials/contact-modal.html.twig line 1

Open in your IDE?
  1. {% set isBustravel = package.isBusTour %}
  2. <div class="modal fade custom-modal" id="contactModal" tabindex="-1" role="dialog" aria-labelledby="contactModalLabel" aria-hidden="true">
  3.     <div class="modal-dialog custom-modal__container custom-modal__container--xl" role="document">
  4.         <div class="custom-modal__content modal-content">
  5.             <div class="custom-modal__header">
  6.                 <button type="button" class="close custom-modal__close" data-dismiss="modal" aria-label="Close">
  7.                     <span class="icon icon-close" aria-hidden="true"></span>
  8.                     <span class="custom-modal__close-text">{{ 'modal.schließen'|trans }}</span>
  9.                 </button>
  10.             </div>
  11.             <div class="custom-modal__body modal-body">
  12.                 <div class="text-center mb-5">
  13.                     <div class="custom-modal__sub-title">
  14.                         {{'modal.Wann möchten Sie uns besuchen?'|trans}}
  15.                     </div>
  16.                     <div class="custom-modal__title h2" id="contactModalLabel">
  17.                         {{'modal.Ihre Anfrage'|trans}}
  18.                     </div>
  19.                 </div>
  20.                 <form action="" method="post" class="js-form-validation js-quickfinder js-elhc-form js-elhc-form-ajax">
  21.                     <div class="row js-datepicker-range">
  22.                         <input name="packageId" value="{{ package.id }}" hidden>
  23.                         <input name="packageName" value="{{ package.title }}" hidden>
  24.                         {% if app.session.flashBag.get('elhc_error') or not errors|default([]) is empty%}
  25.                             <div class="col-md-12 alert alert-warning mb-2">
  26.                                 <ul>
  27.                                     {% set messages = errors|merge(app.session.flashBag.get('elhc_error')) %}
  28.                                     {% for message in  messages %}
  29.                                         <li>{{ ('error.' ~ message)|trans }}</li>
  30.                                     {% endfor %}
  31.                                 </ul>
  32.                             </div>
  33.                         {% endif %}
  34.                         <div class="col-md-6">
  35.                             {{ include('Form/Includes/select.html.twig', {
  36.                                 id: 'salutation',
  37.                                 inputModifier: "js-floating-label",
  38.                                 labelModifier: "floating-label",
  39.                                 inputWrapperModifier: "select__input-wrapper position-relative",
  40.                                 name: "salutation",
  41.                                 required: true,
  42.                                 label: 'package-overview.Anrede'|trans,
  43.                                 styleModifier: 'form-group--sm',
  44.                                 options: [
  45.                                     {
  46.                                         "label": "",
  47.                                         "value": "",
  48.                                         "disabled": true,
  49.                                         "selected": true,
  50.                                         "class": "sr-only"
  51.                                     }, {
  52.                                         "label": 'package-overview.Frau'|trans,
  53.                                         "value": 'package-overview.Frau'|trans,
  54.                                         "class": '',
  55.                                     }, {
  56.                                         "label": 'package-overview.Herr'|trans,
  57.                                         "value": 'package-overview.Herr'|trans,
  58.                                         "class": ""
  59.                                     },],
  60.                                 errors: errors['salutation'] is defined ? [errors['salutation']] : null,
  61.                             }) }}
  62.                         </div>
  63.                         <div class="col-md-6">
  64.                             {{ include('Form/Includes/form-control.html.twig', {
  65.                                 id: 'title',
  66.                                 name: 'title',
  67.                                 inputModifier: 'js-floating-label',
  68.                                 inputWrapperModifier: 'position-relative',
  69.                                 labelModifier: 'floating-label',
  70.                                 label: 'contact-modal.Titel'|trans,
  71.                                 errors: errors['title'] is defined ? [errors['title']] : null,
  72.                             }) }}
  73.                         </div>
  74.                         <div class="col-md-6">
  75.                             {{ include('Form/Includes/form-control.html.twig', {
  76.                                 id: 'firstname',
  77.                                 name: 'firstname',
  78.                                 inputModifier: 'js-floating-label',
  79.                                 inputWrapperModifier: 'position-relative',
  80.                                 labelModifier: 'floating-label',
  81.                                 label: 'contact-modal.Vorname'|trans,
  82.                                 required: true,
  83.                                 errors: errors['firstname'] is defined ? [errors['firstname']] : null,
  84.                             }) }}
  85.                         </div>
  86.                         <div class="col-md-6">
  87.                             {{ include('Form/Includes/form-control.html.twig', {
  88.                                 id: 'lastname',
  89.                                 name: 'lastname',
  90.                                 inputModifier: 'js-floating-label',
  91.                                 inputWrapperModifier: 'position-relative',
  92.                                 labelModifier: 'floating-label',
  93.                                 label: 'contact-modal.Nachname'|trans,
  94.                                 required: true,
  95.                                 errors: errors['lastname'] is defined ? [errors['lastname']] : null,
  96.                             }) }}
  97.                         </div>
  98.                         <div class="col-md-6">
  99.                             {{ include('Form/Includes/form-control.html.twig', {
  100.                                 id: 'phone',
  101.                                 name: 'phone',
  102.                                 inputModifier: 'js-floating-label',
  103.                                 inputWrapperModifier: 'position-relative',
  104.                                 labelModifier: 'floating-label',
  105.                                 label: 'contact-modal.Telefon'|trans,
  106.                                 errors: errors['phone'] is defined ? [errors['phone']] : null,
  107.                             }) }}
  108.                         </div>
  109.                         <div class="col-md-6">
  110.                             {{ include('Form/Includes/form-control.html.twig', {
  111.                                 id: 'email',
  112.                                 name: 'email',
  113.                                 inputModifier: 'js-floating-label',
  114.                                 inputWrapperModifier: 'position-relative',
  115.                                 labelModifier: 'floating-label',
  116.                                 label: 'contact-modal.E-Mail'|trans,
  117.                                 required: true,
  118.                                 type: 'email',
  119.                                 errors: errors['email'] is defined ? [errors['email']] : null,
  120.                             }) }}
  121.                         </div>
  122.                         {% if package.enableCategoriesInForm %}
  123.                         <div class="col-md-6">
  124.                             {{ include('Form/Includes/select.html.twig', {
  125.                                 id: 'topic',
  126.                                 inputModifier: "js-floating-label",
  127.                                 labelModifier: "floating-label",
  128.                                 inputWrapperModifier: "select__input-wrapper position-relative",
  129.                                 name: "topic",
  130.                                 required: true,
  131.                                 label: 'package-overview.Thema auswählen'|trans,
  132.                                 styleModifier: '',
  133.                                 options: topicSelect|default([]),
  134.                                 errors: errors['topic'] is defined ? [errors['topic']] : null,
  135.                             }) }}
  136.                         </div>
  137.                         {% endif %}
  138.                         {% if package.enableCategoriesInForm %}
  139.                             <div class="col-md-6">
  140.                                 {{ include('Form/Includes/select.html.twig', {
  141.                                     id: 'region',
  142.                                     inputModifier: "js-floating-label",
  143.                                     labelModifier: "floating-label",
  144.                                     inputWrapperModifier: "select__input-wrapper position-relative",
  145.                                     name: "region",
  146.                                     required: true,
  147.                                     label: 'package-overview.Region auswählen'|trans,
  148.                                     styleModifier: '',
  149.                                     options: regionSelect|default([]),
  150.                                     errors: errors['region'] is defined ? [errors['region']] : null,
  151.                                 }) }}
  152.                             </div>
  153.                         {% endif %}
  154.                         <div class="col-6">
  155.                             {{ include('Form/Includes/date-picker.html.twig', {
  156.                                 "id": "arrival",
  157.                                 "name": "arrival",
  158.                                 "label": "package-overview.Anreise"|trans,
  159.                                 "min": carbon().today().toDateTimeString(),
  160.                                 "value": carbon().today().toDateTimeString(),
  161.                                 "numberOfMonths": 2,
  162.                                 "styleModifier": "js-datepicker-range__from form-group--sm",
  163.                                 "inputHiddenModifier": "js-floating-label",
  164.                                 "inputWrapperModifier": "position-relative datepicker-container",
  165.                                 "labelModifier": "floating-label",
  166.                                 errors: errors['arrival'] is defined ? [errors['arrival']] : null,
  167.                             }) }}
  168.                         </div>
  169.                         <div class="col-6">
  170.                             {{ include('Form/Includes/date-picker.html.twig', {
  171.                                 "id": "departure",
  172.                                 "name": "departure",
  173.                                 "label": "package-overview.Abreise"|trans,
  174.                                 "min": carbon().today().toDateTimeString(),
  175.                                 "value": carbon().today().addWeek().toDateTimeString(),
  176.                                 "numberOfMonths": 2,
  177.                                 "styleModifier": "js-datepicker-range__to form-group--sm",
  178.                                 "inputHiddenModifier": "js-floating-label",
  179.                                 "inputWrapperModifier": "position-relative datepicker-container",
  180.                                 "labelModifier": "floating-label",
  181.                                 errors: errors['departure'] is defined ? [errors['departure']] : null,
  182.                             }) }}
  183.                         </div>
  184.                         {% if isBustravel %}
  185.                             <div class="col-md-6">
  186.                                 {{ include('Form/Includes/form-control.html.twig', {
  187.                                     id: 'persons',
  188.                                     name: 'persons',
  189.                                     inputModifier: 'js-floating-label',
  190.                                     inputWrapperModifier: 'position-relative',
  191.                                     labelModifier: 'floating-label',
  192.                                     label: 'contact-modal.Personenanzahl'|trans,
  193.                                     required: true,
  194.                                     type: 'number',
  195.                                     errors: errors['persons'] is defined ? [errors['persons']] : null,
  196.                                 }) }}
  197.                             </div>
  198.                         </div><div class="row">
  199.                             <div class="col-md-6">
  200.                                 {{ include('Form/Includes/form-control.html.twig', {
  201.                                     id: 'doublerooms',
  202.                                     name: 'doublerooms',
  203.                                     inputModifier: 'js-floating-label',
  204.                                     inputWrapperModifier: 'position-relative',
  205.                                     labelModifier: 'floating-label',
  206.                                     label: 'contact-modal.Doppelzimmer'|trans,
  207.                                     required: true,
  208.                                     type: 'number',
  209.                                     errors: errors['doublerooms'] is defined ? [errors['doublerooms']] : null,
  210.                                 }) }}
  211.                             </div> <div class="col-md-6">
  212.                                 {{ include('Form/Includes/form-control.html.twig', {
  213.                                     id: 'singlerooms',
  214.                                     name: 'singlerooms',
  215.                                     inputModifier: 'js-floating-label',
  216.                                     inputWrapperModifier: 'position-relative',
  217.                                     labelModifier: 'floating-label',
  218.                                     label: 'contact-modal.Einzelzimmer'|trans,
  219.                                     required: true,
  220.                                     type: 'number',
  221.                                     errors: errors['singlerooms'] is defined ? [errors['singlerooms']] : null,
  222.                                 }) }}
  223.                             </div>
  224.                         {% else %}
  225.                             <div class="col-6">
  226.                                 {{ include('Form/Includes/select.html.twig', {
  227.                                     id: 'adults',
  228.                                     inputModifier: "js-floating-label",
  229.                                     labelModifier: "floating-label",
  230.                                     inputWrapperModifier: "select__input-wrapper position-relative",
  231.                                     name: "adults",
  232.                                     required: true,
  233.                                     label: 'package-overview.Erwachsene'|trans,
  234.                                     styleModifier: 'form-group--sm',
  235.                                     options: adultsSelect|default([]),
  236.                                     errors: errors['adults'] is defined ? [errors['adults']] : null,
  237.                                 }) }}
  238.                             </div>
  239.                             <div class="col-6">
  240.                                 {{ include('Form/Includes/select.html.twig', {
  241.                                     id: 'children',
  242.                                     inputModifier: "js-floating-label js-quickfinder__child-input",
  243.                                     labelModifier: "floating-label",
  244.                                     inputWrapperModifier: "select__input-wrapper position-relative",
  245.                                     name: "children",
  246.                                     required: false,
  247.                                     label: 'package-overview.Kinder'|trans,
  248.                                     styleModifier: 'form-group--sm',
  249.                                     options: childrenSelect|default([]),
  250.                                     errors: errors['children'] is defined ? [errors['children']] : null,
  251.                                 }) }}
  252.                             </div>
  253.                         {% endif %}
  254.                     </div>
  255.                     <div class="row js-quickfinder__childs"></div>
  256.                     <div class="row">
  257.                         <div class="col-12">
  258.                             {{ include('Form/Includes/text-area.html.twig', {
  259.                                 id: 'message',
  260.                                 name: 'message',
  261.                                 inputModifier: 'js-floating-label',
  262.                                 inputWrapperModifier: 'position-relative',
  263.                                 labelModifier: 'floating-label',
  264.                                 label: 'package-overview.Anregungen/Wünsche'|trans,
  265.                                 required: false,
  266.                                 errors: errors['message'] is defined ? [errors['message']] : null,
  267.                             }) }}
  268.                         </div>
  269.                     </div>
  270.                     <div class="text-right small mb-1">
  271.                         *{{'contact-modal.Pflichtfelder'|trans}}
  272.                     </div>
  273.                     {{ include('Form/Includes/form-control.html.twig', {
  274.                         type: 'hidden',
  275.                         name: 'gdpr-text',
  276.                         id: 'gdpr-text',
  277.                         value: 'contact.Ich stimme den <a href="#">Datenschutzbestimmungen</a> zu.'|trans
  278.                     }) }}
  279.                     <div>{{ 'contact.Ich stimme den <a href="#">Datenschutzbestimmungen</a> zu.'|trans|raw }}</div>
  280.                     <div class="text-center mt-4">
  281.                         <button type="submit" class="btn btn-primary-light">{{'modal.Anfrage sende'|trans}}</button>
  282.                     </div>
  283.                 </form>
  284.             </div>
  285.         </div>
  286.     </div>
  287. </div>