templates/snippets/modal-form-case-study.html.twig line 1

Open in your IDE?
  1. {% extends "layout-snippets.html.twig" %}
  2. {% block snippets %}
  3.     {% if editmode %}
  4.         <h2 class="uk-modal-title">{{ pimcore_textarea("content-title", {"nl2br" : true})|raw }}</h2>
  5.     {% endif %}
  6.     <div id="casestudy" uk-modal>
  7.         <div class="uk-modal-dialog uk-modal-body">
  8.             {% if not editmode %}
  9.                 <h2 class="uk-modal-title">{{ pimcore_textarea("content-title", {"nl2br" : true})|raw }}</h2>
  10.             {% endif %}
  11.             
  12.             <div class="apk-contact-snippets-container">
  13.                 {% if formStatus == "required-empty" %}
  14.                 
  15.                 <div class="uk-alert-danger" uk-alert>
  16.                 <a class="uk-alert-close" uk-close></a>
  17.                 <p>{{ "Please fill in all required fields. (*)"|trans }}</p>
  18.                 </div>
  19.                 {% elseif formStatus == "invalid-email" %}
  20.                 <div class="uk-alert-danger" uk-alert>
  21.                 <a class="uk-alert-close" uk-close></a>
  22.                 <p>{{ "Your email address is invalid. Please try again."|trans }}</p>
  23.                 </div>
  24.                 {% elseif formStatus == "robot" %}
  25.                 <div class="uk-alert-danger" uk-alert>
  26.                 <a class="uk-alert-close" uk-close></a>
  27.                 <p>{{ "A Recaptcha error occurred. Please try again."|trans }}</p>
  28.                 </div>
  29.                 {% endif %}
  30.                 {% if formStatus != "success" %}
  31.                     {{ form_start(form, {'action': '#casestudy', 'method': 'POST'}) }}
  32.                     <div uk-grid>
  33.                         <div class="uk-width-1-2@s uk-margin-small-top">
  34.                             {{ form_row(form.lastname, { 'attr': {'class' : 'uk-input'}}) }}
  35.                         </div>
  36.                         <div class="uk-width-1-2@s uk-margin-small-top">
  37.                             {{ form_row(form.firstname, { 'attr': {'class' : 'uk-input'}}) }}
  38.                         </div>
  39.                         <div class="uk-width-1-1 uk-margin-small-top">
  40.                             {{ form_row(form.email, { 'attr': {'class' : 'uk-input'}}) }}
  41.                         </div>
  42.                         <div class="uk-width-1-1 apk-conscent uk-margin-top">
  43.                             <div class="uk-grid-small" uk-grid>
  44.                                 <div class="uk-width-auto">{{ form_widget(form.gdpr, { 'attr': {'class' : 'uk-checkbox'}}) }}</div>
  45.                                 <div class="uk-width-expand"><label id="case_study_form_gdpr_label" for="case_study_form_gdpr">{{ "contact.conscent"|trans }}*</label></div>
  46.                             </div>
  47.                         </div>
  48.                         {{ form_widget(form.recaptcha) }}
  49.                         <div class="uk-width-1-1 uk-margin-top uk-text-right">
  50.                             {{ form_widget(form.submit) }}
  51.                         </div>
  52.                     </div>
  53.                     {{ form_end(form) }}
  54.                 {% else %}
  55.                     <div class="uk-alert-success" uk-alert>
  56.                         <a class="uk-alert-close" uk-close></a>
  57.                         <p>{{ "Thank you for registering. We have sent you the link to the PDF by e-mail."|trans }}</p>
  58.                     </div>
  59.                 {% endif %}
  60.             </div>
  61.         </div>
  62.     </div>
  63.     {% set recaptchaKeyPublic = pimcore_website_config('recaptchaKeyPublic') %}
  64.     <script src="https://www.google.com/recaptcha/api.js?onload=onloadRecaptchaCallback&render={{ recaptchaKeyPublic }}"></script>
  65.     <script>
  66.         function onloadRecaptchaCallback(){
  67.             grecaptcha.ready(function() {
  68.                 grecaptcha.execute('{{ recaptchaKeyPublic }}', {action: 'casestudy'}).then(function(token) {
  69.                 //alert('recaptcha is loaded');
  70.                 var recaptcha = document.getElementById('case_study_form_recaptcha');
  71.                 recaptcha.value = token;
  72.                 });
  73.             });
  74.         }
  75.         document.addEventListener("DOMContentLoaded", function () {
  76.             var formStatus = "{{ formStatus|e('js') }}";
  77.             if (formStatus === "success") {
  78.                 var modal = document.getElementById("casestudy");
  79.                 if (modal) {
  80.                     UIkit.modal(modal).show();
  81.                 }
  82.             }
  83.         });
  84.     </script>
  85. {% endblock snippets %}
  86.