<?php
use Twig\Environment;
use Twig\Error\LoaderError;
use Twig\Error\RuntimeError;
use Twig\Extension\CoreExtension;
use Twig\Extension\SandboxExtension;
use Twig\Markup;
use Twig\Sandbox\SecurityError;
use Twig\Sandbox\SecurityNotAllowedTagError;
use Twig\Sandbox\SecurityNotAllowedFilterError;
use Twig\Sandbox\SecurityNotAllowedFunctionError;
use Twig\Source;
use Twig\Template;
use Twig\TemplateWrapper;
/* @EasyAdmin/page/login.html.twig */
class __TwigTemplate_bd8a33bcf4b9f003ab001a7304bae524 extends Template
{
private Source $source;
/**
* @var array<string, Template>
*/
private array $macros = [];
public function __construct(Environment $env)
{
parent::__construct($env);
$this->source = $this->getSourceContext();
$this->blocks = [
'login_form' => [$this, 'block_login_form'],
'flash_messages' => [$this, 'block_flash_messages'],
'login_box' => [$this, 'block_login_box'],
];
}
protected function doGetParent(array $context): bool|string|Template|TemplateWrapper
{
// line 1
return "layout/login.html.twig";
}
protected function doDisplay(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@EasyAdmin/page/login.html.twig"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "template", "@EasyAdmin/page/login.html.twig"));
$this->parent = $this->load("layout/login.html.twig", 1);
yield from $this->parent->unwrap()->yield($context, array_merge($this->blocks, $blocks));
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
}
// line 2
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_login_form(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "login_form"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "login_form"));
// line 3
yield " ";
$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")));
// line 4
yield " ";
$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")));
// line 5
yield " ";
$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")));
// line 6
yield " ";
yield from $this->unwrap()->yieldBlock('flash_messages', $context, $blocks);
// line 9
yield "
";
// line 10
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)) {
// line 11
yield " <div class=\"w-100 alert alert-danger rounded mb-3\">
<i class=\"fas fa-times-circle mr-1\"></i>
";
// line 13
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);
yield "
</div>
";
}
// line 16
yield "
<form method=\"post\" action=\"";
// line 17
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);
yield "\" id=\"login-form\">
";
// line 18
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)) {
// line 19
yield " <input type=\"hidden\" name=\"_csrf_token\" value=\"";
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);
yield "\">
";
}
// line 21
yield "
<input type=\"hidden\" name=\"";
// line 22
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);
yield "\" value=\"";
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);
yield "\" />
<div class=\"username-field form-group\">
<label for=\"username\">";
// line 25
yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.field.username", "E-Mail-Adresse");
yield "</label>
<input type=\"text\" id=\"username\" name=\"";
// line 26
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);
yield "\" class=\"form-control\" value=\"";
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);
yield "\" required autofocus autocomplete=\"username\">
</div>
<div class=\"password-field form-group\">
<label for=\"password\">";
// line 30
yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.field.password", "Passwort");
yield "</label>
<input type=\"password\" id=\"password\" name=\"";
// line 31
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);
yield "\" class=\"form-control\" required autocomplete=\"current-password\">
</div>
<button type=\"submit\" id=\"login-button\" class=\"btn btn-primary btn-lg btn-block\" onclick=\"this.form.submit(); this.disabled=true;\">
";
// line 35
yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.submit", "Einloggen");
yield "
</button>
</form>
<script type=\"text/javascript\">
const loginForm = document.querySelector('form');
loginForm.addEventListener('submit', () => {
loginForm.querySelector('button[type=\"submit\"]').setAttribute('disabled', 'disabled');
}, false);
</script>
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 6
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_flash_messages(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "flash_messages"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "flash_messages"));
// line 7
yield " ";
yield Twig\Extension\CoreExtension::include($this->env, $context, "@EasyAdmin/flash_messages.html.twig");
yield "
";
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
// line 47
/**
* @return iterable<null|scalar|\Stringable>
*/
public function block_login_box(array $context, array $blocks = []): iterable
{
$macros = $this->macros;
$__internal_5a27a8ba21ca79b61932376b2fa922d2 = $this->extensions["Symfony\\Bundle\\WebProfilerBundle\\Twig\\WebProfilerExtension"];
$__internal_5a27a8ba21ca79b61932376b2fa922d2->enter($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "login_box"));
$__internal_6f47bbe9983af81f1e7450e9a3e3768f = $this->extensions["Symfony\\Bridge\\Twig\\Extension\\ProfilerExtension"];
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->enter($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof = new \Twig\Profiler\Profile($this->getTemplateName(), "block", "login_box"));
// line 48
yield " ";
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)) {
// line 49
yield " ";
// line 50
yield " <div class=\"demo-login-panel\">
<div class=\"demo-login-header\">
<i class=\"fas fa-flask me-2\"></i>
<span>Test-Zugang</span>
</div>
<p class=\"demo-login-info\">Schnell-Login für Testumgebung:</p>
";
// line 57
$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"]];
// line 65
yield "
";
// line 66
$context['_parent'] = $context;
$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); })()));
foreach ($context['_seq'] as $context["_key"] => $context["user"]) {
// line 67
yield " <button type=\"button\" class=\"demo-login-btn\" onclick=\"demoLogin('";
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);
yield "')\">
<i class=\"fas fa-sign-in-alt\" style=\"color: ";
// line 68
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);
yield "\"></i>
<div class=\"demo-login-btn-content\">
<strong style=\"color: ";
// line 70
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);
yield "\">";
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);
yield "</strong>
<small>";
// line 71
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);
yield "</small>
</div>
</button>
";
}
$_parent = $context['_parent'];
unset($context['_seq'], $context['_key'], $context['user'], $context['_parent']);
$context = array_intersect_key($context, $_parent) + $_parent;
// line 75
yield "
<p class=\"demo-login-note\">
<i class=\"fas fa-info-circle me-1\"></i>
Passwort: <code>password</code>
</p>
</div>
<script>
function demoLogin(email) {
document.getElementById('username').value = email;
document.getElementById('password').value = 'password';
document.getElementById('login-form').submit();
}
</script>
<style>
.demo-login-panel {
background: #fff8e1;
border: 2px solid #ffc107;
border-radius: 8px;
padding: 1rem;
}
.demo-login-header {
color: #f57c00;
font-size: 1.25rem;
font-weight: 600;
margin-bottom: 0.5rem;
display: flex;
align-items: center;
}
.demo-login-info {
color: #666;
font-size: 0.875rem;
margin-bottom: 1rem;
}
.demo-login-btn {
display: flex;
align-items: center;
width: 100%;
padding: 0.5rem 0.75rem;
margin-bottom: 0.5rem;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 6px;
cursor: pointer;
transition: all 0.2s;
text-align: left;
}
.demo-login-btn:hover {
border-color: #9B1B1B;
background: #fafafa;
}
.demo-login-btn i {
font-size: 1.25rem;
margin-right: 0.75rem;
}
.demo-login-btn-content {
display: flex;
flex-direction: column;
line-height: 1.3;
}
.demo-login-btn-content strong {
font-size: 0.875rem;
}
.demo-login-btn-content small {
color: #999;
font-size: 0.75rem;
}
.demo-login-note {
margin-top: 1rem;
margin-bottom: 0;
font-size: 0.75rem;
color: #666;
}
.demo-login-note code {
background: #eee;
padding: 0.1rem 0.3rem;
border-radius: 3px;
}
</style>
";
} else {
// line 156
yield " ";
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.");
yield "
<div class=\"login-list\">
<span class=\"bx icon-calculator me-2\"></span>
<span class=\"text\">";
// line 159
yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.calculator", "Kalkulator");
yield "</span>
</div>
<div class=\"login-list\">
<span class=\"bx icon-weights me-2\"></span>
<span class=\"text\">";
// line 163
yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.doorWeightCalculator", "Wirkendes Türgewicht");
yield "</span>
</div>
<div class=\"login-list\">
<span class=\"bx icon-ele me-2\"></span>
<span class=\"text\">";
// line 167
yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.ele", "ELE - Elektronische Leistungserklärung");
yield "</span>
</div>
<div class=\"login-list\">
<span class=\"bx icon-tur24 me-2\"></span>
<span class=\"text\">";
// line 171
yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.door24", "Tür 24 Lagersortiment");
yield "</span>
</div>
<div class=\"login-list\">
<span class=\"brunex-icon me-2\">
";
// line 175
yield Twig\Extension\CoreExtension::source($this->env, "icons/Devis.svg");
yield "
</span>
<span class=\"text\">";
// line 177
yield $this->env->getRuntime('Roothirsch\CoreBundle\Translation\Twig\TranslatorRuntime')->translate("login.opendevis", "opendevis");
yield "</span>
</div>
";
}
$__internal_6f47bbe9983af81f1e7450e9a3e3768f->leave($__internal_6f47bbe9983af81f1e7450e9a3e3768f_prof);
$__internal_5a27a8ba21ca79b61932376b2fa922d2->leave($__internal_5a27a8ba21ca79b61932376b2fa922d2_prof);
yield from [];
}
/**
* @codeCoverageIgnore
*/
public function getTemplateName(): string
{
return "@EasyAdmin/page/login.html.twig";
}
/**
* @codeCoverageIgnore
*/
public function isTraitable(): bool
{
return false;
}
/**
* @codeCoverageIgnore
*/
public function getDebugInfo(): array
{
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,);
}
public function getSourceContext(): Source
{
return new Source("{% extends 'layout/login.html.twig' %}
{% block login_form %}
{% set _username_label = username_label is defined ? username_label|trans : 'login_page.username'|trans({}, 'EasyAdminBundle') %}
{% set _password_label = password_label is defined ? password_label|trans : 'login_page.password'|trans({}, 'EasyAdminBundle') %}
{% set _sign_in_label = sign_in_label is defined ? sign_in_label|trans : 'login_page.sign_in'|trans({}, 'EasyAdminBundle') %}
{% block flash_messages %}
{{ include('@EasyAdmin/flash_messages.html.twig') }}
{% endblock flash_messages %}
{% if error|default(false) %}
<div class=\"w-100 alert alert-danger rounded mb-3\">
<i class=\"fas fa-times-circle mr-1\"></i>
{{ error.messageKey|trans(error.messageData, 'security') }}
</div>
{% endif %}
<form method=\"post\" action=\"{{ action|default('') }}\" id=\"login-form\">
{% if csrf_token_intention|default(false) %}
<input type=\"hidden\" name=\"_csrf_token\" value=\"{{ csrf_token(csrf_token_intention) }}\">
{% endif %}
<input type=\"hidden\" name=\"{{ target_path_parameter|default('_target_path') }}\" value=\"{{ target_path|default(ea is defined ? path(ea.dashboardRouteName) : '/') }}\" />
<div class=\"username-field form-group\">
<label for=\"username\">{{ btrans('login.field.username', 'E-Mail-Adresse') }}</label>
<input type=\"text\" id=\"username\" name=\"{{ username_parameter|default('_username') }}\" class=\"form-control\" value=\"{{ last_username|default('') }}\" required autofocus autocomplete=\"username\">
</div>
<div class=\"password-field form-group\">
<label for=\"password\">{{ btrans('login.field.password', 'Passwort') }}</label>
<input type=\"password\" id=\"password\" name=\"{{ password_parameter|default('_password') }}\" class=\"form-control\" required autocomplete=\"current-password\">
</div>
<button type=\"submit\" id=\"login-button\" class=\"btn btn-primary btn-lg btn-block\" onclick=\"this.form.submit(); this.disabled=true;\">
{{ btrans('login.submit', 'Einloggen') }}
</button>
</form>
<script type=\"text/javascript\">
const loginForm = document.querySelector('form');
loginForm.addEventListener('submit', () => {
loginForm.querySelector('button[type=\"submit\"]').setAttribute('disabled', 'disabled');
}, false);
</script>
{% endblock %}
{% block login_box %}
{% if demo_login_enabled %}
{# Demo Login Panel für Testumgebungen #}
<div class=\"demo-login-panel\">
<div class=\"demo-login-header\">
<i class=\"fas fa-flask me-2\"></i>
<span>Test-Zugang</span>
</div>
<p class=\"demo-login-info\">Schnell-Login für Testumgebung:</p>
{% set 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' }
] %}
{% for user in demo_users %}
<button type=\"button\" class=\"demo-login-btn\" onclick=\"demoLogin('{{ user.email }}')\">
<i class=\"fas fa-sign-in-alt\" style=\"color: {{ user.color }}\"></i>
<div class=\"demo-login-btn-content\">
<strong style=\"color: {{ user.color }}\">{{ user.label }}</strong>
<small>{{ user.email }}</small>
</div>
</button>
{% endfor %}
<p class=\"demo-login-note\">
<i class=\"fas fa-info-circle me-1\"></i>
Passwort: <code>password</code>
</p>
</div>
<script>
function demoLogin(email) {
document.getElementById('username').value = email;
document.getElementById('password').value = 'password';
document.getElementById('login-form').submit();
}
</script>
<style>
.demo-login-panel {
background: #fff8e1;
border: 2px solid #ffc107;
border-radius: 8px;
padding: 1rem;
}
.demo-login-header {
color: #f57c00;
font-size: 1.25rem;
font-weight: 600;
margin-bottom: 0.5rem;
display: flex;
align-items: center;
}
.demo-login-info {
color: #666;
font-size: 0.875rem;
margin-bottom: 1rem;
}
.demo-login-btn {
display: flex;
align-items: center;
width: 100%;
padding: 0.5rem 0.75rem;
margin-bottom: 0.5rem;
background: #fff;
border: 1px solid #e0e0e0;
border-radius: 6px;
cursor: pointer;
transition: all 0.2s;
text-align: left;
}
.demo-login-btn:hover {
border-color: #9B1B1B;
background: #fafafa;
}
.demo-login-btn i {
font-size: 1.25rem;
margin-right: 0.75rem;
}
.demo-login-btn-content {
display: flex;
flex-direction: column;
line-height: 1.3;
}
.demo-login-btn-content strong {
font-size: 0.875rem;
}
.demo-login-btn-content small {
color: #999;
font-size: 0.75rem;
}
.demo-login-note {
margin-top: 1rem;
margin-bottom: 0;
font-size: 0.75rem;
color: #666;
}
.demo-login-note code {
background: #eee;
padding: 0.1rem 0.3rem;
border-radius: 3px;
}
</style>
{% else %}
{{ btrans('login.introduction', 'Planung, Bestellung nach Mass, Dokumentation sowie sämtliche Leistungserklärungen rund um die Uhr.') }}
<div class=\"login-list\">
<span class=\"bx icon-calculator me-2\"></span>
<span class=\"text\">{{ btrans('login.calculator', 'Kalkulator') }}</span>
</div>
<div class=\"login-list\">
<span class=\"bx icon-weights me-2\"></span>
<span class=\"text\">{{ btrans('login.doorWeightCalculator', 'Wirkendes Türgewicht') }}</span>
</div>
<div class=\"login-list\">
<span class=\"bx icon-ele me-2\"></span>
<span class=\"text\">{{ btrans('login.ele', 'ELE - Elektronische Leistungserklärung') }}</span>
</div>
<div class=\"login-list\">
<span class=\"bx icon-tur24 me-2\"></span>
<span class=\"text\">{{ btrans('login.door24', 'Tür 24 Lagersortiment') }}</span>
</div>
<div class=\"login-list\">
<span class=\"brunex-icon me-2\">
{{ source('icons/Devis.svg') }}
</span>
<span class=\"text\">{{ btrans('login.opendevis', 'opendevis') }}</span>
</div>
{% endif %}
{% endblock %}
", "@EasyAdmin/page/login.html.twig", "/var/www/int.my.brunex.ch/themes/brunex/bundles/EasyAdminBundle/page/login.html.twig");
}
}