templates/module/Form/forms/homeanfrage.html.twig line 1

Open in your IDE?
  1. {% set debug = app.request.query.get("debug") %}
  2. {% set formName = 'igs-'~ document.getId() %}
  3. {% set formFields = frontend.formular.formFields %}
  4. {% set pauschalenname = (frontend.formular.pauschalenname is defined) ? frontend.formular.pauschalenname: ""  %}
  5. {% set buttontext = frontend.formular.buttontext %}
  6. {% set pflichtfeldtext = frontend.formular.pflichtfeldtext %}
  7. {% set dsgvotext = frontend.formular.dsgvotext %}
  8. {% set antwort = frontend.formular.antwort %}
  9. {% set websiteConfigName = frontend.formular.websiteConfigName %}
  10. {% set mailTemplate = frontend.formular.mailTemplate %}
  11. {% set url = frontend.formular.url %}
  12. <form  method="post" accept-charset="utf-8" name="{{ formName }}" role="form">
  13.     <div id="anchorPosition"></div>
  14.     <div class="form-container">
  15.         <div class="form-row--multiple">
  16.             <div class="form-item form-mandatory" data-master="A">{{ formFields.form_ARRIVAL |raw }}</div>
  17.             <div class="form-item form-mandatory" data-slave="A">{{ formFields.form_DEPARTURE |raw }}</div>
  18.             <div class="form-item">{{ formFields.form_REGION |raw }}</div>
  19.         </div>
  20.         <div class="form-row--multiple">
  21.             <div class="form-item form-mandatory" data-min="1" data-max="4" data-formtype="number">{{ formFields.form_NUMBEROFROOMS |raw }}</div>
  22.             <div class="form-item form-mandatory" data-min="1" data-max="10" data-formtype="number">{{ formFields.form_ADULTS |raw }}</div>
  23.             <div class="form-item" data-min="0" data-max="4" data-formtype="number">{{ formFields.form_CHILDREN |raw }}</div>
  24.         </div>
  25.         <div id="childages" class="form-row--multiple hide">
  26.             <div class="form-item"></div>
  27.             <div class="form-item"></div>
  28.             <div class="form-item form-child-ages" data-slave="A">{{ formFields.form_CHILDAGES |raw }}</div>
  29.         </div>
  30.         <div id="childages-multiple" class="form-row--multiple hide">
  31.             <div class="form-item"></div>
  32.             <div class="form-item"></div>
  33.             <div class="form-item form-child-ages" data-slave="A">{{ formFields.form_CHILDAGES_MULTIPLE |raw }}</div>
  34.         </div>
  35.  {#        <div id="childages" class="form-row--childages">
  36.             {% if formFields.form_childage is iterable %}
  37.                 {% for field in formFields.form_childage %}
  38.                      <div class="form-item form-mandatory hide" data-min="0" data-max="18" data-formtype="number">{{ field|raw }}</div>
  39.                 {% endfor %}
  40.             {% else %}
  41.                 <div class="form-item form-mandatory hide" data-min="0" data-max="18" data-formtype="number">{{ formFields.form_childage |raw }}</div>
  42.             {% endif %}
  43.         </div> #}
  44.         <div class="form-row--multiple">
  45.             <div class="form-item form-mandatory">{{ formFields.form_EMAIL|raw }}</div>
  46.             <div class="form-item form-mandatory">{{ formFields.form_SALUTATION|raw }}</div>
  47.         </div>
  48.         <div class="form-row--multiple">
  49.             <div class="form-item">{{ formFields.form_FIRSTNAME|raw }}</div>
  50.             <div class="form-item form-mandatory">{{ formFields.form_NAME|raw }}</div>
  51.         </div>
  52.         <div class="form-row--single">
  53.             <div class="form-item">{{ formFields.form_COMMENTS|raw }}</div>
  54.         </div>
  55.         <!-- SUBMIT -->
  56.         <div>
  57.             <div class="btn-wrp submit-button">
  58.                 <button type="submit">{{ buttontext|raw }}</button>
  59.             </div>
  60.             <div class="waiting-for-response">
  61.                 <div class="submit-sending">
  62.                     <div class="submit-sending--wrp">
  63.                         <div class="submit-sending-box">
  64.                             <div class="border one"></div>
  65.                             <div class="border two"></div>
  66.                             <div class="border three"></div>
  67.                             <div class="border four"></div>
  68.                             <div class="line one"></div>
  69.                             <div class="line two"></div>
  70.                             <div class="line three"></div>
  71.                         </div>
  72.                     </div>
  73.                 </div>
  74.             </div>
  75.         </div>
  76.         <p>
  77.             <small>{{ pflichtfeldtext|raw }}</small>
  78.         </p>
  79.         <div class="data-privacy-statement">
  80.             {{ dsgvotext|raw }}
  81.         </div>
  82.     </div>
  83.     <div class="hidden">
  84.         {% if 'homeanfrageAction' in document.getController() %}
  85.             <input type="text" name="form_PACKAGENAME" value="{{ pauschalenname }}"/>
  86.             <input type="text" name="language" value="{{ document.getProperty('language') }}"/>
  87.             <input type="text" name="websiteconfigname" value="{{ websiteConfigName }}"/>
  88.             <input type="text" name="mailtemplate" value="{{ mailTemplate }}"/>
  89.             <input type="text" name="url" value="{{ url }}"/>
  90.             <input type="text" name="debug" value="{{ debug }}"/>
  91.         {% endif %}
  92.     </div>
  93. </form>
  94. {% if debug == '1' %} <div id="debug">Egebnis aus Sendmail!</div> {% endif %}
  95. <script>
  96.     (function () {
  97.         'use strict';
  98.         var moduleName = '{{ formName }}_module'; // naming convention XXX_module
  99.         if (typeof selt === 'undefined') {
  100.             window.selt = {
  101.                 modules: {}
  102.             };
  103.         } else if (!selt.modules) {
  104.             selt.modules = {};
  105.         }
  106.         selt.modules[moduleName] = {
  107.             name: moduleName,
  108.             init: function () {
  109.                 activateForm();
  110.             }
  111.         };
  112.         function activateForm() {
  113.             var scnemForm       = $("form[name='{{ formName }}']"),
  114.                 confirmationURL = '{{ antwort }}',
  115.                 children        = $('[name="form_CHILDREN"]'),
  116.                 nrOfChildren,
  117.                 childAgeCollContainer    = $('#childages'),
  118.                 childAgeMultipleCollContainer    = $('#childages-multiple'),
  119.                 childAgeColl    = $('#childages .form-child-ages'),
  120.                 childAgeMultipleColl    = $('#childages-multiple .form-child-ages');
  121.             children.on('change', function () {
  122.                 nrOfChildren = parseInt(children.val(), 10),
  123.                     childAgeCollContainer.addClass('hide'), childAgeColl.removeClass('form-mandatory'), childAgeMultipleCollContainer.addClass('hide'), childAgeColl.removeClass('form-mandatory');
  124.                 if (nrOfChildren) {
  125.                     if(nrOfChildren == 1) {
  126.                         childAgeCollContainer.removeClass('hide');
  127.                         childAgeColl.addClass('form-mandatory')
  128.                     } else if (nrOfChildren > 1) {
  129.                         childAgeMultipleCollContainer.removeClass('hide');
  130.                         childAgeMultipleColl.addClass('form-mandatory')
  131.                     }
  132.                 }
  133.             });
  134.             scnemForm[0].onsubmit = function () {
  135.                 if (!selt.validateForm(scnemForm)) {
  136.                     selt.ajaxSubmitForm(scnemForm, confirmationURL, {{ debug }});
  137.                 }
  138.                 return false;
  139.             };
  140.             //---------------------------------------------------------------------------------------
  141.             //  Pickadate
  142.             //---------------------------------------------------------------------------------------
  143.             var date        = selt.dateFunctions.getFutureDate(new Date(), 1);
  144.             var dateOptions = {
  145.                 formatSubmit: "yyyy-mm-dd",
  146.                 min: date,
  147.                 today: '',
  148.                 clear: '',
  149.                 close: '',
  150.                 language: "{{ document.getProperty('language') }}"
  151.             };
  152.             selt.initForm(scnemForm, dateOptions);
  153.             $('[data-formtype="number"]', scnemForm).inputNumber()
  154.             function getUrlParameter(name) {
  155.                 name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
  156.                 var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
  157.                 var results = regex.exec(location.search);
  158.                 return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
  159.             }
  160.             // Get the value from the URL parameter 'arrival_value'
  161.             var arrivalValue = getUrlParameter('form_ARRIVAL');
  162.             // Set the value of the input field in the form
  163.             var inputElementArrival = document.querySelector('.input-input [name="form_ARRIVAL"]');
  164.             if (inputElementArrival) {
  165.                 inputElementArrival.value = arrivalValue;
  166.             }
  167.             // Get the value from the URL parameter 'arrival_value'
  168.             var departureValue = getUrlParameter('form_DEPARTURE');
  169.             // Set the value of the input field in the form
  170.             var inputElementDeparture = document.querySelector('.input-input [name="form_DEPARTURE"]');
  171.             if (inputElementDeparture) {
  172.                 inputElementDeparture.value = departureValue;
  173.             }
  174.             // Get the value from the URL parameter 'arrival_value'
  175.             var regionValue = getUrlParameter('form_REGION');
  176.             // Set the value of the input field in the form
  177.             var inputElementRegion = document.querySelector('.input-select [name="form_REGION"]');
  178.             if (inputElementRegion) {
  179.                 inputElementRegion.value = regionValue;
  180.             }
  181.         }
  182.     }())
  183. </script>