templates/theme/default/component-forms/avis_form_template.html.twig line 1

Open in your IDE?
  1. {% import "theme/"~ app.request.server.get('APP_THEME') ~"/component-forms/_macro_form.html.twig" as forms %}
  2. <div class="avis_form">
  3. <div
  4. class="container-fluid content-wrapper">
  5. {#
  6. {% if bloc.form %}
  7. {% if bloc.form.name != '' %}
  8. <div class="titre-content-contact">
  9. <h2 class="title-2 text-start">{{bloc.form.name|raw }}</h2>
  10. </div>
  11. {% endif %}
  12. {% if bloc.form.text_name != '' %}
  13. <div class="text-content-contact">
  14. <p class="text-start">{{bloc.form.text_name|raw}}</p>
  15. </div>
  16. {% endif %}
  17. {% endif %}
  18. #}
  19. {% set espace_client = 1 %}
  20. <div
  21. class="row justify-content-center padding-top padding-bottom">
  22. {#
  23. <div class="col-lg-6">
  24. {{ render(controller('App\\Controller\\FrontEnd\\FeatureController::displayContactMap')) }}
  25. {% if bloc.param_contact.actifCoordonnees == 1 %}
  26. <div class="bloc-items-contact">
  27. <div class="row">
  28. <div class="col-lg-12 col-12">
  29. {{ render(controller('App\\Controller\\FrontEnd\\FeatureController::displayContactsList')) }}
  30. </div>
  31. <div class="col-lg-12 col-12">
  32. {{ render(controller('App\\Controller\\FrontEnd\\FeatureController::displayContactHoursPage')) }}
  33. </div>
  34. </div>
  35. </div>
  36. {% endif %}
  37. </div>
  38. #}
  39. {% if bloc.form %}
  40. <div class="col-lg-8">
  41. <form id="form-widget-{{bloc.form.id|encrypt}}" class="form-widget" novalidate="novalidate" enctype="multipart/form-data" method="post" action="{{path('submit_request')}}" data-status="init">
  42. <div class="row">
  43. {% set message = 'validation_form'|trans([],'variable') %}
  44. {% set dataForm = bloc.form.data['page-1'] %}
  45. {% for item in dataForm %}
  46. {% set label = item.label|default(null) %}
  47. {% set type = item.type|default(null) %}
  48. {% set name = item.name|default('') %}
  49. {% set className = item.className|default('') %}
  50. {% set placeholder = item.placeholder|default('') %}
  51. {% set customClass = item.customClass|default('') %}
  52. {% set maxlength = item.maxlength|default(null) %}
  53. {% set required = item.required is defined and item.required == 'true' ? 'required' : '' %}
  54. {% set multiple = item.multiple is defined and item.multiple == true ? true : false %}
  55. {% set errorMessage = item.ErrorMessage|default(message) %}
  56. <div class="{{ customClass }}">
  57. {% if item.type == "header" %}
  58. {{ forms.header(item.subtype, label) }}
  59. {% elseif item.type == "paragraph" %}
  60. {{ forms.header(item.subtype, label) }}
  61. {% elseif item.type == "button" %}
  62. {{ forms.button(name,item.subtype,className,label) }}
  63. {% elseif item.type == "select" %}
  64. {{ forms.select(name, className,required, item.multiple,item.values,label,placeholder,errorMessage) }}
  65. {% elseif item.type == "textarea" %}
  66. {{ forms.textarea(name, className,required, label, placeholder, item.rows|default(6),errorMessage) }}
  67. {% elseif item.type == "checkbox-group" %}
  68. {{ forms.checkbox(name, item.values, required, errorMessage, label) }}
  69. {% elseif item.type == "radio-group" %}
  70. {{ forms.radio(name, item.values, required, errorMessage, label) }}
  71. {% elseif item.type in ['number', 'text', 'file','hidden'] %}
  72. {{ forms.input(name, type,className,required,label,placeholder,maxlength,errorMessage,multiple) }}
  73. {% elseif item.type == 'date' %}
  74. {{ forms.inputDate(name,type,item.subtype|default('date'),className,required,label,placeholder,maxlength,errorMessage) }}
  75. {% endif %}
  76. </div>
  77. {% endfor %}
  78. <input type="hidden" name="token_id" value="{{ csrf_token('form_handler') }}">
  79. </div>
  80. </form>
  81. </div>
  82. {% endif %}
  83. <div class="col-12 avis-responses-section px-lg-5 mt-5">
  84. <div class="all_bloc_top">
  85. <div class="header-section">
  86. <h3>
  87. {{ 'avis.commentaires'|trans([], 'textes') }}
  88. </h3>
  89. <p>
  90. {{ 'avis.temoignages'|trans([], 'textes') }} / <span>{{ bloc.form.responses|length }} {{ 'avis.commentaires_count'|trans([], 'textes') }}</span>
  91. </p>
  92. </div>
  93. <div class="row">
  94. {% for response in bloc.form.responses %}
  95. <div class="col-12 col-md-6 col-lg-4 mb-4">
  96. <div class="avis-item h-100 d-flex flex-column" style="padding: 15px; border: 1px solid #9E9E9E; border-radius: 5px; background-color: #fcfcfc;">
  97. <div class="avis-header" style="margin-bottom: 10px; border-bottom: 1px dashed #ddd; padding-bottom: 10px;">
  98. <strong style="display: block; font-size: 1.1em; color: #333;">
  99. {{ response.data['nom'] }}
  100. {{ response.data['prenom'] }}
  101. </strong>
  102. {% if response.data.note is defined %}
  103. <div class="rating">
  104. {% for i in 1..5 %}
  105. <span class="star">{{ i <= response.data.note ? '★' : '☆' }}</span>
  106. {% endfor %}
  107. </div>
  108. {% endif %}
  109. <span>
  110. {{ response.createdAt|date('d/m/Y') }}
  111. </span>
  112. </div>
  113. {% if response.data.commentaire is defined and response.data.commentaire is not empty %}
  114. <p>
  115. {{ response.data.commentaire|nl2br }}
  116. </p>
  117. {% endif %}
  118. {# {% if response.reponse is defined and response.reponse is not empty %}
  119. <div class="reponse-equipe mt-auto has-response">
  120. <p>{{ 'avis.reponse_equipe'|trans([], 'textes') }}</p>
  121. <p>
  122. {{ response.reponse|nl2br }}
  123. </p>
  124. </div>
  125. {% else %}
  126. <div class="reponse-equipe mt-auto no-response">
  127. <p>{{ 'avis.attente_reponse'|trans([], 'textes') }}</p>
  128. </div>
  129. {% endif %} #}
  130. </div>
  131. </div>
  132. {% endfor %}
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. </div>