var/cache/dev/twig/73/737082726c4b5d75e0339d5feef44b73.php line 45

Open in your IDE?
  1. <?php
  2. use Twig\Environment;
  3. use Twig\Error\LoaderError;
  4. use Twig\Error\RuntimeError;
  5. use Twig\Extension\CoreExtension;
  6. use Twig\Extension\SandboxExtension;
  7. use Twig\Markup;
  8. use Twig\Sandbox\SecurityError;
  9. use Twig\Sandbox\SecurityNotAllowedTagError;
  10. use Twig\Sandbox\SecurityNotAllowedFilterError;
  11. use Twig\Sandbox\SecurityNotAllowedFunctionError;
  12. use Twig\Source;
  13. use Twig\Template;
  14. use Twig\TemplateWrapper;
  15. /* @EasyAdmin/page/login.html.twig */
  16. class __TwigTemplate_bd8a33bcf4b9f003ab001a7304bae524 extends Template
  17. {
  18. private Source $source;
  19. /**
  20. * @var array<string, Template>
  21. */
  22. private array $macros = [];
  23. public function __construct(Environment $env)
  24. {
  25. parent::__construct($env);
  26. $this->source = $this->getSourceContext();
  27. $this->blocks = [
  28. 'login_form' => [$this, 'block_login_form'],
  29. 'flash_messages' => [$this, 'block_flash_messages'],
  30. 'login_box' => [$this, 'block_login_box'],
  31. ];
  32. }
  33. protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
  34. {
  35. // line 1
  36. return "layout/login.html.twig";
  37. }
  38. protected function doDisplay(array $context, array $blocks = []): iterable
  39. {
  40. $macros = $this->macros;
  41. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  42. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@EasyAdmin/page/login.html.twig"));
  43. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  44. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@EasyAdmin/page/login.html.twig"));
  45. $this->parent = $this->load("layout/login.html.twig", 1);
  46. yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
  47. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  48. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  49. }
  50. // line 2
  51. /**
  52. * @return iterable<null|scalar|\Stringable>
  53. */
  54. public function block_login_form(array $context, array $blocks = []): iterable
  55. {
  56. $macros = $this->macros;
  57. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  58. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "login_form"));
  59. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  60. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "login_form"));
  61. // line 3
  62. yield " ";
  63. $context["_username_label"] = ((array_key_exists("username_label", $context)) ? ($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans((isset($context["username_label"]) || array_key_exists("username_label", $context) ? $context["username_label"] : (function () { throw new RuntimeError('Variable "username_label" does not exist.', 3, $this->source); })()))) : ($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("login_page.username", [], "EasyAdminBundle")));
  64. // line 4
  65. yield " ";
  66. $context["_password_label"] = ((array_key_exists("password_label", $context)) ? ($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans((isset($context["password_label"]) || array_key_exists("password_label", $context) ? $context["password_label"] : (function () { throw new RuntimeError('Variable "password_label" does not exist.', 4, $this->source); })()))) : ($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("login_page.password", [], "EasyAdminBundle")));
  67. // line 5
  68. yield " ";
  69. $context["_sign_in_label"] = ((array_key_exists("sign_in_label", $context)) ? ($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans((isset($context["sign_in_label"]) || array_key_exists("sign_in_label", $context) ? $context["sign_in_label"] : (function () { throw new RuntimeError('Variable "sign_in_label" does not exist.', 5, $this->source); })()))) : ($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans("login_page.sign_in", [], "EasyAdminBundle")));
  70. // line 6
  71. yield " ";
  72. yield from $this->unwrap()->yieldBlock('flash_messages', $context, $blocks);
  73. // line 9
  74. yield "
  75. ";
  76. // line 10
  77. if ((($tmp = ((array_key_exists("error", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["error"]) || array_key_exists("error", $context) ? $context["error"] : (function () { throw new RuntimeError('Variable "error" does not exist.', 10, $this->source); })()), false)) : (false))) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  78. // line 11
  79. yield " <div class=\"w-100 alert alert-danger rounded mb-3\">
  80. <i class=\"fas fa-times-circle mr-1\"></i>
  81. ";
  82. // line 13
  83. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->extensions['Symfony\Bridge\Twig\Extension\TranslationExtension']->trans(CoreExtension::getAttribute($this->env, $this->source, (isset($context["error"]) || array_key_exists("error", $context) ? $context["error"] : (function () { throw new RuntimeError('Variable "error" does not exist.', 13, $this->source); })()), "messageKey", [], "any", false, false, false, 13), CoreExtension::getAttribute($this->env, $this->source, (isset($context["error"]) || array_key_exists("error", $context) ? $context["error"] : (function () { throw new RuntimeError('Variable "error" does not exist.', 13, $this->source); })()), "messageData", [], "any", false, false, false, 13), "security"), "html", null, true);
  84. yield "
  85. </div>
  86. ";
  87. }
  88. // line 16
  89. yield "
  90. <form method=\"post\" action=\"";
  91. // line 17
  92. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("action", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["action"]) || array_key_exists("action", $context) ? $context["action"] : (function () { throw new RuntimeError('Variable "action" does not exist.', 17, $this->source); })()), "")) : ("")), "html", null, true);
  93. yield "\" id=\"login-form\">
  94. ";
  95. // line 18
  96. if ((($tmp = ((array_key_exists("csrf_token_intention", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["csrf_token_intention"]) || array_key_exists("csrf_token_intention", $context) ? $context["csrf_token_intention"] : (function () { throw new RuntimeError('Variable "csrf_token_intention" does not exist.', 18, $this->source); })()), false)) : (false))) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  97. // line 19
  98. yield " <input type=\"hidden\" name=\"_csrf_token\" value=\"";
  99. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape($this->env->getRuntime('Symfony\Component\Form\FormRenderer')->renderCsrfToken((isset($context["csrf_token_intention"]) || array_key_exists("csrf_token_intention", $context) ? $context["csrf_token_intention"] : (function () { throw new RuntimeError('Variable "csrf_token_intention" does not exist.', 19, $this->source); })())), "html", null, true);
  100. yield "\">
  101. ";
  102. }
  103. // line 21
  104. yield "
  105. <input type=\"hidden\" name=\"";
  106. // line 22
  107. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("target_path_parameter", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["target_path_parameter"]) || array_key_exists("target_path_parameter", $context) ? $context["target_path_parameter"] : (function () { throw new RuntimeError('Variable "target_path_parameter" does not exist.', 22, $this->source); })()), "_target_path")) : ("_target_path")), "html", null, true);
  108. yield "\" value=\"";
  109. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("target_path", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["target_path"]) || array_key_exists("target_path", $context) ? $context["target_path"] : (function () { throw new RuntimeError('Variable "target_path" does not exist.', 22, $this->source); })()), ((array_key_exists("ea", $context)) ? ($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath(CoreExtension::getAttribute($this->env, $this->source, (isset($context["ea"]) || array_key_exists("ea", $context) ? $context["ea"] : (function () { throw new RuntimeError('Variable "ea" does not exist.', 22, $this->source); })()), "dashboardRouteName", [], "any", false, false, false, 22))) : ("/")))) : (((array_key_exists("ea", $context)) ? ($this->extensions['Symfony\Bridge\Twig\Extension\RoutingExtension']->getPath(CoreExtension::getAttribute($this->env, $this->source, (isset($context["ea"]) || array_key_exists("ea", $context) ? $context["ea"] : (function () { throw new RuntimeError('Variable "ea" does not exist.', 22, $this->source); })()), "dashboardRouteName", [], "any", false, false, false, 22))) : ("/")))), "html", null, true);
  110. yield "\" />
  111. <div class=\"username-field form-group\">
  112. <label for=\"username\">";
  113. // line 25
  114. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.field.username", "E-Mail-Adresse");
  115. yield "</label>
  116. <input type=\"text\" id=\"username\" name=\"";
  117. // line 26
  118. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("username_parameter", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["username_parameter"]) || array_key_exists("username_parameter", $context) ? $context["username_parameter"] : (function () { throw new RuntimeError('Variable "username_parameter" does not exist.', 26, $this->source); })()), "_username")) : ("_username")), "html", null, true);
  119. yield "\" class=\"form-control\" value=\"";
  120. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("last_username", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["last_username"]) || array_key_exists("last_username", $context) ? $context["last_username"] : (function () { throw new RuntimeError('Variable "last_username" does not exist.', 26, $this->source); })()), "")) : ("")), "html", null, true);
  121. yield "\" required autofocus autocomplete=\"username\">
  122. </div>
  123. <div class=\"password-field form-group\">
  124. <label for=\"password\">";
  125. // line 30
  126. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.field.password", "Passwort");
  127. yield "</label>
  128. <input type=\"password\" id=\"password\" name=\"";
  129. // line 31
  130. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(((array_key_exists("password_parameter", $context)) ? (Twig\Extension\CoreExtension::default((isset($context["password_parameter"]) || array_key_exists("password_parameter", $context) ? $context["password_parameter"] : (function () { throw new RuntimeError('Variable "password_parameter" does not exist.', 31, $this->source); })()), "_password")) : ("_password")), "html", null, true);
  131. yield "\" class=\"form-control\" required autocomplete=\"current-password\">
  132. </div>
  133. <button type=\"submit\" id=\"login-button\" class=\"btn btn-primary btn-lg btn-block\" onclick=\"this.form.submit(); this.disabled=true;\">
  134. ";
  135. // line 35
  136. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.submit", "Einloggen");
  137. yield "
  138. </button>
  139. </form>
  140. <script type=\"text/javascript\">
  141. const loginForm = document.querySelector('form');
  142. loginForm.addEventListener('submit', () => {
  143. loginForm.querySelector('button[type=\"submit\"]').setAttribute('disabled', 'disabled');
  144. }, false);
  145. </script>
  146. ";
  147. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  148. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  149. yield from [];
  150. }
  151. // line 6
  152. /**
  153. * @return iterable<null|scalar|\Stringable>
  154. */
  155. public function block_flash_messages(array $context, array $blocks = []): iterable
  156. {
  157. $macros = $this->macros;
  158. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  159. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "flash_messages"));
  160. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  161. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "flash_messages"));
  162. // line 7
  163. yield " ";
  164. yield Twig\Extension\CoreExtension::include($this->env, $context, "@EasyAdmin/flash_messages.html.twig");
  165. yield "
  166. ";
  167. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  168. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  169. yield from [];
  170. }
  171. // line 47
  172. /**
  173. * @return iterable<null|scalar|\Stringable>
  174. */
  175. public function block_login_box(array $context, array $blocks = []): iterable
  176. {
  177. $macros = $this->macros;
  178. $__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
  179. $__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "login_box"));
  180. $__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
  181. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "login_box"));
  182. // line 48
  183. yield " ";
  184. if ((($tmp = (isset($context["demo_login_enabled"]) || array_key_exists("demo_login_enabled", $context) ? $context["demo_login_enabled"] : (function () { throw new RuntimeError('Variable "demo_login_enabled" does not exist.', 48, $this->source); })())) && $tmp instanceof Markup ? (string) $tmp : $tmp)) {
  185. // line 49
  186. yield " ";
  187. // line 50
  188. yield " <div class=\"demo-login-panel\">
  189. <div class=\"demo-login-header\">
  190. <i class=\"fas fa-flask me-2\"></i>
  191. <span>Test-Zugang</span>
  192. </div>
  193. <p class=\"demo-login-info\">Schnell-Login für Testumgebung:</p>
  194. ";
  195. // line 57
  196. $context["demo_users"] = [["email" => "admin@brunex.ch", "label" => "Admin", "description" => "BRUNEX Administrator", "color" => "#9B1B1B"], ["email" => "manager@brunex.ch", "label" => "Manager", "description" => "BRUNEX Manager", "color" => "#666"], ["email" => "verkauf@kuratle.ch", "label" => "Lizenzpartner", "description" => "Kuratle & Jaecker AG", "color" => "#2e7d32"], ["email" => "info@michel-jenni.ch", "label" => "Lizenzpartner", "description" => "Michel + Jenni AG", "color" => "#2e7d32"], ["email" => "partner@holzbau.ch", "label" => "Partner", "description" => "Holzbau Müller AG", "color" => "#1565c0"], ["email" => "user@brunex.ch", "label" => "Benutzer", "description" => "Standard User", "color" => "#757575"]];
  197. // line 65
  198. yield "
  199. ";
  200. // line 66
  201. $context['_parent'] = $context;
  202. $context['_seq'] = CoreExtension::ensureTraversable((isset($context["demo_users"]) || array_key_exists("demo_users", $context) ? $context["demo_users"] : (function () { throw new RuntimeError('Variable "demo_users" does not exist.', 66, $this->source); })()));
  203. foreach ($context['_seq'] as $context["_key"] => $context["user"]) {
  204. // line 67
  205. yield " <button type=\"button\" class=\"demo-login-btn\" onclick=\"demoLogin('";
  206. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["user"], "email", [], "any", false, false, false, 67), "html", null, true);
  207. yield "')\">
  208. <i class=\"fas fa-sign-in-alt\" style=\"color: ";
  209. // line 68
  210. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["user"], "color", [], "any", false, false, false, 68), "html", null, true);
  211. yield "\"></i>
  212. <div class=\"demo-login-btn-content\">
  213. <strong style=\"color: ";
  214. // line 70
  215. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["user"], "color", [], "any", false, false, false, 70), "html", null, true);
  216. yield "\">";
  217. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["user"], "label", [], "any", false, false, false, 70), "html", null, true);
  218. yield "</strong>
  219. <small>";
  220. // line 71
  221. yield $this->env->getRuntime('Twig\Runtime\EscaperRuntime')->escape(CoreExtension::getAttribute($this->env, $this->source, $context["user"], "email", [], "any", false, false, false, 71), "html", null, true);
  222. yield "</small>
  223. </div>
  224. </button>
  225. ";
  226. }
  227. $_parent = $context['_parent'];
  228. unset($context['_seq'], $context['_key'], $context['user'], $context['_parent']);
  229. $context = array_intersect_key($context, $_parent) + $_parent;
  230. // line 75
  231. yield "
  232. <p class=\"demo-login-note\">
  233. <i class=\"fas fa-info-circle me-1\"></i>
  234. Passwort: <code>password</code>
  235. </p>
  236. </div>
  237. <script>
  238. function demoLogin(email) {
  239. document.getElementById('username').value = email;
  240. document.getElementById('password').value = 'password';
  241. document.getElementById('login-form').submit();
  242. }
  243. </script>
  244. <style>
  245. .demo-login-panel {
  246. background: #fff8e1;
  247. border: 2px solid #ffc107;
  248. border-radius: 8px;
  249. padding: 1rem;
  250. }
  251. .demo-login-header {
  252. color: #f57c00;
  253. font-size: 1.25rem;
  254. font-weight: 600;
  255. margin-bottom: 0.5rem;
  256. display: flex;
  257. align-items: center;
  258. }
  259. .demo-login-info {
  260. color: #666;
  261. font-size: 0.875rem;
  262. margin-bottom: 1rem;
  263. }
  264. .demo-login-btn {
  265. display: flex;
  266. align-items: center;
  267. width: 100%;
  268. padding: 0.5rem 0.75rem;
  269. margin-bottom: 0.5rem;
  270. background: #fff;
  271. border: 1px solid #e0e0e0;
  272. border-radius: 6px;
  273. cursor: pointer;
  274. transition: all 0.2s;
  275. text-align: left;
  276. }
  277. .demo-login-btn:hover {
  278. border-color: #9B1B1B;
  279. background: #fafafa;
  280. }
  281. .demo-login-btn i {
  282. font-size: 1.25rem;
  283. margin-right: 0.75rem;
  284. }
  285. .demo-login-btn-content {
  286. display: flex;
  287. flex-direction: column;
  288. line-height: 1.3;
  289. }
  290. .demo-login-btn-content strong {
  291. font-size: 0.875rem;
  292. }
  293. .demo-login-btn-content small {
  294. color: #999;
  295. font-size: 0.75rem;
  296. }
  297. .demo-login-note {
  298. margin-top: 1rem;
  299. margin-bottom: 0;
  300. font-size: 0.75rem;
  301. color: #666;
  302. }
  303. .demo-login-note code {
  304. background: #eee;
  305. padding: 0.1rem 0.3rem;
  306. border-radius: 3px;
  307. }
  308. </style>
  309. ";
  310. } else {
  311. // line 156
  312. yield " ";
  313. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.introduction", "Planung, Bestellung nach Mass, Dokumentation sowie sämtliche Leistungserklärungen rund um die Uhr.");
  314. yield "
  315. <div class=\"login-list\">
  316. <span class=\"bx icon-calculator me-2\"></span>
  317. <span class=\"text\">";
  318. // line 159
  319. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.calculator", "Kalkulator");
  320. yield "</span>
  321. </div>
  322. <div class=\"login-list\">
  323. <span class=\"bx icon-weights me-2\"></span>
  324. <span class=\"text\">";
  325. // line 163
  326. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.doorWeightCalculator", "Wirkendes Türgewicht");
  327. yield "</span>
  328. </div>
  329. <div class=\"login-list\">
  330. <span class=\"bx icon-ele me-2\"></span>
  331. <span class=\"text\">";
  332. // line 167
  333. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.ele", "ELE - Elektronische Leistungserklärung");
  334. yield "</span>
  335. </div>
  336. <div class=\"login-list\">
  337. <span class=\"bx icon-tur24 me-2\"></span>
  338. <span class=\"text\">";
  339. // line 171
  340. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.door24", "Tür 24 Lagersortiment");
  341. yield "</span>
  342. </div>
  343. <div class=\"login-list\">
  344. <span class=\"brunex-icon me-2\">
  345. ";
  346. // line 175
  347. yield Twig\Extension\CoreExtension::source($this->env, "icons/Devis.svg");
  348. yield "
  349. </span>
  350. <span class=\"text\">";
  351. // line 177
  352. yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.opendevis", "opendevis");
  353. yield "</span>
  354. </div>
  355. ";
  356. }
  357. $__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
  358. $__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
  359. yield from [];
  360. }
  361. /**
  362. * @codeCoverageIgnore
  363. */
  364. public function getTemplateName(): string
  365. {
  366. return "@EasyAdmin/page/login.html.twig";
  367. }
  368. /**
  369. * @codeCoverageIgnore
  370. */
  371. public function isTraitable(): bool
  372. {
  373. return false;
  374. }
  375. /**
  376. * @codeCoverageIgnore
  377. */
  378. public function getDebugInfo(): array
  379. {
  380. return array ( 389 => 177, 384 => 175, 377 => 171, 370 => 167, 363 => 163, 356 => 159, 349 => 156, 266 => 75, 256 => 71, 250 => 70, 245 => 68, 240 => 67, 236 => 66, 233 => 65, 231 => 57, 222 => 50, 220 => 49, 217 => 48, 204 => 47, 190 => 7, 177 => 6, 155 => 35, 148 => 31, 144 => 30, 135 => 26, 131 => 25, 123 => 22, 120 => 21, 114 => 19, 112 => 18, 108 => 17, 105 => 16, 99 => 13, 95 => 11, 93 => 10, 90 => 9, 87 => 6, 84 => 5, 81 => 4, 78 => 3, 65 => 2, 42 => 1,);
  381. }
  382. public function getSourceContext(): Source
  383. {
  384. return new Source("{% extends 'layout/login.html.twig' %}
  385. {% block login_form %}
  386. {% set _username_label = username_label is defined ? username_label|trans : 'login_page.username'|trans({}, 'EasyAdminBundle') %}
  387. {% set _password_label = password_label is defined ? password_label|trans : 'login_page.password'|trans({}, 'EasyAdminBundle') %}
  388. {% set _sign_in_label = sign_in_label is defined ? sign_in_label|trans : 'login_page.sign_in'|trans({}, 'EasyAdminBundle') %}
  389. {% block flash_messages %}
  390. {{ include('@EasyAdmin/flash_messages.html.twig') }}
  391. {% endblock flash_messages %}
  392. {% if error|default(false) %}
  393. <div class=\"w-100 alert alert-danger rounded mb-3\">
  394. <i class=\"fas fa-times-circle mr-1\"></i>
  395. {{ error.messageKey|trans(error.messageData, 'security') }}
  396. </div>
  397. {% endif %}
  398. <form method=\"post\" action=\"{{ action|default('') }}\" id=\"login-form\">
  399. {% if csrf_token_intention|default(false) %}
  400. <input type=\"hidden\" name=\"_csrf_token\" value=\"{{ csrf_token(csrf_token_intention) }}\">
  401. {% endif %}
  402. <input type=\"hidden\" name=\"{{ target_path_parameter|default('_target_path') }}\" value=\"{{ target_path|default(ea is defined ? path(ea.dashboardRouteName) : '/') }}\" />
  403. <div class=\"username-field form-group\">
  404. <label for=\"username\">{{ btrans('login.field.username', 'E-Mail-Adresse') }}</label>
  405. <input type=\"text\" id=\"username\" name=\"{{ username_parameter|default('_username') }}\" class=\"form-control\" value=\"{{ last_username|default('') }}\" required autofocus autocomplete=\"username\">
  406. </div>
  407. <div class=\"password-field form-group\">
  408. <label for=\"password\">{{ btrans('login.field.password', 'Passwort') }}</label>
  409. <input type=\"password\" id=\"password\" name=\"{{ password_parameter|default('_password') }}\" class=\"form-control\" required autocomplete=\"current-password\">
  410. </div>
  411. <button type=\"submit\" id=\"login-button\" class=\"btn btn-primary btn-lg btn-block\" onclick=\"this.form.submit(); this.disabled=true;\">
  412. {{ btrans('login.submit', 'Einloggen') }}
  413. </button>
  414. </form>
  415. <script type=\"text/javascript\">
  416. const loginForm = document.querySelector('form');
  417. loginForm.addEventListener('submit', () => {
  418. loginForm.querySelector('button[type=\"submit\"]').setAttribute('disabled', 'disabled');
  419. }, false);
  420. </script>
  421. {% endblock %}
  422. {% block login_box %}
  423. {% if demo_login_enabled %}
  424. {# Demo Login Panel für Testumgebungen #}
  425. <div class=\"demo-login-panel\">
  426. <div class=\"demo-login-header\">
  427. <i class=\"fas fa-flask me-2\"></i>
  428. <span>Test-Zugang</span>
  429. </div>
  430. <p class=\"demo-login-info\">Schnell-Login für Testumgebung:</p>
  431. {% set demo_users = [
  432. { email: 'admin@brunex.ch', label: 'Admin', description: 'BRUNEX Administrator', color: '#9B1B1B' },
  433. { email: 'manager@brunex.ch', label: 'Manager', description: 'BRUNEX Manager', color: '#666' },
  434. { email: 'verkauf@kuratle.ch', label: 'Lizenzpartner', description: 'Kuratle & Jaecker AG', color: '#2e7d32' },
  435. { email: 'info@michel-jenni.ch', label: 'Lizenzpartner', description: 'Michel + Jenni AG', color: '#2e7d32' },
  436. { email: 'partner@holzbau.ch', label: 'Partner', description: 'Holzbau Müller AG', color: '#1565c0' },
  437. { email: 'user@brunex.ch', label: 'Benutzer', description: 'Standard User', color: '#757575' }
  438. ] %}
  439. {% for user in demo_users %}
  440. <button type=\"button\" class=\"demo-login-btn\" onclick=\"demoLogin('{{ user.email }}')\">
  441. <i class=\"fas fa-sign-in-alt\" style=\"color: {{ user.color }}\"></i>
  442. <div class=\"demo-login-btn-content\">
  443. <strong style=\"color: {{ user.color }}\">{{ user.label }}</strong>
  444. <small>{{ user.email }}</small>
  445. </div>
  446. </button>
  447. {% endfor %}
  448. <p class=\"demo-login-note\">
  449. <i class=\"fas fa-info-circle me-1\"></i>
  450. Passwort: <code>password</code>
  451. </p>
  452. </div>
  453. <script>
  454. function demoLogin(email) {
  455. document.getElementById('username').value = email;
  456. document.getElementById('password').value = 'password';
  457. document.getElementById('login-form').submit();
  458. }
  459. </script>
  460. <style>
  461. .demo-login-panel {
  462. background: #fff8e1;
  463. border: 2px solid #ffc107;
  464. border-radius: 8px;
  465. padding: 1rem;
  466. }
  467. .demo-login-header {
  468. color: #f57c00;
  469. font-size: 1.25rem;
  470. font-weight: 600;
  471. margin-bottom: 0.5rem;
  472. display: flex;
  473. align-items: center;
  474. }
  475. .demo-login-info {
  476. color: #666;
  477. font-size: 0.875rem;
  478. margin-bottom: 1rem;
  479. }
  480. .demo-login-btn {
  481. display: flex;
  482. align-items: center;
  483. width: 100%;
  484. padding: 0.5rem 0.75rem;
  485. margin-bottom: 0.5rem;
  486. background: #fff;
  487. border: 1px solid #e0e0e0;
  488. border-radius: 6px;
  489. cursor: pointer;
  490. transition: all 0.2s;
  491. text-align: left;
  492. }
  493. .demo-login-btn:hover {
  494. border-color: #9B1B1B;
  495. background: #fafafa;
  496. }
  497. .demo-login-btn i {
  498. font-size: 1.25rem;
  499. margin-right: 0.75rem;
  500. }
  501. .demo-login-btn-content {
  502. display: flex;
  503. flex-direction: column;
  504. line-height: 1.3;
  505. }
  506. .demo-login-btn-content strong {
  507. font-size: 0.875rem;
  508. }
  509. .demo-login-btn-content small {
  510. color: #999;
  511. font-size: 0.75rem;
  512. }
  513. .demo-login-note {
  514. margin-top: 1rem;
  515. margin-bottom: 0;
  516. font-size: 0.75rem;
  517. color: #666;
  518. }
  519. .demo-login-note code {
  520. background: #eee;
  521. padding: 0.1rem 0.3rem;
  522. border-radius: 3px;
  523. }
  524. </style>
  525. {% else %}
  526. {{ btrans('login.introduction', 'Planung, Bestellung nach Mass, Dokumentation sowie sämtliche Leistungserklärungen rund um die Uhr.') }}
  527. <div class=\"login-list\">
  528. <span class=\"bx icon-calculator me-2\"></span>
  529. <span class=\"text\">{{ btrans('login.calculator', 'Kalkulator') }}</span>
  530. </div>
  531. <div class=\"login-list\">
  532. <span class=\"bx icon-weights me-2\"></span>
  533. <span class=\"text\">{{ btrans('login.doorWeightCalculator', 'Wirkendes Türgewicht') }}</span>
  534. </div>
  535. <div class=\"login-list\">
  536. <span class=\"bx icon-ele me-2\"></span>
  537. <span class=\"text\">{{ btrans('login.ele', 'ELE - Elektronische Leistungserklärung') }}</span>
  538. </div>
  539. <div class=\"login-list\">
  540. <span class=\"bx icon-tur24 me-2\"></span>
  541. <span class=\"text\">{{ btrans('login.door24', 'Tür 24 Lagersortiment') }}</span>
  542. </div>
  543. <div class=\"login-list\">
  544. <span class=\"brunex-icon me-2\">
  545. {{ source('icons/Devis.svg') }}
  546. </span>
  547. <span class=\"text\">{{ btrans('login.opendevis', 'opendevis') }}</span>
  548. </div>
  549. {% endif %}
  550. {% endblock %}
  551. ", "@EasyAdmin/page/login.html.twig", "/var/www/int.my.brunex.ch/themes/brunex/bundles/EasyAdminBundle/page/login.html.twig");
  552. }
  553. }