templates/Customer/Postman/form.html.twig line 1

Open in your IDE?
  1. {% extends 'Customer/Postman/base.html.twig' %}
  2. {% form_theme orderForm with ['form_div_layout.html.twig', 'OverrideForm/form_errors.html.twig'] %}
  3. {% block stylesheets %}
  4.     {{ parent() }}
  5.     {{ encore_entry_link_tags('customer/form')}}
  6. {% endblock %}
  7. {% block javascripts %}
  8.     {{ parent() }}
  9.     {{ encore_entry_script_tags('customer/form')}}
  10.     {{ encore_entry_script_tags('customer/prevent-enter-submit')}}
  11.     {% if app.environment != 'prod' and app.environment != 'demo' %}
  12.         {{ encore_entry_script_tags('support/test-data-filler') }}
  13.     {% endif %}
  14. {% endblock %}
  15. {% block catchword %}
  16.     {% trans %}Pošlete balík s naším{% endtrans %}
  17.     <span>{% trans %}Superpošťákem{% endtrans %}</span><br>
  18.     {% trans %}ještě dnes!{% endtrans %}
  19. {% endblock %}
  20. {% block content %}
  21.     {{ form_start(orderForm, { attr: {novalidate: 'novalidate'} }) }}
  22.     <div class="row">
  23.         <div class="col-12 d-flex flex-column justify-content-center" data-aos="fade-up">
  24.             <div class="header-wrapper">
  25.                 <div class="row">
  26.                     <div class="col-12">
  27.                         <h1 class="d-flex flex-wrap align-items-center">
  28.                             <span class="mr-2 mx-0">{% trans %}Pošlete balík za{% endtrans %}
  29.                                 <span id="delivery-price-h2">
  30.                                     {{- render(controller('App\\Controller\\Customer\\PriceController::getDeliveryPrice', {'iso': defaultCountry.iso, 'json': 0})) -}}
  31.                                 </span>&nbsp;{% trans %}Kč do{% endtrans %}
  32.                             </span>
  33.                             <span class="mr-2 mx-0 country-delivery">
  34.                                 {{ form_widget(orderForm.deliveryTo.country, {'attr' : {'class': 'form-control form-control-lg'}}) }}
  35.                             </span>
  36.                         </h1>
  37.                     </div>
  38.                 </div>
  39.             </div>
  40.         </div>
  41.     </div>
  42.     <div id="form-wrapper">
  43.         {% if orderForm.vars.errors|length %}
  44.             {%for error in orderForm.vars.errors%}
  45.                 <div>
  46.                     <div class="alert alert-danger" role="alert">
  47.                         <span class="cil-warning" aria-hidden="true"></span>
  48.                         <span class="sr-only">Warning:</span>
  49.                         <a href="#" class="close" data-dismiss="alert">&times;</a>
  50.                         <span class="text">{{error.message}}</span>
  51.                     </div>
  52.                 </div>
  53.             {%endfor%}
  54.         {% endif%}
  55.         <div class="row mb-3 mt-3">
  56.             <div class="col-12">
  57.                 <h3 class="font-weight-bold">{% trans %}1. Zadejte rozměry a hmotnost balíčku a ihned uvidíte cenu{% endtrans %}</h3>
  58.             </div>
  59.         </div>
  60.         <div class="row mb-3">
  61.             <div class="col-12">
  62.                 <div>{% trans %}Pokud si nejste jisti rozměry, odhadněte je.{% endtrans %}</div>
  63.             </div>
  64.         </div>
  65.         <div class="row">
  66.             <div class="col-12">
  67.                 {% for item in orderForm.calculation %}
  68.                     <div class="row">
  69.                         <div class="col-xl-3 col-lg-4 col-md-5 col-sm-6 col-12">
  70.                             <div class="form-row">
  71.                                 <label class="col-12 col-lg-5 col-md-5 col-sm-5 col-form-label pb-0 mb-0 h-25">{{ form_label(item) }}
  72.                                     <span class="text-secondary">{{ item.vars.required ? " *" : "" }}</span>
  73.                                 </label>
  74.                                 <div class="col-12 col-sm-7">{{ form_widget(item, {'attr' : {'class' : 'form-control form-control-sm form-calculation'}}) }}
  75.                                     <div class="col-lg-7 col-sm-7 p-0">
  76.                                         <span class="form-text-error">{{ form_errors(item) }}</span>
  77.                                     </div>
  78.                                 </div>
  79.                             </div>
  80.                         </div>
  81.                         <div class="col-lg-7 col-sm-6">
  82.                             <span>{{ form_help(item) }}</span>
  83.                         </div>
  84.                     </div>
  85.                 {% endfor %}
  86.                 <div class="orderForm font-xl">
  87.                     <div class="row">
  88.                         <div class="col-12 mt-3">
  89.                             {% apply spaceless %}
  90.                                 <span class=''>{% trans %}Cena{% endtrans %}:&nbsp;</span>
  91.                                 <b>
  92.                                 <span id="delivery-price">
  93.                                     {{- render(controller('App\\Controller\\Customer\\PriceController::getDeliveryPrice', {'iso': defaultCountry.iso})) -}}
  94.                                 </span>
  95.                                 </b>&nbsp;{% trans %}Kč, balíček doručíme do 3 pracovních dnů.{% endtrans %}
  96.                             {% endapply %}
  97.                         </div>
  98.                     </div>
  99.                 </div>
  100.                 <div class="orderForm">
  101.                     {#<span class="orderForm-star mr-2">* </span>#}
  102.                     {#<span>{% trans %}Takto označená pole jsou důležitá pro spočítání ceny.{% endtrans %}</span>#}
  103.                 </div>
  104.             </div>
  105.         </div>
  106.         <div class="row mb-3 mt-3">
  107.             <div class="col-12">
  108.                 <h3 class="font-weight-bold">{% trans %}2. Zadejte obsah zásilky{% endtrans %}</h3>
  109.             </div>
  110.         </div>
  111.         <div class="row mb-3">
  112.             <div class="col-lg-7 col-sm-10">
  113.                 <div>{% trans %}Do tohoto pole prosím zadejte obsah balíku, stačí jednoslovně, ale konkrétně. Např: elektronika, dokumenty, drogistické zboží, strojírenské součástky atp.{% endtrans %}</div>
  114.             </div>
  115.         </div>
  116.         <div class="row">
  117.             <div class="col-lg-10 col-sm-12">
  118.                 <div class="row">
  119.                     <div class="col-12">
  120.                         <div class="form-row">
  121.                             <label class="col-sm-4 col-md-3 col-lg-3 col-xl-2 col-form-label">{{ form_label(orderForm.contentDescription) }}
  122.                                 <span class="text-secondary">{{ orderForm.contentDescription.vars.required ? " *" : "" }}</span>
  123.                             </label>
  124.                             <div class="col-12 col-xl-6 col-sm-7">{{ form_widget(orderForm.contentDescription, {'attr' : {'class' : 'form-control form-control-sm'}}) }}
  125.                                 <div class="col-xl-7 col-lg-6 col-sm-7 p-0">
  126.                                     <span class="form-text-error">{{ form_errors(orderForm.contentDescription) }}</span>
  127.                                 </div>
  128.                             </div>
  129.                         </div>
  130.                     </div>
  131.                 </div>
  132.             </div>
  133.         </div>
  134.         <div class="row mb-3 mt-3">
  135.             <div class="col-12">
  136.                 <h3 class="font-weight-bold">{% trans %}3. Zadejte cílovou adresu{% endtrans %}</h3>
  137.             </div>
  138.         </div>
  139.         <div class="row">
  140.             <div class="col-lg-10 col-sm-12">
  141.                 {% for item in orderForm.deliveryTo %}
  142.                     {% if (item.vars.id != 'simple_order_deliveryTo_country') %}
  143.                         <div class="row">
  144.                             <div class="col-12">
  145.                                 <div class="form-row">
  146.                                     <label class="col-sm-4 col-md-3 col-lg-3 col-xl-2 col-form-label">{{ form_label(item) }}
  147.                                         <span class="text-secondary">{{ item.vars.required ? " *" : "" }}</span>
  148.                                     </label>
  149.                                     {#
  150.                                     Proc je tam 'autocomplete':'autofill-off'?
  151.                                     U Chrome 'autocomplete':'off' vypne jen jednoradkovy autokomplete.
  152.                                     Autofill adres, karet a jmen trigruje na dany set stringu v atributu name
  153.                                     chovani se prepisuje pokud je vyplnen atribut autocomplete
  154.                                     pak se hleda odpovidajici ulozena hodnota napr cc-name je jmeno kreditni karty
  155.                                     pokud se klic nenajde nevyplnuje se nic
  156.                                     #}
  157.                                     <div class="col-12 col-xl-6 col-sm-7">{{ form_widget(item, {'attr' : {'class' : 'form-control form-control-sm', 'autocomplete':'autofill-off' }}) }}
  158.                                         <div class="col-xl-7 col-lg-6 col-sm-7 p-0">
  159.                                             <span class="form-text-error">{{ form_errors(item) }}</span>
  160.                                         </div>
  161.                                     </div>
  162.                                 </div>
  163.                             </div>
  164.                         </div>
  165.                     {% endif %}
  166.                 {% endfor %}
  167.             </div>
  168.         </div>
  169.         <div class="row">
  170.             <div class="col-lg-10 col-sm-12">
  171.                 <div class="row mb-3 mt-3">
  172.                     <div class="col-12">
  173.                         <h3 class="font-weight-bold">{% trans %}4. Zpáteční adresa{% endtrans %}</h3>
  174.                     </div>
  175.                 </div>
  176.                 {% for item in orderForm.returnTo%}
  177.                     <div class="row">
  178.                         <div class="col-12">
  179.                             <div class="form-row">
  180.                                 <label class="col-sm-4 col-md-3 col-lg-3 col-xl-2 col-form-label">{{ form_label(item) }}
  181.                                     <span class="text-secondary">{{ item.vars.required ? " *" : "" }}</span>
  182.                                 </label>
  183.                                 <div class="col-12 col-xl-6 col-sm-7">{{ form_widget(item, {'attr' : {'class' : 'form-control form-control-sm'}}) }}
  184.                                     <div class="col-lg-7 col-sm-7 p-0">
  185.                                         <span class="form-text-error">{{ form_errors(item) }}</span>
  186.                                     </div>
  187.                                 </div>
  188.                             </div>
  189.                         </div>
  190.                     </div>
  191.                 {% endfor %}
  192.             </div>
  193.         </div>
  194.         <div class="row">
  195.             <div class="companyDataLink"><u>Zadat firemní data</u></div>
  196.             <div class="companyDataLink d-none"><u>Skrýt firemní data</u></div>
  197.         </div>
  198.         <div class="row d-none" id="companyData">
  199.             <div class="col-lg-10 col-sm-12">
  200.                 <div class="row mb-3 mt-3">
  201.                     <div class="col-12">
  202.                         <h5 class="font-weight-bold">{% trans %}Fakturační adresa{% endtrans %}</h5>
  203.                     </div>
  204.                 </div>
  205.                 {% for item in orderForm.billing%}
  206.                     <div class="row">
  207.                         <div class="col-12">
  208.                             <div class="form-row">
  209.                                 <label class="col-sm-4 col-md-3 col-lg-3 col-xl-2 col-form-label">{{ form_label(item) }}
  210.                                     <span class="text-secondary">{{ item.vars.attr.reqStar is defined and item.vars.attr.reqStar ? " *" : "" }}</span>
  211.                                 </label>
  212.                                 <div class="col-12 col-xl-6 col-sm-7">{{ form_widget(item, {'attr' : {'class' : 'form-control form-control-sm'}}) }}
  213.                                     <div class="col-lg-7 col-sm-7 p-0">
  214.                                         <span class="form-text-error">{{ form_errors(item) }}</span>
  215.                                     </div>
  216.                                 </div>
  217.                             </div>
  218.                         </div>
  219.                     </div>
  220.                 {% endfor %}
  221.             </div>
  222.         </div>
  223.         <div class="row mt-3 mb-3">
  224.             <div class="col-12">
  225.                 <h3 class="font-weight-bold">{% trans %}5. Zaplaťte za doručení do{% endtrans %} <span id="label-delivery-to"></span></h3>
  226.             </div>
  227.         </div>
  228.         <div class="row">
  229.             <div class="col-12">
  230.                 <p>{% trans %}Platební údaje se vám zobrazí po odeslání objednávky.{% endtrans %}</p>
  231.             </div>
  232.         </div>
  233.         <div class="row mt-3">
  234.             <div class="col-12">
  235.                 <h3 class="font-weight-bold">{% trans %}6. Připravte balík a pošlete nám ho{% endtrans %}</h3>
  236.             </div>
  237.         </div>
  238.         <div class="row mt-3">
  239.             <div class="col-12 col-sm-5">
  240.                 <div>
  241.                     <strong>{% trans %}Velmi důležité!{% endtrans %}</strong>&nbsp;{% trans %}Kamkoliv na balík napište identifikační kód:{% endtrans %}
  242.                     <br>
  243.                     <strong class="text-danger font-xl">{{ formatCode(code) }}</strong>
  244.                 </div>
  245.                 <br>
  246.                 <p>{% trans %}Zašlete balík na naše sběrné místo na adresu:{% endtrans %}</p>
  247.                 <p>
  248.                     {{ depo_address_name }}<br>
  249.                     {{ depo_address_street }}<br>
  250.                     {{ depo_address_city }}<br>
  251.                     {{ depo_address_zipcode }}<br>
  252. {#                    {% trans %}Tel:{% endtrans %} {{ depo_phone }}<br>#}
  253.                 </p>
  254.             </div>
  255.         </div>
  256.         <div class="row mb-3 mt-3">
  257.             <div class="col-12">
  258.                 <h3 class="font-weight-bold">{% trans %}7. Dokončení{% endtrans %}</h3>
  259.             </div>
  260.         </div>
  261.         <div class='row'>
  262.             <div class='col-12 col-sm-8'>
  263.                 {{ form_widget(orderForm.submit, {'attr' : {'class': 'btn btn-danger btn-lg'}}) }}
  264.             </div>
  265.         </div>
  266.         {{ form_end(orderForm) }}
  267.     </div>
  268.     <!-- Modal zmena ceny (prevody jednotek) -->
  269.     <div class="modal fade" id="measurementModal" tabindex="-1" role="dialog" aria-labelledby="measurementModalTitle" aria-hidden="true">
  270.         <div class="modal-dialog" role="document">
  271.             <div class="modal-content">
  272.                 <div class="modal-header">
  273.                     <h5 class="modal-title" id="measurementModalTitle"></h5>
  274.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  275.                         <span aria-hidden="true">&times;</span>
  276.                     </button>
  277.                 </div>
  278.                 <div class="modal-body" id="measurementModalBody">
  279.                 </div>
  280.                 <div class="modal-footer">
  281.                     <button type="button" class="btn btn-secondary" data-dismiss="modal">{% trans %}Zrušit{% endtrans %}</button>
  282.                     <button type="button" id="measurement-modal-confirmation" class="btn btn-primary">{% trans %}Změnit{% endtrans %}</button>
  283.                 </div>
  284.             </div>
  285.         </div>
  286.     </div>
  287.     <!-- Obecny modal pro vypsani textu do divu bez tlacitek, napr pro invalidni kombinace zeme doruceni a parametru baliku-->
  288.     <div class="modal fade" id="messageModal" tabindex="-1" role="dialog" aria-labelledby="messageModalTitle" aria-hidden="true">
  289.         <div class="modal-dialog modal-lg" role="document">
  290.             <div class="modal-content">
  291.                 <div class="modal-header">
  292.                     <h5 class="modal-title" id="messageModalTitle"></h5>
  293.                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  294.                         <span aria-hidden="true">&times;</span>
  295.                     </button>
  296.                 </div>
  297.                 <div class="modal-body" id="messageModalBody">
  298.                 </div>
  299.             </div>
  300.         </div>
  301.     </div>
  302.     <span id="dimensionSelector" class="d-none"></span>
  303.     <span id="length-title" class="d-none">{% trans %}Délka musí být zadaná v centimetrech.{% endtrans %}</span>
  304.     <span id="width-title" class="d-none">{% trans %}Šířka musí být zadaná v centimetrech.{% endtrans %}</span>
  305.     <span id="height-title" class="d-none">{% trans %}Výška musí být zadaná v centimetrech.{% endtrans %}</span>
  306.     <span id="weight-title" class="d-none">{% trans %}Hmotnost musí být zadaná v kilogramech.{% endtrans %}</span>
  307.     <span id="circuit-title" class="d-none">{% trans %}Pozor, byl překročen limit pro maximální rozměry balíku!{% endtrans %}</span>
  308.     <span id="length-desc" class="d-none">
  309.         {% trans %}Zadaný rozměr délky je nejspíše v metrech, chcete jej převést na centimetry? <br>
  310.             Původní hodnota je <span id="length-oldValue"></span>, nová hodnota bude <span id="length-newValue"></span> cm.
  311.         {% endtrans %}
  312.     </span>
  313.     <span id="width-desc" class="d-none">
  314.         {% trans %}Zadaný rozměr šířky je nejspíše v metrech, chcete jej převést na centimetry? <br>
  315.             Původní hodnota je <span id="width-oldValue"></span>, nová hodnota bude <span id="width-newValue"></span> cm.
  316.         {% endtrans %}
  317.     </span>
  318.     <span id="height-desc" class="d-none">
  319.         {% trans %}Zadaný rozměr výšky je nejspíše v metrech, chcete jej převést na centimetry? <br>
  320.             Původní hodnota je <span id="height-oldValue"></span>, nová hodnota bude <span id="height-newValue"></span> cm.
  321.         {% endtrans %}
  322.     </span>
  323.     <span id="weight-desc" class="d-none">
  324.         {% trans %}Zadaný rozměr hmotnosti je nejspíše v gramech, chcete jej převést na kilogramy? <br>
  325.             Původní hodnota je <span id="weight-oldValue"></span>, nová hodnota bude <span id="weight-newValue"></span> kg.
  326.         {% endtrans %}
  327.     </span>
  328.     <span id="circuit-desc" class="d-none">
  329.         {% trans %}Součet délek všech stran musí být menší než 300 cm.{% endtrans %}
  330.         {% trans %}Součet je vypočítán jako (2x nejkratší strana + 2x prostřední strana + 1x nejdelší strana).{% endtrans %}
  331.     </span>
  332.     <span id="msgLength" class="d-none">{% trans %}Délka balíku musí být v rozsahu od 1 do 100 cm!{% endtrans %}</span>
  333.     <span id="msgWidth" class="d-none">{% trans %}Šířka balíku musí být v rozsahu od 1 do 100 cm!{% endtrans %}</span>
  334.     <span id="msgHeight" class="d-none">{% trans %}Výška balíku musí být v rozsahu od 1 do 100 cm!{% endtrans %}</span>
  335.     <span id="msgWeight" class="d-none">{% trans %}Hmotnost balíku musí být v rozsahu od 0.01 do 30 kg!{% endtrans %}</span>
  336.     <span id="msgContentDescription" class="d-none">{% trans %}Obsah balíku musí být vyplňen!{% endtrans %}</span>
  337.     <span id="msgNameMin" class="d-none">{% trans %}Jméno musí být dlouhé alespoň 2 znaky!{% endtrans %}</span>
  338.     <span id="msgNameMax" class="d-none">{% trans %}Jméno nesmí být delší než 50 znaků!{% endtrans %}</span>
  339.     <span id="msgAddressMin" class="d-none">{% trans %}Adresa musí být dlouhá alespoň 2 znaky!{% endtrans %}</span>
  340.     <span id="msgAddressMax" class="d-none">{% trans %}Adresa nesmí být delší než 50 znaků!{% endtrans %}</span>
  341.     <span id="msgCityMin" class="d-none">{% trans %}Město musí být dlouhé alespoň 2 znaky!{% endtrans %}</span>
  342.     <span id="msgCityMax" class="d-none">{% trans %}Město nesmí být delší než 50 znaků!{% endtrans %}</span>
  343.     <span id="msgZipCode" class="d-none">{% trans %}PSČ musí být číslo ve tvaru XXXXX nebo XXX XX!{% endtrans %}</span>
  344.     <span id="msgTelephone" class="d-none">{% trans %}Telefonní číslo musí být ve tvaru 606123123 nebo +420 606 123 123!{% endtrans %}</span>
  345.     <span id="msgEmail" class="d-none">{% trans %}E-mail musí být ve tvaru ab@ab.cz!{% endtrans %}</span>
  346.     <span id="msgCompanyNameMin" class="d-none">{% trans %}Název firmy musí být dlouhý alespoň 2 znaky!{% endtrans %}</span>
  347.     <span id="msgCompanyNameMax" class="d-none">{% trans %}Název firmy nesmí být delší než 50 znaků!{% endtrans %}</span>
  348.     <span id="msgCompanyRegNumberMin" class="d-none">{% trans %}IČO musí obsahovat alespoń 5 znaků!{% endtrans %}</span>
  349.     <span id="msgCompanyRegNumberMax" class="d-none">{% trans %}IČO musí obsahovat maximálně 20 znaků!{% endtrans %}</span>
  350.     <span id="msgCompanyVatNumberMin" class="d-none">{% trans %}DIČ musí obsahovat alespoń 5 znaků!{% endtrans %}</span>
  351.     <span id="msgCompanyVatNumberMax" class="d-none">{% trans %}DIČ musí obsahovat maximálně 20 znaků!{% endtrans %}</span>
  352. {% endblock %}