Error 500 Internal Server Error

GET https://mtsandbox.microtecnologiasmoviles.mx/checkout/order/8deccc1172c2f2ecb8bca6e3c99bc73c/quoterStep

Forwarded to ErrorController (8300d2)

Exceptions

Impossible to access an attribute ("folioCredicel") on a bool variable ("") in ordenes/order-quoterStep.html.twig at line 21.

Exception

Twig\Error\ RuntimeError

Show exception properties
Twig\Error\RuntimeError {#2425
  -lineno: 21
  -rawMessage: "Impossible to access an attribute ("folioCredicel") on a bool variable ("")."
  -source: Twig\Source {#2247
    -code: """
      {% extends 'base.html.twig' %}\n
      \n
      {% block title %}Cotizador{% endblock %}\n
      \n
      {% block body %}\n
          <link rel="stylesheet" href="{{ asset('css/ion.rangeSlider.css') }}">\n
          <link rel="stylesheet" href="{{ asset('css/ion.rangeSlider.skinNice.css') }}">\n
          <div class="my-6 p-2 lg:custom-container md:p-4">\n
              <div class="flex flex-col items-center justify-center">\n
                  <div class="w-full">\n
                      <h1 class="text-3xl font-bold mb-8 text-center md:text-left">Cotizador Credicel</h1>\n
                      <div class="grid grid-cols-1 md:grid-cols-12 gap-6">\n
                          {{ include('includes/info-compra.html.twig') }}\n
                          <div class="col-span-12 md:col-span-8 bg-white border rounded-lg shadow-md p-6" id="contentArea">\n
                              <form class="hidden" id="quoterFormData" action="{{ path('app_ordenes_saveQuote', {'orderEncoded': order.orderEncoded}) }}" method="post">\n
                                  <div id="addresses" class="content-section">\n
                                      {{ include('includes/pasos-credicel.html.twig') }}\n
                                      <img src="{{ asset('img/banners/banner2.png') }}">\n
                                      <h3 class="text-3xl font-bold text-center" style="margin-top: 10px;">Folio: <label\n
                                                  class="text-3xl font-bold"\n
                                                  style="color: #571666; font-size: 1.9rem;">{{ order.credicelToken.last.folioCredicel }}</label>\n
                                      </h3>\n
                                      <div class="flex flex-col md:flex-row justify-center p-4 rounded-lg gap-4">\n
                                          <!-- Marca -->\n
                                          <div class="lg:w-1/2 md:w-1/2 w-full px-4 py-3 bg-[#e9ecef] flex items-center justify-center gap-2 rounded-lg">\n
                                              <img src="{{ asset('img/marca_icons/'~order.detalleOrdens.last.producto.marca.nombre~'.png') }}" class="w-12 h-auto">\n
                                              <h4 class="text-2xl">{{ order.detalleOrdens.last.producto.marca.nombre | title }}</h4>\n
                                          </div>\n
      \n
                                          <!-- Modelo -->\n
                                          <div class="lg:w-1/2 md:w-1/2 w-full px-4 py-3 bg-[#e9ecef] flex items-center justify-center rounded-lg">\n
                                              <h4 class="text-2xl text-center">{{ order.detalleOrdens.last.producto.nombre | upper }}</h4>\n
                                          </div>\n
                                      </div>\n
      \n
                                      <div class="relative flex justify-center items-center p-4 mt-2 bg-white rounded-[18px]">\n
                                          <div class="absolute inset-0 rounded-[18px] border-[3px] border-transparent"\n
                                               style="background: linear-gradient(90deg, #6659CE 0%, #E14DF3 57%, #6659CE 150%);\n
                                             -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n
                                             mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);\n
                                             -webkit-mask-composite: xor;\n
                                             mask-composite: exclude;">\n
                                          </div>\n
                                          <h3 class="text-2xl font-bold text-gray-800 relative text-center sm:text-left">\n
                                              Precio de contado:\n
                                              <span class="block sm:inline text-[#571666]">$ {{ precioColaborador | number_format(2, '.', ',') }}</span>\n
                                          </h3>\n
                                      </div>\n
                                      <div class="lg:w-full md:w-full w-full hidden" id="infoEquipo">\n
                                          <div class="select-items">\n
                                              <div class="flex justify-center mt-4 border border-solid border-gray-300 rounded-xl p-2">\n
                                                  <div class="lg:w-1/2 md:w-1/2 w-full mb-2">\n
                                                      <div id="imgEquipo"></div>\n
                                                  </div>\n
                                                  <div class="lg:w-1/2 md:w-1/2 w-full mb-2">\n
                                                      <h5 class="text-xl mt-4" id="equipo">Samsung A03</h5>\n
                                                      <p class="text-base">Procesador: <span\n
                                                                  id="procesador">Octacore 1.6Gz</span><br>RAM:\n
                                                          <span id="ram">4GB</span><br> Almacenamiento: <span\n
                                                                  id="almacenamiento">64 GB*</span> <br>\n
                                                          Batería: <span id="bateria">5,000 mAh</span></p>\n
                                                  </div>\n
                                              </div>\n
                                          </div>\n
                                      </div>\n
                                      <div class="lg:w-full md:w-full w-full pt-3 hidden" id="precioContadoContainer">\n
                                          <label for="preciocontado" class="w-full text-2xl">Precio de contado:</label>\n
                                          <div class="input-form">\n
                                              <input type="text" name="preciocontado" id="preciocontado" value="{{ precioColaborador }}"\n
                                                     class="text-2xl text-black bg-transparent" disabled>\n
                                          </div>\n
                                      </div>\n
                                      <br>\n
                                      <!--div class="w-full">\n
                                          <p class="mt-4 bg-purple-100 text-purple-800 text-center p-2 rounded-md">\n
                                              Para visualizar los plazos disponibles de su cotización, primero deberá\n
                                              seleccionar una Marca y\n
                                              un Modelo.\n
                                          <p/>\n
                                      </div-->\n
                                      <div class="w-full">\n
                                          <p class="mt-4 bg-purple-100 text-purple-800 text-center p-2 rounded-md"\n
                                             role="alert">\n
                                              ¡Recuerda, puedes aumentar el pago del enganche, con el fin de disminuir tus pagos semanales!\n
                                          </p>\n
                                      </div>\n
                                      <br>\n
                                      <div id="plazos_container">\n
      {#                                    <div class="w-full pt-3 flex flex-col items-center text-center">#}\n
      {#                                        <label class="text-3xl font-bold">#}\n
      {#                                            Cotización#}\n
      {#                                        </label>#}\n
      {#                                        <label for="enganche" class="text-2xl font-bold">#}\n
      {#                                            Monto de enganche: <span class="text-[#5f2978] text-4xl">$</span>#}\n
      {#                                            <input class="text-[#5f2978] text-4xl w-full sm:w-1/2 border border-gray-300 p-2 rounded-md font-bold" id="montoEngancheChangeSlider" type="number" value="500.00" style="width: 15%">#}\n
      {#                                            <span class="text-[#5f2978] text-4xl" id="montoEngancheChangeSlider"> $500.00</span>#}\n
      {#                                        </label>#}\n
      {#                                    </div>#}\n
                                          <div class="mt-4 p-4 rounded-md flex flex-col sm:flex-row items-center gap-4 justify-center">\n
                                              <label for="enganche" class="whitespace-nowrap text-2xl font-bold">Monto de enganche:</label>\n
      \n
                                              <div class="flex items-center w-full sm:w-1/2 justify-center">\n
                                                  <span class="text-[#5f2978] text-4xl font-bold mr-2">$</span>\n
                                                  <input id="montoEngancheChangeSlider" type="number" placeholder="" name="enganche"\n
                                                         class="w-full border border-gray-300 p-2 rounded-md font-bold text-4xl text-center text-[#5f2978]">\n
                                              </div>\n
                                          </div>\n
                                          <div class="w-full cotiza pt-3">\n
                                              <div style="background: #fdd440; border-radius: 15px; padding: 3%;">\n
                                                  <div class="flex justify-between">\n
                                                      <label class="control-label">Enganche mínimo</label>\n
                                                      <label class="control-label">Enganche máximo</label>\n
                                                  </div>\n
                                                  <input type="text" id="slider-enganche" value="" name="enganche" class="irs-hidden-input" readonly style="display: none">\n
                                              </div>\n
                                              <div class="w-full hidden" id="mensajePromocionalContainer">\n
                                                  <p class="mt-4 bg-purple-100 text-purple-800 text-center p-2 rounded-md"\n
                                                     role="alert">\n
                                                      Monedero electrónico de <strong id="promocion">$100.00</strong> aplicado a su enganche <br>\n
                                                      Total enganche a pagar: <strong id="enganchePromocion">$268.00</strong>\n
                                                  </p>\n
                                              </div>\n
                                              <div class="w-full text-center mt-4">\n
                                                  <h4 class="font-bold">Seleccione el plazo que se ajuste mejor a su\n
                                                      presupuesto:</h4>\n
                                              </div>\n
                                              <div id="plazos" class="grid md:grid-cols-3 sm:grid-cols-2 grid-cols-1 gap-4 justify-center p-4">\n
                                                  <!-- Opción 13S -->\n
                                                  <label class="block cursor-pointer hidden" id="plazoContainer-13">\n
                                                      <input type="radio" name="plazo" value="13S" class="hidden" required>\n
                                                      <div class="plazo-card bg-[#79bcaf] text-white rounded-xl w-full flex flex-col items-center p-4 shadow-lg transition-all duration-300 hover:-translate-y-2">\n
                                                          <img src="{{ asset('img/13.png') }}" alt="13S" class="w-full max-w-[300px] mb-4">\n
                                                          <h5 class="text-2xl mb-2">Pago semanal:</h5>\n
                                                          <p id="ss13" class="text-3xl font-bold mb-2">$ 389.00</p>\n
                                                      </div>\n
                                                  </label>\n
      \n
                                                  <!-- Opción 26S -->\n
                                                  <label class="block cursor-pointer hidden" id="plazoContainer-26">\n
                                                      <input type="radio" name="plazo" value="26S" class="hidden" required>\n
                                                      <div class="plazo-card bg-[#ebb430] text-white rounded-xl w-full flex flex-col items-center p-4 shadow-lg transition-all duration-300 hover:-translate-y-2">\n
                                                          <img src="{{ asset('img/26.png') }}" alt="26S" class="w-full max-w-[300px] mb-4">\n
                                                          <h5 class="text-2xl mb-2">Pago semanal:</h5>\n
                                                          <p id="ss26" class="text-3xl font-bold mb-2">$ 389.00</p>\n
                                                      </div>\n
                                                  </label>\n
      \n
                                                  <!-- Opción 39S -->\n
                                                  <label class="block cursor-pointer hidden" id="plazoContainer-39">\n
                                                      <input type="radio" name="plazo" value="39S" class="hidden" required>\n
                                                      <div class="plazo-card bg-[#c64ea4] text-white rounded-xl w-full flex flex-col items-center p-4 shadow-lg transition-all duration-300 hover:-translate-y-2">\n
                                                          <img src="{{ asset('img/39.png') }}" alt="39S" class="w-full max-w-[300px] mb-4">\n
                                                          <h5 class="text-2xl mb-2">Pago semanal:</h5>\n
                                                          <p id="ss39" class="text-3xl font-bold mb-2">$ 389.00</p>\n
                                                      </div>\n
                                                  </label>\n
                                              </div>\n
                                          </div>\n
                                      </div>\n
                                      <!-- Banner y pregunta de chip -->\n
                                      {% if operadores is not empty %}\n
                                          <div class="flex items-center p-4 mb-4 text-sm text-yellow-700 bg-yellow-100 border border-yellow-400 rounded-lg" role="alert">\n
                                              <svg class="w-5 h-5 mr-2 text-yellow-700" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">\n
                                                  <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm1-11a1 1 0 10-2 0v4a1 1 0 002 0V7zm-1 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>\n
                                              </svg>\n
                                              <span class="sr-only">Warning</span>\n
                                              <div>\n
                                                  El equipo está limitado para uso con la red de ABIB. Asegúrate de tener un chip de esa compañía para poder usarlo sin problemas.\n
                                              </div>\n
                                          </div>\n
                                          <div class="w-full flex flex-col items-center justify-center mt-8">\n
                                              <div class="relative w-full max-w-[900px] rounded-2xl overflow-hidden bg-no-repeat bg-cover bg-center"\n
                                                   style="background-image: url('{{ asset('img/chips/banners/BANNERMORAD_Mesa de trabajo 1 copia 6.png') }}');">\n
                                                  <div class="flex items-center h-[180px] md:h-[220px] w-full">\n
                                                      <div class="flex flex-col items-center justify-center w-full md:w-2/3 ml-auto pr-2 md:pr-12">\n
                                                          <div class="mb-4 font-extrabold leading-tight text-center text-white max-w-[420px] w-full text-lg sm:text-xl md:text-2xl lg:text-3xl break-words">\n
                                                              ¿Quieres agregar un<br class="hidden md:block">chip a tu compra?\n
                                                          </div>\n
                                                          <div class="flex gap-4 sm:gap-6 bg-white bg-opacity-90 rounded-2xl p-2 w-fit items-center justify-center">\n
                                                              <label class="flex items-center gap-2 font-bold text-base sm:text-lg md:text-xl text-[#571666]">\n
                                                                  <input type="radio" name="agregar_chip" value="si" class="accent-[#571666]"  id="chip-si" required> Sí\n
                                                              </label>\n
                                                              <label class="flex items-center gap-2 font-bold text-base sm:text-lg md:text-xl text-[#571666]">\n
                                                                  <input type="radio" name="agregar_chip" value="no" class="accent-[#571666]" id="chip-no"> No\n
                                                              </label>\n
                                                          </div>\n
                                                      </div>\n
                                                  </div>\n
                                              </div>\n
                                          </div>\n
                                      {% endif %}\n
      \n
                                      <!-- Fin banner chip -->\n
                                  </div>\n
                                  <input class="hidden" type="text" name="token" value="{{ order.credicelToken.last.tokenCredicel }}">\n
                                  <input class="hidden" type="text" name="folio" value="{{ order.credicelToken.last.folioCredicel }}">\n
                                  <input class="hidden" type="text" name="bonificacion" id="bonificacion" value="0">\n
                                  <input class="hidden" type="text" name="operador_seleccionado" id="operador_seleccionado" value="">\n
      \n
                              \n
                                  <div style="display: flex; justify-content: center; margin-top: 2%">\n
                                      <button type="submit"\n
                                              class="bg-[rgb(87,22,102)] text-white font-semibold py-2 px-4 rounded-md shadow hover:bg-[rgb(87,22,102,0.8)] focus:ring-2 focus:ring-[rgb(87,22,102)] focus:ring-offset-2">\n
                                          CONTINUAR\n
                                      </button>\n
                                  </div>\n
                              </form>\n
                              {% for tipo, mensajes in app.flashes %}\n
                                  {% for mensaje in mensajes %}\n
                                      <div class="flex items-center p-4 mb-4 text-sm {{ tipo == 'success' ? 'text-green-700 bg-green-100 border border-green-400' : (tipo == 'error' ? 'text-red-700 bg-red-100 border border-red-400' : 'text-yellow-700 bg-yellow-100 border border-yellow-400') }} rounded-lg" role="alert">\n
                                          <svg class="w-5 h-5 mr-2 {{ tipo == 'success' ? 'text-green-700' : (tipo == 'error' ? 'text-red-700' : 'text-yellow-700') }}" fill="currentColor" viewbox="0 0 20 20" xmlns="http://www.w3.org/2000/svg">\n
                                              <path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm1-11a1 1 0 10-2 0v4a1 1 0 002 0V7zm-1 8a1 1 0 100-2 1 1 0 000 2z" clip-rule="evenodd"></path>\n
                                          </svg>\n
                                          <span class="sr-only">{{ tipo == 'success' ? 'Success' : (tipo == 'error' ? 'Error' : 'Warning') }}</span>\n
                                          <div>\n
                                              {{ mensaje }}\n
                                          </div>\n
                                      </div>\n
                                  {% endfor %}\n
                              {% endfor %}\n
                          </div>\n
                      </div>\n
                  </div>\n
              </div>\n
          </div>\n
          \n
          <!-- Modal de Compañías -->\n
          <div id="compañias-modal" class="fixed inset-0 bg-black bg-opacity-50 z-50 hidden flex items-center justify-center p-4 pb-8">\n
              <div class="bg-white rounded-2xl max-w-sm w-full max-h-[75vh] overflow-visible relative">\n
                  <!-- Logo posicionado parcialmente fuera del modal -->\n
                  <div class="absolute -top-12 left-1/2 transform -translate-x-1/2 z-10">\n
                      <img src="{{ asset('img/chips/banners/COMPAÑIA_Mesa de trabajo 1 copia 10.png') }}" \n
                           alt="Elige tu compañía" \n
                           class="w-64 h-auto">\n
                  </div>\n
                  \n
                  <!-- Contenido del modal con scroll -->\n
                  <div class="p-4 pt-16 max-h-[75vh] overflow-y-auto">\n
                      <h3 class="text-xl font-bold text-center mb-4 text-[#571666]">Selecciona tu compañía</h3>\n
                      \n
                      <!-- Grid de compañías -->\n
                      <div class="grid grid-cols-1 gap-2 mb-4 max-w-xs mx-auto">\n
                          {% for operador in operadores %}\n
                              <label class="cursor-pointer">\n
                                  <input type="radio" name="compañia_chip" value="{{ operador.id }}" class="hidden">\n
                                  <div class="compañia-card border-2 border-gray-200 rounded-lg p-1.5 hover:border-[#571666] transition-all duration-300">\n
                                      <img src="https://shop.credicel.mx/img/chips/operadores/{{ operador.id }}.png"\n
                                           alt="{{ operador.nombre }}"\n
                                           class="w-full h-auto rounded-md">\n
                                  </div>\n
                              </label>\n
                          {% endfor %}\n
                      </div>\n
                  </div>\n
              </div>\n
          </div>\n
      \n
          <div id="loading-modal" class="fixed inset-0 bg-black bg-opacity-50 z-50 hidden flex items-center justify-center">\n
              <div class="bg-white rounded-lg p-6 flex flex-col items-center">\n
                  <div class="animate-spin rounded-full h-12 w-12 border-t-2 border-b-2 border-purple-600 mb-4"></div>\n
                  <p id="loading-text" class="text-gray-700">Procesando...</p>\n
              </div>\n
          </div>\n
          \n
          <!-- Modal de Chips -->\n
          <div id="chips-modal" class="fixed inset-0 bg-black bg-opacity-50 z-50 hidden flex items-center justify-center p-8">\n
              <div class="bg-white rounded-2xl max-w-[600px] w-full max-h-[90vh] flex flex-col justify-between shadow-xl overflow-hidden">\n
                  <div class="flex justify-center pt-6 pb-2" id="operadorSeleccionado">\n
      \n
                  </div>\n
                  <!-- Contenido de chips -->\n
                  <div class="flex-1 flex overflow-y-auto px-3 pb-2 grid grid-cols-3 gap-4" id="chipsContainer">\n
      \n
                  </div>\n
                  <!-- Aviso Importante -->\n
      {#            <div class="bg-[#f3eaff] border border-[#8B2BB9] rounded-xl p-2 text-center m-3">#}\n
      {#                <h4 class="font-bold text-[#8B2BB9] mb-1 text-sm">Aviso Importante</h4>#}\n
      {#                <p class="text-[11px] text-[#571666] mb-0.5 leading-tight">#}\n
      {#                    Antes de continuar, verifica que tu teléfono esté liberado y sea compatible con la red de la compañía elegida.#}\n
      {#                </p>#}\n
      {#                <p class="text-[11px] text-[#571666] leading-tight">#}\n
      {#                    Si tienes dudas, consulta con nuestro personal o revisa las especificaciones de tu equipo.#}\n
      {#                </p>#}\n
      {#            </div>#}\n
              </div>\n
          </div>\n
      \n
          <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>\n
          <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"\n
                  integrity="sha512-v2CJ7UaYy4JwqLDIrZUI/4hqeoQieOmAZNXBeQyjo21dadnwR+8ZaIJVT8EE2iyI61OV8e6M8PP2/4hpQINQ/g=="\n
                  crossorigin="anonymous" referrerpolicy="no-referrer"></script>\n
          <script src="{{ asset('js/ion.rangeSlider.js') }}"></script>\n
          <script src="{{ asset('js/jsrsasign-all-min.js') }}"></script>\n
          <script src="{{ asset('js/CirculoCredito.js') }}?1.0"></script>\n
          <script>\n
              document.addEventListener('DOMContentLoaded', () => {\n
                  const container = document.getElementById('plazos');\n
                  const radios = container.querySelectorAll('input[type="radio"]');\n
                  const cards = container.querySelectorAll('.plazo-card');\n
      \n
                  radios.forEach((radio, index) => {\n
                      radio.addEventListener('change', () => {\n
                          cards.forEach((card, i) => {\n
                              // Limpia todas las clases de fondo y borde\n
                              card.classList.remove('bg-[#79bcaf]', 'bg-[#ebb430]', 'bg-[#c64ea4]', 'bg-purple-600', 'bg-gray-300', 'ring-4', 'ring-purple-500', 'ring-offset-2');\n
      \n
                              if (i === index) {\n
                                  // Aplica el fondo morado y el borde\n
                                  card.classList.add('bg-purple-600', 'ring-4', 'ring-purple-500', 'ring-offset-2');\n
                              } else {\n
                                  // Aplica gris a los demás\n
                                  card.classList.add('bg-gray-300');\n
                              }\n
                          });\n
                      });\n
                  });\n
              });\n
          </script>\n
          <script>\n
              let engancheMinimo = 0;\n
              let engancheMaximo = 0;\n
              let usarPromocion = false;\n
              let bonificacion = 0;\n
      \n
              document.addEventListener('DOMContentLoaded', async function () {\n
                  showLoadingModal();\n
                  let consultaBuro = await solicitudCirculoCreditoJS('{{ order.credicelToken.last.folioCredicel }}');\n
                  if (consultaBuro) {\n
                      obtenerDatosEvaluacion()\n
                  } else {\n
                  }\n
              })\n
      \n
      \n
              function showLoadingModal(message = 'Procesando...') {\n
                  const loadingModal = document.getElementById('loading-modal');\n
                  const loadingText = document.getElementById('loading-text');\n
                  loadingText.textContent = message;\n
                  loadingModal.classList.remove('hidden');\n
              }\n
      \n
              function hideLoadingModal() {\n
                  const loadingModal = document.getElementById('loading-modal');\n
                  loadingModal.classList.add('hidden');\n
              }\n
      \n
              document.querySelector("#quoterFormData").addEventListener('submit', function (e){\n
                  e.preventDefault();\n
                  Swal.fire({\n
                      html: `<img src="../../../img/alertas/info.gif" style="margin-left: 30%;"  alt="" width="40%"><p class="">¿Los datos son correctos?</p>`,\n
                      showCancelButton: true,\n
                      confirmButtonText: 'Sí, enviar',\n
                      cancelButtonText: 'Cancelar',\n
                      reverseButtons: true,\n
                      allowOutsideClick: false,\n
                      allowEscapeKey: false,\n
                      customClass: {\n
                          popup: 'swal-msg',\n
                          confirmButton: "btn bg-morado",\n
                          cancelButton: "btn bg-yellow-500"\n
                      },\n
                  }).then((result) => {\n
                      if (result.isConfirmed) {\n
                          showLoadingModal();\n
                          this.submit();\n
                      }\n
                  })\n
              })\n
      \n
              function obtenerDatosEvaluacion() {\n
                  let data = new FormData();\n
                  data.append('folio', '{{ order.credicelToken.last.folioCredicel }}');\n
                  data.append('token', '{{ order.credicelToken.last.tokenCredicel }}');\n
                  fetch('/api/cotizador/revisarEvaluacionInicial', {\n
                      method: 'POST',\n
                      body: data\n
                  }).then(response => {\n
                      return response.json();\n
                  }).then(dataResponse => {\n
                      let response = dataResponse.data;\n
                      if ((response.status == false || response.status == 0) && (response.code == '1')) {\n
                          availableCredit = false;\n
                          Swal.fire({\n
                              html: `<img src="../../../img/alertas/error.gif" style="margin-left: 30%;"  alt="" width="40%"><p class="">Lamentamos informarte que los datos proporcionados no han pasado nuestros lineamientos para poder proporcionarle un crédito, debido al resultado de tu historial crediticio.</p>`,\n
                              customClass: {\n
                                  popup: 'swal-msg',\n
                                  confirmButton: "btn bg-morado"\n
                              },\n
                              confirmButtonText: "Aceptar"\n
                          }).then(result => {\n
                              if (result.isConfirmed) {\n
                              }\n
                          });\n
                      } else if (response.status == false || response.status == 0 && (response.code == null)) {\n
                          Swal.fire({\n
                              html: `<img src="../../../img/alertas/error.gif" style="margin-left: 30%;"  alt="" width="40%"><p class="">${response.msg}</p>`,\n
                              customClass: {\n
                                  popup: 'swal-msg',\n
                                  confirmButton: "btn bg-morado"\n
                              },\n
                              confirmButtonText: "Aceptar"\n
                          }).then(result => {\n
                              if (result.isConfirmed) {\n
                              }\n
                          });\n
                      } else {\n
                          actualizarPlazos();\n
                      }\n
                  })\n
              }\n
      \n
              function actualizarPlazos() {\n
                  let formData = new FormData();\n
                  formData.append('folio', '{{ order.credicelToken.last.folioCredicel }}');\n
                  formData.append('claveEquipo', 'K70023491');\n
                  formData.append('token', '{{ order.credicelToken.last.tokenCredicel }}');\n
                  fetch('/api/cotizador/actualizarEvaluacionEquipo', {\n
                      method: 'POST',\n
                      body: formData\n
                  }).then(res => {\n
                      return res.json();\n
                  }).then(response => {\n
                      if (response.success) {\n
                          hideLoadingModal();\n
                          document.querySelector('#quoterFormData').classList.remove('hidden');\n
                          mostrarPlazosOfrecidos(response.data.plazos, '#plazos_table')\n
                          engancheMinimo = response.data.plazos[0].enganche;\n
                          engancheMaximo = parseFloat((response.data.precio_contado * .70).toFixed(2));\n
                          changeSliderMount(response.data.plazos[0].enganche, (response.data.precio_contado * .70).toFixed(2));\n
                          let format = new Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD'});\n
                          document.querySelector('#montoEngancheChangeSlider').value = response.data.plazos[0].enganche;\n
                          if (response.data.bonificacion > 0){\n
                              deseaUsarBonificacion(response.data.bonificacion);\n
                          }\n
                          if (response.data.promocion != false) {\n
                              // $('.promocion-enganche').prop('hidden', false)\n
                              // $('.enganche-promocion').text(numeroConComas(response.data.plazos[0].enganche))\n
                              // $('.descuento-promocion').text(numeroConComas(response.data.promocion.descuento))\n
                              // $('.total-promocion').text(numeroConComas(response.data.plazos[0].enganche - response.data.promocion.descuento))\n
                          }\n
                      } else {\n
                          // $('#enganche').val('');\n
                          // $(inputPlazos).prop('disabled', true)\n
                          // desactivarEnvioCotizacion(false)\n
                      }\n
                  })\n
              }\n
      \n
              function deseaUsarBonificacion(monedero){\n
                  Swal.fire({\n
                      html: `<img src="../../../img/alertas/info.gif" style="margin-left: 30%;"  alt="" width="40%"><p class="">Cuentas con un monedero electrónico de $${monedero.toFixed(2)} ¿Deseas aplicarlo para reducir tu enganche?</p>`,\n
                      showCancelButton: true,\n
                      confirmButtonText: 'Sí',\n
                      cancelButtonText: 'No',\n
                      reverseButtons: true,\n
                      allowOutsideClick: false,\n
                      allowEscapeKey: false,\n
                      customClass: {\n
                          popup: 'swal-msg',\n
                          confirmButton: "btn bg-morado",\n
                          cancelButton: "btn bg-yellow-500"\n
                      },\n
                  }).then((result) => {\n
                      if (result.isConfirmed) {\n
                          document.querySelector("#mensajePromocionalContainer").classList.remove('hidden');\n
                          bonificacion = monedero;\n
                          if (parseFloat(document.querySelector('#montoEngancheChangeSlider').value) <= parseFloat(bonificacion)){\n
                              let my_range = sliderEnganche.data("ionRangeSlider");\n
                              my_range.update({\n
                                  from: bonificacion,\n
                                  min: bonificacion\n
                              });\n
                              document.querySelector('#montoEngancheChangeSlider').value = bonificacion;\n
                              engancheMinimo = bonificacion;\n
                              ajustarPrecioPlazos(bonificacion);\n
                          }\n
                          document.querySelector("#bonificacion").value = bonificacion;\n
                          actulizarEngancheByBonificacion();\n
                      }\n
                  })\n
              }\n
      \n
              function actulizarEngancheByBonificacion(){\n
                  document.querySelector("#promocion").innerHTML = "$" + bonificacion.toFixed(2);\n
                  document.querySelector("#enganchePromocion").innerHTML = "$" + (document.querySelector('#montoEngancheChangeSlider').value - bonificacion).toFixed(2);\n
              }\n
      \n
              function ajustarPrecioPlazos(engancheNuevo) {\n
                  actulizarEngancheByBonificacion();\n
                  showLoadingModal();\n
                  const precio = $('#preciocontado').val();\n
                  let dataSend = new FormData();\n
                  dataSend.append('folio', '{{ order.credicelToken.last.folioCredicel }}');\n
                  dataSend.append('precio', precio)\n
                  dataSend.append('enganche', engancheNuevo)\n
      \n
                  fetch("/api/cotizador/ajustarPlazosCotizacionEnganche", {\n
                      method: 'POST',\n
                      body: dataSend\n
                  }).then(dataResponse => {\n
                      return dataResponse.json()\n
                  }).then(response => {\n
                      hideLoadingModal();\n
                      if (response.success == true) {\n
                          response = response.data;\n
                          mostrarPlazosOfrecidos(response.data, '#plazos_table');\n
                      } else {\n
                          Swal.fire({\n
                              html: `<img src="../../../img/alertas/error.gif" style="margin-left: 30%;"  alt="" width="40%"><p class="">${response.msg}</p>`,\n
                              allowOutsideClick: false,\n
                              allowEscapeKey: false,\n
                              customClass: {\n
                                  popup: 'swal-msg',\n
                                  confirmButton: "btn bg-morado"\n
                              },\n
                              confirmButtonText: "Aceptar",\n
                          });\n
                      }\n
                  })\n
              }\n
      \n
              function mostrarPlazosOfrecidos(arraySemanas, selector) {\n
                  let options = {style: 'currency', currency: 'USD'};\n
                  let format = new Intl.NumberFormat('en-US', options);\n
                  arraySemanas.forEach(plazo => {\n
                      let plazoSelector = plazo.plazo.replace('S', '');\n
                      document.querySelector("#ss" + plazoSelector).innerHTML = format.format(plazo.pago_semanal);\n
                      //document.querySelector("#st" + plazoSelector).innerHTML = format.format(plazo.saldo_pagar);\n
                      document.querySelector("#plazoContainer-" + plazoSelector).classList.remove('hidden');\n
                  })\n
              }\n
          </script>\n
          <script>\n
              let sliderEnganche = $("#slider-enganche");\n
              const slideValue = document.querySelector("span");\n
              const inputSlider = document.querySelector("input");\n
              inputSlider.oninput = (() => {\n
                  let value = inputSlider.value;\n
                  slideValue.textContent = value;\n
                  slideValue.style.left = (value / 2) + "%";\n
                  slideValue.classList.add("show");\n
              });\n
              inputSlider.onblur = (() => {\n
                  slideValue.classList.remove("show");\n
              });\n
      \n
              sliderEnganche.ionRangeSlider({\n
                  type: "single",\n
                  min: parseFloat(0).toFixed(2),\n
                  max: parseFloat(0).toFixed(2),\n
                  step: 1,\n
                  grid: true,\n
                  prefix: "<i class='fa fa-dollar'></i> ",\n
                  prettify_enabled: true,\n
                  prettify_separator: ",",\n
                  from: parseFloat(0),\n
                  onChange: function (data) {\n
                  },\n
                  onFinish: function (data) {\n
                      let format = new Intl.NumberFormat('en-US', {style: 'currency', currency: 'USD'});\n
                      document.querySelector('#montoEngancheChangeSlider').value = data.from;\n
                      ajustarPrecioPlazos(data.from);\n
                  },\n
                  grid_num: 2\n
              });\n
      \n
              document.querySelector('#montoEngancheChangeSlider').addEventListener('change', function (){\n
                  this.value = parseFloat(this.value);\n
                  if (this.value < engancheMinimo) {\n
                      Swal.fire({\n
                          html: `<img src="../../../img/alertas/error.gif" style="margin-left: 30%;"  alt="" width="40%"><p class="">Lo sentimos, el monto de enganche no puede ser menor al enganche minimo proporcionado</p>`,\n
                          allowOutsideClick: false,\n
                          allowEscapeKey: false,\n
                          customClass: {\n
                              popup: 'swal-msg',\n
                              confirmButton: "btn bg-morado"\n
                          },\n
                          confirmButtonText: "Aceptar",\n
                      });\n
                      this.value = engancheMinimo;\n
                      let my_range = sliderEnganche.data("ionRangeSlider");\n
                      my_range.update({\n
                          from: this.value\n
                      });\n
                      ajustarPrecioPlazos(this.value);\n
                  } else if (this.value > engancheMaximo) {\n
                      Swal.fire({\n
                          html: `<img src="../../../img/alertas/error.gif" style="margin-left: 30%;"  alt="" width="40%"><p class="">Lo sentimos, el monto de enganche no puede ser mayor al enganche máximo proporcionado</p>`,\n
                          allowOutsideClick: false,\n
                          allowEscapeKey: false,\n
                          customClass: {\n
                              popup: 'swal-msg',\n
                              confirmButton: "btn bg-morado"\n
                          },\n
                          confirmButtonText: "Aceptar",\n
                      });\n
                      this.value = engancheMaximo;\n
                      let my_range = sliderEnganche.data("ionRangeSlider");\n
                      my_range.update({\n
                          from: this.value\n
                      });\n
                      ajustarPrecioPlazos(this.value);\n
                  } else {\n
                      let my_range = sliderEnganche.data("ionRangeSlider");\n
                      my_range.update({\n
                          from: this.value\n
                      });\n
                      ajustarPrecioPlazos(this.value);\n
                  }\n
              })\n
      \n
              function changeSliderMount(enganche, contado) {\n
                  let my_range = sliderEnganche.data("ionRangeSlider");\n
                  my_range.update({\n
                      from: enganche,\n
                      min: enganche,\n
                      max: contado\n
                  });\n
                  my_range.reset();\n
              }\n
          </script>\n
      \n
          {% if operadores is not empty %}\n
              <!-- Script para modal de compañías -->\n
              <script>\n
                  document.addEventListener('DOMContentLoaded', function() {\n
                      const chipSi = document.getElementById('chip-si');\n
                      const chipNo = document.getElementById('chip-no');\n
                      const modal = document.getElementById('compañias-modal');\n
                      const compañiaCards = document.querySelectorAll('.compañia-card');\n
                      const compañiaRadios = document.querySelectorAll('input[name="compañia_chip"]');\n
      \n
                      let selectedOperador = null;\n
      \n
                      // Abrir modal cuando seleccionen "Sí"\n
                      chipSi.addEventListener('change', function() {\n
                          if (this.checked) {\n
                              if (compañiaRadios.length == 1){\n
                                  const operadorSeleccionado = document.querySelectorAll('input[name="compañia_chip"]')[0];\n
                                  operadorSeleccionado.checked = true;\n
                                  seleccionarOperador(operadorSeleccionado, 0);\n
                              } else {\n
                                  modal.classList.remove('hidden');\n
                                  document.body.style.overflow = 'hidden'; // Prevenir scroll del fondo\n
                              }\n
                          }\n
                      });\n
      \n
                      // Manejar selección de compañías\n
                      compañiaRadios.forEach(function(radio, index) {\n
                          radio.addEventListener('change', function() {\n
                              if (this.checked) {\n
                                  seleccionarOperador(this, index);\n
                              }\n
                          });\n
                      });\n
      \n
                      // Cerrar modal al hacer click fuera\n
                      modal.addEventListener('click', function(e) {\n
                          if (e.target === modal) {\n
                              cerrarModal();\n
                              chipNo.checked = true;\n
                              chipSi.checked = false;\n
                          }\n
                      });\n
      \n
                      function seleccionarOperador(operador, index){\n
                          selectedOperador = operador.value;\n
                          showLoadingModal();\n
                          // Resetear todas las cards\n
                          compañiaCards.forEach(function(card) {\n
                              card.classList.remove('border-[#571666]', 'bg-purple-50');\n
                              card.classList.add('border-gray-200');\n
                          });\n
      \n
                          // Marcar la card seleccionada\n
                          const selectedCard = compañiaCards[index];\n
                          selectedCard.classList.remove('border-gray-200');\n
                          selectedCard.classList.add('border-[#571666]', 'bg-purple-50');\n
      \n
                          document.querySelector("#operadorSeleccionado").innerHTML = `<img style="width: 50%;" src="https://shop.credicel.mx/img/chips/operadores/${selectedOperador}.png">`\n
                          // Ejecutar acción según la compañía seleccionada\n
                          fetch('/item/operador/'+selectedOperador).then(response => {\n
                              return response.json();\n
                          }).then(dataResponse => {\n
                              hideLoadingModal();\n
                              cerrarModal();\n
                              renderChipsDisponibles(dataResponse.data);\n
                          })\n
                      }\n
      \n
                      // Función para cerrar modal\n
                      function cerrarModal() {\n
                          modal.classList.add('hidden');\n
                          document.body.style.overflow = ''; // Restaurar scroll\n
      \n
                          // Resetear selección\n
                          selectedOperador = null;\n
      \n
                          // Resetear cards\n
                          compañiaCards.forEach(function(card) {\n
                              card.classList.remove('border-[#571666]', 'bg-purple-50');\n
                              card.classList.add('border-gray-200');\n
                          });\n
      \n
                          // Resetear radios\n
                          compañiaRadios.forEach(function(radio) {\n
                              radio.checked = false;\n
                          });\n
                      }\n
                  });\n
      \n
                  function renderChipsDisponibles(planesDisponibles){\n
                      for (let plan of planesDisponibles) {\n
                          let chipModel = `\n
                          <div class="bg-white rounded-xl gap-4 items-center px-4 py-4 mb-2" style="min-height: 110px;">\n
                              <img src="https://shop.credicel.mx/files/catalogo/${plan.images.principal}.webp" alt="Chip Telcel" class="w-full object-contain rounded-md bg-white">\n
                              <div class="flex justify-center">\n
                                  <button type="button" onclick="addPlanChipToQuoter(${plan.id})" class="chip-confirm-btn mt-2 bg-[#8B2BB9] hover:bg-[#6d1e99] text-white font-bold py-1 px-4 rounded-2xl flex items-center gap-2 text-xs shadow-md transition-colors w-fit" data-chip="telcel_express_100" data-price="129.00">\n
                                      <span>Confirmar chip</span>\n
                                      <span class="bg-white rounded-full w-5 h-5 flex items-center justify-center text-[#8B2BB9] font-bold text-base ml-1">+</span>\n
                                  </button>\n
                              </div>\n
                          </div>\n
                          <div class="border-b-2 border-[#8B2BB9] mt-3"></div>\n
                          `;\n
      \n
                          let chipPattern = document.createElement('div');\n
                          chipPattern.classList.add('py-2');\n
                          chipPattern.innerHTML = chipModel;\n
      \n
                          let chipsContainer = document.querySelector("#chipsContainer");\n
                          chipsContainer.appendChild(chipPattern);\n
                      }\n
                      document.getElementById('chips-modal').classList.remove('hidden');\n
                      document.body.style.overflow = 'hidden';\n
                  }\n
      \n
                  function addPlanChipToQuoter(planChipId){\n
                      document.getElementById('operador_seleccionado').value = planChipId;\n
                      // Mostrar confirmación\n
                      Swal.fire({\n
                          html: `<img src="../../../img/alertas/success.gif" style="margin-left: 30%;"  alt="" width="40%"><p class="">Has agregado un chip a tu compra.</p>`,\n
                          customClass: {\n
                              popup: 'swal-msg',\n
                              confirmButton: "btn bg-morado"\n
                          },\n
                          confirmButtonText: "Continuar"\n
                      }).then(() => {\n
                          // Cerrar modal\n
                          document.getElementById('chips-modal').classList.add('hidden');\n
                          document.body.style.overflow = '';\n
                      });\n
                  }\n
              </script>\n
              <script>\n
                  // Manejar selección de "No" en agregar chip\n
                  document.addEventListener('DOMContentLoaded', function() {\n
                      const chipNo = document.getElementById('chip-no');\n
      \n
                      chipNo.addEventListener('change', function() {\n
                          if (this.checked) {\n
                              // Limpiar campo oculto\n
                              document.getElementById('operador_seleccionado').value = '';\n
                          }\n
                      });\n
                  });\n
              </script>\n
          {% endif %}\n
      {% endblock %}\n
      \n
      """
    -name: "ordenes/order-quoterStep.html.twig"
    -path: "/home/microtecnologias/www/ecommerceCredicel/templates/ordenes/order-quoterStep.html.twig"
  }
  -phpFile: "/home/microtecnologias/www/ecommerceCredicel/vendor/twig/twig/src/Extension/CoreExtension.php"
  -phpLine: 1739
}
  1.                             <div id="addresses" class="content-section">
  2.                                 {{ include('includes/pasos-credicel.html.twig') }}
  3.                                 <img src="{{ asset('img/banners/banner2.png') }}">
  4.                                 <h3 class="text-3xl font-bold text-center" style="margin-top: 10px;">Folio: <label
  5.                                             class="text-3xl font-bold"
  6.                                             style="color: #571666; font-size: 1.9rem;">{{ order.credicelToken.last.folioCredicel }}</label>
  7.                                 </h3>
  8.                                 <div class="flex flex-col md:flex-row justify-center p-4 rounded-lg gap-4">
  9.                                     <!-- Marca -->
  10.                                     <div class="lg:w-1/2 md:w-1/2 w-full px-4 py-3 bg-[#e9ecef] flex items-center justify-center gap-2 rounded-lg">
  11.                                         <img src="{{ asset('img/marca_icons/'~order.detalleOrdens.last.producto.marca.nombre~'.png') }}" class="w-12 h-auto">
  1.         yield "\">
  2.                                 <h3 class=\"text-3xl font-bold text-center\" style=\"margin-top: 10px;\">Folio: <label
  3.                                             class=\"text-3xl font-bold\"
  4.                                             style=\"color: #571666; font-size: 1.9rem;\">";
  5.         // line 21
  6.         yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->sourceCoreExtension::getAttribute($this->env$this->source, (isset($context["order"]) || array_key_exists("order"$context) ? $context["order"] : (function () { throw new RuntimeError('Variable "order" does not exist.'21$this->source); })()), "credicelToken", [], "any"falsefalsefalse21), "last", [], "any"falsefalsefalse21), "folioCredicel", [], "any"falsefalsefalse21), "html"nulltrue);
  7.         yield "</label>
  8.                                 </h3>
  9.                                 <div class=\"flex flex-col md:flex-row justify-center p-4 rounded-lg gap-4\">
  10.                                     <!-- Marca -->
  11.                                     <div class=\"lg:w-1/2 md:w-1/2 w-full px-4 py-3 bg-[#e9ecef] flex items-center justify-center gap-2 rounded-lg\">
in vendor/twig/twig/src/Template.php -> block_body (line 446)
  1.             throw new \LogicException('A block must be a method on a \Twig\Template instance.');
  2.         }
  3.         if (null !== $template) {
  4.             try {
  5.                 yield from $template->$block($context$blocks);
  6.             } catch (Error $e) {
  7.                 if (!$e->getSourceContext()) {
  8.                     $e->setSourceContext($template->getSourceContext());
  9.                 }
  1.         yield from $this->load("includes/header.html.twig"42)->unwrap()->yield($context);
  2.         // line 43
  3.         yield "    <main class=\"overflow-hidden min-h-[60vh]\">
  4.         ";
  5.         // line 44
  6.         yield from $this->unwrap()->yieldBlock('body'$context$blocks);
  7.         // line 46
  8.         yield "    </main>
  9.     <div x-data=\"chatBot()\" class=\"fixed bottom-6 right-6 z-50\">
  10.         <div
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1.     {
  2.         $context += $this->env->getGlobals();
  3.         $blocks array_merge($this->blocks$blocks);
  4.         try {
  5.             yield from $this->doDisplay($context$blocks);
  6.         } catch (Error $e) {
  7.             if (!$e->getSourceContext()) {
  8.                 $e->setSourceContext($this->getSourceContext());
  9.             }
  1.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  2.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template""ordenes/order-quoterStep.html.twig"));
  3.         $this->parent $this->load("base.html.twig"1);
  4.         yield from $this->parent->unwrap()->yield($contextarray_merge($this->blocks$blocks));
  5.         
  6.         $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  7.         
  8.         $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
in vendor/twig/twig/src/Template.php -> doDisplay (line 402)
  1.     {
  2.         $context += $this->env->getGlobals();
  3.         $blocks array_merge($this->blocks$blocks);
  4.         try {
  5.             yield from $this->doDisplay($context$blocks);
  6.         } catch (Error $e) {
  7.             if (!$e->getSourceContext()) {
  8.                 $e->setSourceContext($this->getSourceContext());
  9.             }
  1.         return $this->blocks;
  2.     }
  3.     public function display(array $context, array $blocks = []): void
  4.     {
  5.         foreach ($this->yield($context$blocks) as $data) {
  6.             echo $data;
  7.         }
  8.     }
  9.     public function render(array $context): string
in vendor/twig/twig/src/Template.php -> display (line 373)
  1.                 ob_start();
  2.             } else {
  3.                 ob_start(function () { return ''; });
  4.             }
  5.             try {
  6.                 $this->display($context);
  7.             } catch (\Throwable $e) {
  8.                 while (ob_get_level() > $level) {
  9.                     ob_end_clean();
  10.                 }
  1.         yield from $this->template->yieldBlock($name$context);
  2.     }
  3.     public function render(array $context = []): string
  4.     {
  5.         return $this->template->render($context);
  6.     }
  7.     /**
  8.      * @return void
  9.      */
  1.      * @throws SyntaxError  When an error occurred during compilation
  2.      * @throws RuntimeError When an error occurred during rendering
  3.      */
  4.     public function render($name, array $context = []): string
  5.     {
  6.         return $this->load($name)->render($context);
  7.     }
  8.     /**
  9.      * Displays a template.
  10.      *
  1.         if (null !== $block) {
  2.             return $this->container->get('twig')->load($view)->renderBlock($block$parameters);
  3.         }
  4.         return $this->container->get('twig')->render($view$parameters);
  5.     }
  6.     private function doRender(string $view, ?string $block, array $parameters, ?Response $responsestring $method): Response
  7.     {
  8.         $content $this->doRenderView($view$block$parameters$method);
  1.         return $this->container->get('twig')->render($view$parameters);
  2.     }
  3.     private function doRender(string $view, ?string $block, array $parameters, ?Response $responsestring $method): Response
  4.     {
  5.         $content $this->doRenderView($view$block$parameters$method);
  6.         $response ??= new Response();
  7.         if (200 === $response->getStatusCode()) {
  8.             foreach ($parameters as $v) {
  9.                 if ($v instanceof FormInterface && $v->isSubmitted() && !$v->isValid()) {
  1.      * If an invalid form is found in the list of parameters, a 422 status code is returned.
  2.      * Forms found in parameters are auto-cast to form views.
  3.      */
  4.     protected function render(string $view, array $parameters = [], ?Response $response null): Response
  5.     {
  6.         return $this->doRender($viewnull$parameters$response__FUNCTION__);
  7.     }
  8.     /**
  9.      * Renders a block in a view.
  10.      *
AbstractController->render('ordenes/order-quoterStep.html.twig', array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0)) in src/Controller/OrdenesController.php (line 393)
  1.         $colRequest $request->attributes->get('colaborador');
  2.         $colaborador $colaboradoresRepository->find($colRequest->getId());
  3.         $operadoresDisponibles $colaborador->getOperadoresMoviles()->toArray();
  4.         return $this->render('ordenes/order-quoterStep.html.twig', [
  5.             'order' => $order,
  6.             'steps' => $pasosByOrder,
  7.             'operadores' => $operadoresDisponibles,
  8.             'precioColaborador' => $order->getDetalleOrdens()->last()->getProducto()->getPrecioVentaColaborador($colaborador)
  9.         ]);
  1.         $this->dispatcher->dispatch($eventKernelEvents::CONTROLLER_ARGUMENTS);
  2.         $controller $event->getController();
  3.         $arguments $event->getArguments();
  4.         // call controller
  5.         $response $controller(...$arguments);
  6.         // view
  7.         if (!$response instanceof Response) {
  8.             $event = new ViewEvent($this$request$type$response$event);
  9.             $this->dispatcher->dispatch($eventKernelEvents::VIEW);
  1.         $request->headers->set('X-Php-Ob-Level', (string) ob_get_level());
  2.         $this->requestStack->push($request);
  3.         $response null;
  4.         try {
  5.             return $response $this->handleRaw($request$type);
  6.         } catch (\Throwable $e) {
  7.             if ($e instanceof \Error && !$this->handleAllThrowables) {
  8.                 throw $e;
  9.             }
  1.         $this->boot();
  2.         ++$this->requestStackSize;
  3.         $this->resetServices true;
  4.         try {
  5.             return $this->getHttpKernel()->handle($request$type$catch);
  6.         } finally {
  7.             --$this->requestStackSize;
  8.         }
  9.     }
  1.     ) {
  2.     }
  3.     public function run(): int
  4.     {
  5.         $response $this->kernel->handle($this->request);
  6.         if (Kernel::VERSION_ID >= 60400) {
  7.             $response->send(false);
  8.             if (\function_exists('fastcgi_finish_request') && !$this->debug) {
in vendor/autoload_runtime.php -> run (line 29)
  1. $app $app(...$args);
  2. exit(
  3.     $runtime
  4.         ->getRunner($app)
  5.         ->run()
  6. );
require_once('/home/microtecnologias/www/ecommerceCredicel/vendor/autoload_runtime.php') in public/index.php (line 5)
  1. <?php
  2. use App\Kernel;
  3. require_once dirname(__DIR__).'/vendor/autoload_runtime.php';
  4. return function (array $context) {
  5.     return new Kernel($context['APP_ENV'], (bool) $context['APP_DEBUG']);
  6. };

Logs

Level Channel Message
INFO 04:25:34 request Matched route "_profiler".
{
    "route": "_profiler",
    "route_parameters": {
        "_route": "_profiler",
        "_controller": "web_profiler.controller.profiler::panelAction",
        "token": "310e36"
    },
    "request_uri": "https://abibsandbox.microtecnologiasmoviles.mx/_profiler/310e36?panel=exception&type=request",
    "method": "GET"
}
INFO 04:25:34 doctrine Connecting with parameters {params}
{
    "params": {
        "use_savepoints": true,
        "driver": "pdo_mysql",
        "idle_connection_ttl": 600,
        "host": "mysql-microtecnologias.alwaysdata.net",
        "port": null,
        "user": "325099_ecommerce",
        "password": "<redacted>",
        "driverOptions": [],
        "defaultTableOptions": {
            "collation": "utf8mb4_unicode_ci"
        },
        "dbname": "microtecnologias_ecommerce",
        "charset": "utf8mb4"
    }
}
DEBUG 04:25:34 doctrine Executing statement: SELECT t0.id AS id_1, t0.nombre AS nombre_2, t0.path_brandeo AS path_brandeo_3, t0.domain AS domain_4, t0.shop_name AS shop_name_5, t0.admin_shop AS admin_shop_6, t0.precios_credishop AS precios_credishop_7, t0.cambaceo AS cambaceo_8 FROM colaboradores t0 WHERE t0.domain = ? LIMIT 1 (parameters: {params}, types: {types})
{
    "sql": "SELECT t0.id AS id_1, t0.nombre AS nombre_2, t0.path_brandeo AS path_brandeo_3, t0.domain AS domain_4, t0.shop_name AS shop_name_5, t0.admin_shop AS admin_shop_6, t0.precios_credishop AS precios_credishop_7, t0.cambaceo AS cambaceo_8 FROM colaboradores t0 WHERE t0.domain = ? LIMIT 1",
    "params": {
        "1": "abibsandbox"
    },
    "types": {
        "1": 2
    }
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke".
{
    "event": "kernel.request",
    "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "App\EventSubscriber\SubdomainSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "App\\EventSubscriber\\SubdomainSubscriber::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 04:25:34 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "ContainerKBmAyzm\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "ContainerKBmAyzm\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}
DEBUG 04:25:34 doctrine Executing statement: SELECT t0.id AS id_1, t0.nombre AS nombre_2, t0.path_brandeo AS path_brandeo_3, t0.domain AS domain_4, t0.shop_name AS shop_name_5, t0.admin_shop AS admin_shop_6, t0.precios_credishop AS precios_credishop_7, t0.cambaceo AS cambaceo_8 FROM colaboradores t0 WHERE t0.domain = ? LIMIT 1 (parameters: {params}, types: {types})
{
    "sql": "SELECT t0.id AS id_1, t0.nombre AS nombre_2, t0.path_brandeo AS path_brandeo_3, t0.domain AS domain_4, t0.shop_name AS shop_name_5, t0.admin_shop AS admin_shop_6, t0.precios_credishop AS precios_credishop_7, t0.cambaceo AS cambaceo_8 FROM colaboradores t0 WHERE t0.domain = ? LIMIT 1",
    "params": {
        "1": "abibsandbox"
    },
    "types": {
        "1": 2
    }
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke".
{
    "event": "kernel.request",
    "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "App\EventSubscriber\SubdomainSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "App\\EventSubscriber\\SubdomainSubscriber::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 04:25:34 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "ContainerKBmAyzm\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "ContainerKBmAyzm\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\Security\Csrf\SameOriginCsrfTokenManager::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\Security\\Csrf\\SameOriginCsrfTokenManager::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\Security\Http\Firewall\ContextListener::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\Security\\Http\\Firewall\\ContextListener::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ResponseListener::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ResponseListener::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\WebLink\EventListener\AddLinkHeaderListener::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\WebLink\\EventListener\\AddLinkHeaderListener::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ProfilerListener::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ProfilerListener::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::removeCspHeader".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::removeCspHeader"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Bundle\WebProfilerBundle\EventListener\WebDebugToolbarListener::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Bundle\\WebProfilerBundle\\EventListener\\WebDebugToolbarListener::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\DisallowRobotsIndexingListener::onResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DisallowRobotsIndexingListener::onResponse"
}
DEBUG 04:25:34 event Notified event "kernel.response" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelResponse".
{
    "event": "kernel.response",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelResponse"
}
DEBUG 04:25:34 event Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelFinishRequest".
{
    "event": "kernel.finish_request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelFinishRequest"
}
DEBUG 04:25:34 event Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelFinishRequest".
{
    "event": "kernel.finish_request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelFinishRequest"
}
DEBUG 04:25:34 event Notified event "kernel.finish_request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelFinishRequest".
{
    "event": "kernel.finish_request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelFinishRequest"
}
DEBUG 04:25:34 event Notified event "kernel.finish_request" to listener "Symfony\WebpackEncoreBundle\EventListener\ResetAssetsEventListener::resetAssets".
{
    "event": "kernel.finish_request",
    "listener": "Symfony\\WebpackEncoreBundle\\EventListener\\ResetAssetsEventListener::resetAssets"
}
DEBUG 04:25:34 event Notified event "kernel.finish_request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelFinishRequest".
{
    "event": "kernel.finish_request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelFinishRequest"
}
DEBUG 04:25:34 doctrine Executing statement: SELECT t0.id AS id_1, t0.nombre AS nombre_2, t0.path_brandeo AS path_brandeo_3, t0.domain AS domain_4, t0.shop_name AS shop_name_5, t0.admin_shop AS admin_shop_6, t0.precios_credishop AS precios_credishop_7, t0.cambaceo AS cambaceo_8 FROM colaboradores t0 WHERE t0.domain = ? LIMIT 1 (parameters: {params}, types: {types})
{
    "sql": "SELECT t0.id AS id_1, t0.nombre AS nombre_2, t0.path_brandeo AS path_brandeo_3, t0.domain AS domain_4, t0.shop_name AS shop_name_5, t0.admin_shop AS admin_shop_6, t0.precios_credishop AS precios_credishop_7, t0.cambaceo AS cambaceo_8 FROM colaboradores t0 WHERE t0.domain = ? LIMIT 1",
    "params": {
        "1": "abibsandbox"
    },
    "types": {
        "1": 2
    }
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\DebugHandlersListener::configure".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\DebugHandlersListener::configure"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\UX\Turbo\Request\RequestListener::__invoke".
{
    "event": "kernel.request",
    "listener": "Symfony\\UX\\Turbo\\Request\\RequestListener::__invoke"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\ValidateRequestListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ValidateRequestListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bridge\Doctrine\Middleware\IdleConnection\Listener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bridge\\Doctrine\\Middleware\\IdleConnection\\Listener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\SessionListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\SessionListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::setDefaultLocale".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::setDefaultLocale"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\AssetMapper\AssetMapperDevServerSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\AssetMapper\\AssetMapperDevServerSubscriber::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\RouterListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\RouterListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Component\HttpKernel\EventListener\LocaleAwareListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\LocaleAwareListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::configureLogoutUrlGenerator".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::configureLogoutUrlGenerator"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "Symfony\Bundle\SecurityBundle\Debug\TraceableFirewallListener::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "Symfony\\Bundle\\SecurityBundle\\Debug\\TraceableFirewallListener::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.request" to listener "App\EventSubscriber\SubdomainSubscriber::onKernelRequest".
{
    "event": "kernel.request",
    "listener": "App\\EventSubscriber\\SubdomainSubscriber::onKernelRequest"
}
DEBUG 04:25:34 event Notified event "kernel.controller" to listener "Symfony\Bundle\FrameworkBundle\DataCollector\RouterDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Bundle\\FrameworkBundle\\DataCollector\\RouterDataCollector::onKernelController"
}
DEBUG 04:25:34 event Notified event "kernel.controller" to listener "Symfony\Component\HttpKernel\DataCollector\RequestDataCollector::onKernelController".
{
    "event": "kernel.controller",
    "listener": "Symfony\\Component\\HttpKernel\\DataCollector\\RequestDataCollector::onKernelController"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsCsrfTokenValidAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsCsrfTokenValidAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\Security\Http\EventListener\IsGrantedAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\Security\\Http\\EventListener\\IsGrantedAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\CacheAttributeListener::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\CacheAttributeListener::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "ContainerKBmAyzm\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "ContainerKBmAyzm\\RequestPayloadValueResolverGhost01ca9cc::onKernelControllerArguments"
}
DEBUG 04:25:34 event Notified event "kernel.controller_arguments" to listener "Symfony\Component\HttpKernel\EventListener\ErrorListener::onControllerArguments".
{
    "event": "kernel.controller_arguments",
    "listener": "Symfony\\Component\\HttpKernel\\EventListener\\ErrorListener::onControllerArguments"
}

Stack Trace

RuntimeError
Twig\Error\RuntimeError:
Impossible to access an attribute ("folioCredicel") on a bool variable ("") in "ordenes/order-quoterStep.html.twig" at line 21.

  at templates/ordenes/order-quoterStep.html.twig:21
  at Twig\Extension\CoreExtension::getAttribute(object(Environment), object(Source), false, 'folioCredicel', array(), 'any', false, false, false, 21)
     (var/cache/dev/twig/5a/5a29e3424768258d2ebbf7eeb4b5f849.php:134)
  at __TwigTemplate_7eeb586560c1cb105e885982d3ee8df3->block_body(array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0, 'app' => object(AppVariable), 'cssFile' => 'css/microtec.css', 'shopName' => 'MicrotecShop Sandbox', 'cliente' => 'microtec', 'colaborador' => 'microtec', 'footer' => 'img/shopLogo/microtec.png', 'logo' => 'img/shopLogo/microtec.png'), array('title' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0), 'block_stylesheets'), 'javascripts' => array(object(__TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0), 'block_javascripts'), 'body' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_body')))
     (vendor/twig/twig/src/Template.php:446)
  at Twig\Template->yieldBlock('body', array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0, 'app' => object(AppVariable), 'cssFile' => 'css/microtec.css', 'shopName' => 'MicrotecShop Sandbox', 'cliente' => 'microtec', 'colaborador' => 'microtec', 'footer' => 'img/shopLogo/microtec.png', 'logo' => 'img/shopLogo/microtec.png'), array('title' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0), 'block_stylesheets'), 'javascripts' => array(object(__TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0), 'block_javascripts'), 'body' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_body')))
     (var/cache/dev/twig/ea/ea5d24e0b13c23afe4afbfba1df59759.php:95)
  at __TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0->doDisplay(array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0, 'app' => object(AppVariable), 'cssFile' => 'css/microtec.css', 'shopName' => 'MicrotecShop Sandbox', 'cliente' => 'microtec', 'colaborador' => 'microtec', 'footer' => 'img/shopLogo/microtec.png', 'logo' => 'img/shopLogo/microtec.png'), array('title' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0), 'block_stylesheets'), 'javascripts' => array(object(__TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0), 'block_javascripts'), 'body' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_body')))
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield(array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0, 'app' => object(AppVariable), 'cssFile' => 'css/microtec.css', 'shopName' => 'MicrotecShop Sandbox', 'cliente' => 'microtec', 'colaborador' => 'microtec', 'footer' => 'img/shopLogo/microtec.png', 'logo' => 'img/shopLogo/microtec.png'), array('title' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_title'), 'stylesheets' => array(object(__TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0), 'block_stylesheets'), 'javascripts' => array(object(__TwigTemplate_0fbc9831063a9ddfc5e55d2c22f966a0), 'block_javascripts'), 'body' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_body')))
     (var/cache/dev/twig/5a/5a29e3424768258d2ebbf7eeb4b5f849.php:54)
  at __TwigTemplate_7eeb586560c1cb105e885982d3ee8df3->doDisplay(array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0, 'app' => object(AppVariable), 'cssFile' => 'css/microtec.css', 'shopName' => 'MicrotecShop Sandbox', 'cliente' => 'microtec', 'colaborador' => 'microtec', 'footer' => 'img/shopLogo/microtec.png', 'logo' => 'img/shopLogo/microtec.png'), array('title' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_title'), 'body' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_body')))
     (vendor/twig/twig/src/Template.php:402)
  at Twig\Template->yield(array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0, 'app' => object(AppVariable), 'cssFile' => 'css/microtec.css', 'shopName' => 'MicrotecShop Sandbox', 'cliente' => 'microtec', 'colaborador' => 'microtec', 'footer' => 'img/shopLogo/microtec.png', 'logo' => 'img/shopLogo/microtec.png'), array('title' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_title'), 'body' => array(object(__TwigTemplate_7eeb586560c1cb105e885982d3ee8df3), 'block_body')))
     (vendor/twig/twig/src/Template.php:358)
  at Twig\Template->display(array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0))
     (vendor/twig/twig/src/Template.php:373)
  at Twig\Template->render(array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0))
     (vendor/twig/twig/src/TemplateWrapper.php:51)
  at Twig\TemplateWrapper->render(array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0))
     (vendor/twig/twig/src/Environment.php:333)
  at Twig\Environment->render('ordenes/order-quoterStep.html.twig', array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0))
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:431)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRenderView('ordenes/order-quoterStep.html.twig', null, array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0), 'render')
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:436)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->doRender('ordenes/order-quoterStep.html.twig', null, array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0), null, 'render')
     (vendor/symfony/framework-bundle/Controller/AbstractController.php:250)
  at Symfony\Bundle\FrameworkBundle\Controller\AbstractController->render('ordenes/order-quoterStep.html.twig', array('order' => object(Orden), 'steps' => object(PasosCompraOrden), 'operadores' => array(), 'precioColaborador' => 2012.0))
     (src/Controller/OrdenesController.php:393)
  at App\Controller\OrdenesController->quoterStep('8deccc1172c2f2ecb8bca6e3c99bc73c', object(Request), object(OrdenRepository), object(TarjetaClienteRepository), object(EntityManagerGhost614a58f), object(PasosCompraRepository), object(PasosCompraOrdenRepository), object(ColaboradoresRepository))
     (vendor/symfony/http-kernel/HttpKernel.php:183)
  at Symfony\Component\HttpKernel\HttpKernel->handleRaw(object(Request), 1)
     (vendor/symfony/http-kernel/HttpKernel.php:76)
  at Symfony\Component\HttpKernel\HttpKernel->handle(object(Request), 1, true)
     (vendor/symfony/http-kernel/Kernel.php:182)
  at Symfony\Component\HttpKernel\Kernel->handle(object(Request))
     (vendor/symfony/runtime/Runner/Symfony/HttpKernelRunner.php:35)
  at Symfony\Component\Runtime\Runner\Symfony\HttpKernelRunner->run()
     (vendor/autoload_runtime.php:29)
  at require_once('/home/microtecnologias/www/ecommerceCredicel/vendor/autoload_runtime.php')
     (public/index.php:5)