<!DOCTYPE html>
{% if app.request.locale == 'en' %}
<html dir="ltr" lang="en" data-lg="en">
{% elseif app.request.locale == 'fr'%}
<html dir="ltr" lang="fr" data-lg="fr">
{% endif %}
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
{# Tell the browser to be responsive to screen width #}
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
{# Favicon icon #}
<link rel="icon" type="image/png" sizes="32x32" href="{{ asset('/favicon-32x32.png') }}">
<title>MainChain {% block title %}{% endblock %}</title>
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
<script src="{{ asset('libs/html5shiv/3.7.0/html5shiv.js') }}"></script>
<script src="{{ asset('libs/respond/1.4.2/respond.min.js') }}"></script>
<![endif]-->
{% block stylesheets %}
<link href="{{ asset('css/import.css') }}" rel="stylesheet" />
<link href="{{ asset('css/style.css') }}" rel="stylesheet" />
<link href="{{ asset('css/app.css') }}" rel="stylesheet" />
<link href="{{ asset('css/bootstrap-datepicker-1.9.0.css') }}" rel="stylesheet" />
<link href="{{ asset('libs/datatables.net-dt-2.0.3/css/datatables-dt-2.0.3.min.css') }}" rel="stylesheet" />
{% if app.request.attributes.get('_route') == 'dashboard' %}
<link href="{{ asset('libs/morris.js/morris.css') }}" rel="stylesheet" />
<link href="{{ asset('libs/daterangepicker/daterangepicker.css') }}" rel="stylesheet" />
{% endif %}
{% endblock %}
</head>
<body>
{# ============================================================== #}
{# Main wrapper - style you can find in pages.scss #}
{# ============================================================== #}
<div id="main-wrapper" data-theme="light" data-layout="vertical" data-navbarbg="skin6" data-sidebartype="full"
data-sidebar-position="fixed" data-header-position="fixed" data-boxed-layout="full">
{# ============================================================== #}
{# Topbar header - style you can find in pages.scss #}
{# ============================================================== #}
<header class="topbar" data-navbarbg="skin6">
<nav class="navbar top-navbar navbar-expand-md">
<div class="navbar-header" data-logobg="skin6">
{# This is for the sidebar toggle which is visible on mobile only #}
<a class="nav-toggler waves-effect waves-light d-block d-md-none" href="javascript:void(0)">
<i class="ti-menu ti-close"></i></a>
{# ============================================================== #}
{# Logo #}
{# ============================================================== #}
<div class="navbar-brand">
{# Logo icon #}
<a href="{{ path('home') }}">
<b class="logo-icon">
{# Dark Logo icon #}
<img src="{{ asset('img/logo-icon.png') }}" width="45" alt="homepage" class="dark-logo" />
{# Light Logo icon #}
<img src="{{ asset('/images/logo-icon.png') }}" alt="homepage" class="light-logo" />
</b>
{# End Logo icon #}
{# Logo text #}
<span class="logo-text">
<img src="{{ asset('img/logo-text.png') }}" width="132" alt="homepage" class="dark-logo" />
</span>
</a>
</div>
{# ============================================================== #}
{# End Logo #}
{# ============================================================== #}
{# ============================================================== #}
{# Toggle which is visible on mobile only #}
{# ============================================================== #}
<a class="topbartoggler d-block d-md-none waves-effect waves-light" href="javascript:void(0)"
data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
{# <i class="ti-more"></i> #}
</a>
{# <a class="topbartogglerclose d-none waves-effect waves-light" href="javascript:void(0)"
data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<i class="ti-close" style="padding: 0 15px"></i>
</a> #}
</div>
{# ============================================================== #}
{# End Logo #}
{# ============================================================== #}
<div class="navbar-collapse d-flex justify-content-between" id="navbarSupportedContent">
{# ============================================================== #}
{# toggle and nav items #}
{# ============================================================== #}
{# <a id="miniSidebar" class="d-none d-md-block" href=""><i class="fas fa-chevron-left d-none d-md-block"></i></a> #}
<div class="union-ul">
<ul class="navbar-nav ml-3">
{# ============================================================== #}
{# create new #}
{# ============================================================== #}
{% set route = app.request.attributes.get('_route') %}
{% set route_params = app.request.attributes.get('_route_params') %}
{% set params = route_params|merge(app.request.query.all) %}
{% if app.request.locale == 'en' %}
{% set locale = 'fr' %}
{% set value = 'on' %}
{% set title = 'Changer la langue pour : Français' %}
{% elseif app.request.locale == 'fr'%}
{% set locale = 'en' %}
{% set value = 'off' %}
{% set title = 'Change the language to : English' %}
{% endif %}
<li>
<div class="translation-action-block" >
<a href="{{ path(route, params|merge({ _locale: locale })) }}">
<div class="translation-action">
<img src="{{ asset('img/flags/FR.png') }}" alt="FR"/>
<div class="{{ value }} on-off-btn" data-bs-toggle="tooltip" title="{{ title }}" ><span class="on-off-cursor"></span></div>
<img src="{{ asset('img/flags/GB.png') }}" alt="BG"/>
</div>
</a>
</div>
</li>
</ul>
{# ============================================================== #}
{# Right side toggle and nav items #}
{# ============================================================== #}
<ul class="navbar-nav">
<li>
{% block bubble_nav %}
{% endblock %}
</li>
</ul>
</div>
<ul class="navbar-nav credit-nav-bar">
{% set b_key = app.session.get('b_key', 0) %}
{% set profiles = app.user.getProfiles() %}
<div class="nav-item bubble-info credit">
<div class="bubble-credits">
{% if profiles[b_key].is_sa != 1 %}
{% set bubble_info = bubble_service.getBubbleCreditInfo(app.user, app.user.profiles[b_key].b_id) %}
{% if (profiles[b_key].is_ind != 1) %}
{% if profiles[b_key].is_op != 1 %}
{% if bubble_info.number_credit is defined and bubble_info.number_credit >= 0 %}
<li class="nav-item dropdown float-right">
<a class="nav-link dropdown-toggle dropdown-toggle-credit" style="padding-top: 0 !important" data-btn="not_cancelled" href="javascript:void(0)" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<div class="bubble-credits-block">
<span class="number-credit">
{{ bubble_info.number_credit | number_format(2) }}
{% if bubble_info.number_credit == 1 %}
{% trans %}crédit{% endtrans %}
{% else %}
{% trans %}crédits{% endtrans %}
{% endif %}
</span>
<span><i data-feather="chevron-down" class="svg-icon"></i></span>
</div>
</a>
<div class="dropdown-menu dropdown-credits user-dd animated flipInY">
<div class="bubble-credits-block" style="display: flex;">
<span>{{ ((bubble_info.number_credit)*(bubble_info.credit_value)) | number_format(2) }}</span>
<span style="margin-left: 5px;">{% trans %}€{% endtrans %}</span>
</div>
</div>
</li>
{% endif %}
{% endif %}
{% endif %}
{% endif %}
</div>
<div class="d-none position-relative credit-on-mobile">
<a class="nav-link dropdown-toggle dropdown-toggle-credit" style="padding-top: 0 !important" data-btn="not_cancelled" href="javascript:void(0)" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<div class="bubble-credits-block">
<span class="number-credit">
<img src="{{asset('img/monero.png')}}" alt="credit" width="80">
</span>
<span><i data-feather="chevron-down" class="svg-icon"></i></span>
</div>
</a>
{% if profiles[b_key].is_sa != 1 %}
<div class="dropdown-menu dropdown-credits user-dd animated flipInY t-flex">
<span class="number-credit">
{% if bubble_info.number_credit is defined and bubble_info.number_credit >= 0 %}
{{ bubble_info.number_credit | number_format(2) }}
{% if bubble_info.number_credit == 1 %}
{% trans %}crédit{% endtrans %}
{% else %}
{% trans %}crédits{% endtrans %}
{% endif %}
</span>
<div class="dropdown-divider user-connect"></div>
<span class="value-credit">{{ ((bubble_info.number_credit)*(bubble_info.credit_value)) | number_format(2) }}</span>
<span style="margin-left: 5px;">{% trans %}€{% endtrans %}</span>
{% endif %}
</div>
{% endif %}
</div>
</div>
</ul>
<ul class="navbar-nav mr-2">
{# ============================================================== #}
{# User profile and search #}
{# ============================================================== #}
<div class="nav-item bubble-info">
<div class="bubble-profile col-12">
<li class="nav-item dropdown float-right col-12">
<a class="d-flex align-items-center justify-content-end nav-link dropdown-toggle dropdown-toggle-profile text-truncate col-12" data-btn="not_cancelled" href="javascript:void(0)" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{% set username = app.user.username|split('@') %}
<span class="bubble-profile-block text-truncate" style="font-size: 16px; padding-right : 5px;">
{{ app.user.uFname ? app.user.uFname : '' }} {{ app.user.uLname ? app.user.uLname : username[0] }}
</span>
<img src="{{asset('img/logo-icon.png')}}" alt="user"
{% set b_key = app.session.get('b_key', 0) %}
{% set profiles = app.user.getProfiles() %}
{% if app.user.getIsSa == 1 %}
class="d-block rounded-circle icon-sa" data-bs-toggle="tooltip" title="SUPER ADMIN"
{% elseif profiles[b_key].is_ba == 1 %}
class="d-block rounded-circle icon-ba" data-bs-toggle="tooltip" title="{% trans %}Administrateur{% endtrans %}"
{% elseif profiles[b_key].is_op == 1 %}
class="d-block rounded-circle icon-op" data-bs-toggle="tooltip" title="{% trans %}Opérateur{% endtrans %}"
{% elseif profiles[b_key].is_ind == 1 %}
class="d-block rounded-circle icon-ind" data-bs-toggle="tooltip" title="{% trans %}Industriel{% endtrans %}"
{% elseif profiles[b_key].is_vp == 1 %}
class="d-block rounded-circle icon-va" data-bs-toggle="tooltip" title="{% trans %}Validateur de plan{% endtrans %}"
{% elseif profiles[b_key].is_vp == 1 %}
class="d-block rounded-circle icon-va" data-bs-toggle="tooltip" title="{% trans %}Validateur d'impression{% endtrans %}"
{% elseif profiles[b_key].is_man == 1 %}
class="d-block rounded-circle icon-man" data-bs-toggle="tooltip" title="{% trans %}Fabricant{% endtrans %}"
{% elseif profiles[b_key].is_fm == 1 %}
class="d-block rounded-circle icon-sm" data-bs-toggle="tooltip" title="{% trans %}Responsable de formation{% endtrans %}"
{% elseif profiles[b_key].is_om == 1 %}
class="d-block rounded-circle icon-sm" data-bs-toggle="tooltip" title="{% trans %}Responsable délégué{% endtrans %}"
{% elseif profiles[b_key].is_cl == 1 %}
class="d-block rounded-circle icon-sm" data-bs-toggle="tooltip" title="Client"
{% endif %} width="40">
</a>
{# <div class="dropdown-menu dropdown-profile user-dd animated flipInY">
<a class="dropdown-item" href="{{ path('user_update') }}">
<i data-feather="edit" class="svg-icon mr-2 ml-1"></i>
{% trans %}Mon compte{% endtrans %}
</a>
<a class="dropdown-item text-danger" href="{{ path('logout') }}">
<i data-feather="power" class="svg-icon mr-2 ml-1"></i>
{% trans %}Déconnexion{% endtrans %}
</a>
</div> #}
</li>
</div>
</div>
{% if profiles[b_key].is_sa != 1 and profiles[b_key].is_cl != 1 %}
<div class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i data-feather="settings" class="svg-icon" id="svg-icon-setting"></i>
</a>
<div class="dropdown-menu dropdown-parameters dropdown-menu-end" aria-labelledby="navbarDropdown">
<div class="info-user-connect">
<a class="d-flex align-items-center justify-content-end nav-link dropdown-toggle dropdown-toggle-profile text-truncate col-12 user-connect-dropdown" data-btn="not_cancelled" href="javascript:void(0)" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{% set username = app.user.username|split('@') %}
<span class="bubble-profile-block text-truncate" style="font-size: 16px; padding-right : 5px;">
{{ app.user.uFname ? app.user.uFname : '' }} {{ app.user.uLname ? app.user.uLname : username[0] }} /
{% set b_key = app.session.get('b_key', 0) %}
{% set profiles = app.user.getProfiles() %}
{% if app.user.getIsSa == 1 %}
SUPER ADMIN
{% elseif profiles[b_key].is_ba == 1 %}
Administrateur
{% elseif profiles[b_key].is_op == 1 %}
Opérateur
{% elseif profiles[b_key].is_ind == 1 %}
"Industriel"
{% elseif profiles[b_key].is_vp == 1 %}
Validateur de plan
{% elseif profiles[b_key].is_vp == 1 %}
Validateur d'impression
{% elseif profiles[b_key].is_man == 1 %}
Fabricant
{% elseif profiles[b_key].is_cl == 1 %}
Client
{% endif %}
</span>
<img src="{{asset('img/logo-icon.png')}}" alt="user" width="40">
</a>
</div>
<div class="dropdown-divider user-connect"></div>
{% if (profiles[b_key].user.read == 1) or (profiles[b_key].user.create == 1) %}
{% if profiles[b_key].user.read == 1 %}
<a class="dropdown-item" href="{{ path('bubble_user_list') }}">{% trans %}Voir les utilisateurs{% endtrans %}</a>
{% endif %}
{% if profiles[b_key].user.create == 1 %}
<a class="dropdown-item" href="{{ path('bubble_user_add') }}">{% trans %}Ajouter un utilisateur{% endtrans %}</a>
{% endif %}
<div class="dropdown-divider"></div>
{% endif %}
{% if (profiles[b_key].industrial.read == 1) or (profiles[b_key].industrial.create == 1) %}
{% if profiles[b_key].industrial.read == 1 %}
<a class="dropdown-item" href="{{ path('industrial_list') }}">{% trans %}Voir les industriels{% endtrans %}</a>
{% endif %}
{% if profiles[b_key].industrial.create == 1 %}
<a class="dropdown-item" href="{{ path('industrial_add') }}">{% trans %}Ajouter un industriel{% endtrans %}</a>
{% endif %}
<div class="dropdown-divider"></div>
{% endif %}
{% if profiles[b_key].token.read == 1 %}
<a class="dropdown-item" href="{{ path('api_data') }}">{% trans %}Accès API MainChain{% endtrans %}</a>
{% endif %}
</div>
</div>
{% endif %}
{# ============================================================== #}
{# Change language French <--> English #}
{# ============================================================== #}
{% if app.request.locale == 'en' %}
{% set locale = 'fr' %}
{% set title = 'Changer la langue pour : Français' %}
{% elseif app.request.locale == 'fr'%}
{% set locale = 'en' %}
{% set title = 'Change the language to : English' %}
{% endif %}
</ul>
</div>
</nav>
</header>
{# ============================================================== #}
{# End Topbar header #}
{# ============================================================== #}
{# ============================================================== #}
{# Left Sidebar - style you can find in sidebar.scss #}
{# ============================================================== #}
<aside class="left-sidebar" data-sidebarbg="skin6">
{# Sidebar scroll #}
<div class="scroll-sidebar" data-sidebarbg="skin6">
{# Sidebar navigation #}
<nav class="sidebar-nav">
<ul id="sidebarnav">
{% if app.user.getIsSa != 1 %}
<div class="group-nav" id="menu1000">
<ol style="list-style-type: none; padding: 0 0 0 4px;">
<li id="item1000" class="sidebar-item {% if 'home' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('home') }}" aria-expanded="false">
<i style="width: 22px; height: 22px;" data-feather="home" class="feather-icon"></i>
<span class="hide-menu" style="text-transform: capitalize; font-size: 14px;">{% trans %}Accueil{% endtrans %}</span>
</a>
</li>
</ol>
</div>
{% endif %}
{# PARTIE BULLE POUR SUPER ADMIN #}
{% if app.user.getIsSa == 1 %}
<li class="nav-small-cap"><span class="hide-menu">{% trans %}Gestion des bulles{% endtrans %}</span></li>
<li class="sidebar-item {% if app.request.attributes.get('_route') == 'bubble' %} selected {% endif %}">
<a class="sidebar-link" href="{{ path('bubble') }}" aria-expanded="false">
<i data-feather="cloud" class="feather-icon"></i>
<span class="hide-menu">{% trans %}Mes bulles{% endtrans %}</span>
</a>
</li>
<li class="sidebar-item {% if '/bubble/add' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link" href="{{ path('bubble_add') }}" aria-expanded="false">
<i data-feather="plus-square" class="feather-icon"></i>
<span class="hide-menu">{% trans %}Créer une bulle{% endtrans %}</span>
</a>
</li>
{% endif %}
{# NAV SITE #}
{% if app.user.getIsSa != 1 %}
{% set profiles = app.user.getProfiles() %}
{% set b_key = app.session.get('b_key', 0) %}
{# BLOCk IMPRESSIONS >>> #}
{% if profiles[b_key].job_order.read == 1 or profiles[b_key].job_order.create == 1 or profiles[b_key].history.read == 1 or profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_op == 1 %}
<div class="group-nav" id="menu1">
<span class="nav-small-cap" style="color: #818181">
<a href="#" class="hide-menu dropdown-btn">
<i style="color: #9eabc0;">
<svg xmlns="http://www.w3.org/2000/svg" width="22" height="22" viewBox="0 0 22 22" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-layers">
<polygon points="12 2 2 7 12 12 22 7 12 2"/><polyline points="2 17 12 22 22 17"/><polyline points="2 12 12 17 22 12"/>
</svg>
</i>
</a>
<li style="padding-left: 0" class="sidebar-item hide-item {% if 'all_job_order_list' in app.request.attributes.get('_route') %} selected {% endif %}">
{% if profiles[b_key].job_order.read == 1 %}
<a style="padding-left: 2px" class="sidebar-link" href="{{ path('all_job_order_list') }}" aria-expanded="false">
<span class="hide-menu" style="text-transform: capitalize; font-size: 14px;">{% trans %}Impressions{% endtrans %}</span>
</a>
{% else %}
<a class="sidebar-item hide-item">
<span class="hide-menu" style="text-transform: capitalize; font-size: 14px;">{% trans %}Impressions{% endtrans %}</span>
</a>
{% endif %}
</li>
</span>
<div class="dropdown-container">
<ol style="list-style-type: none;">
{# ORDRES D'IMPRESSIONS - Créer >>> #}
{% if profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_op == 1 or profiles[b_key].job_order.create == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Créer{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_op == 1 %}
<li id="item1" class="sidebar-item hide-item {% if 'production_order_received' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('production_order_received') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Production à décliner{% endtrans %}</span>
</a>
</li>
{% endif %}
{% if profiles[b_key].job_order.create == 1 %}
<li id="item2" class="sidebar-item hide-item {% if 'plan_create_job_order' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('plan_create_job_order', {'plan_id' : 'null', 'production_order_id': 'null'}) }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Impression catalogue{% endtrans %}</span>
</a>
</li>
{% endif %}
{# <<< ORDRES D'IMPRESSIONS - Créer #}
{# ORDRES D'IMPRESSIONS - Gérer / Imprimer >>> #}
{% if profiles[b_key].job_order.read == 1 or profiles[b_key].job_order.create == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Gérer / Imprimer{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].job_order.read == 1 %}
<li id="item3" class="sidebar-item hide-item {% if 'crm_job_order_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('crm_job_order_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Ordres d'impression{% endtrans %}</span>
</a>
</li>
{% endif %}
{# {% if profiles[b_key].job_order.create == 1 %}#}
{# <li id="item4" class="sidebar-item hide-item {% if 'non_catalog_file' in app.request.attributes.get('_route') %} selected {% endif %}">#}
{# <a class="sidebar-link dropdown-item" href="{{ path('non_catalog_file') }}" aria-expanded="false">#}
{# <span class="hide-menu">{% trans %}Impression hors catalogue{% endtrans %}</span>#}
{# </a>#}
{# </li>#}
{# {% endif %}#}
{# <<< ORDRES D'IMPRESSIONS - Gérer / Imprimer #}
{# ORDRES D'IMPRESSIONS - Valider >>> #}
{% if profiles[b_key].job_order.read == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Valider{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].job_order.read == 1 %}
<li id="item5" class="sidebar-item hide-item {% if 'finished_job_order_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('finished_job_order_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Contrôle qualité{% endtrans %}</span>
</a>
</li>
{% endif %}
{# <<< ORDRES D'IMPRESSIONS - Valider #}
{# ORDRES D'IMPRESSIONS - Historique >>> #}
{% if profiles[b_key].history.read == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Historique{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].history.read == 1 %}
<li id="item6" class="sidebar-item hide-item {% if 'print_logs' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('print_logs') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Historique{% endtrans %}</span>
</a>
</li>
{% endif %}
{# <<< ORDRES D'IMPRESSIONS - Historique #}
</ol>
</div>
</div>
{% endif %}
{# <<< BLOCk IMPRESSIONS #}
{# BLOCk PRODUCTIONS >>> #}
{% if profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_ba == 1 or profiles[b_key].is_op == 1 or profiles[b_key].is_cl == 1 %}
<div class="group-nav" id="menu2">
<span class="nav-small-cap" style="padding: 0 0 0 -2px;">
<a href="#" class="hide-menu dropdown-btn">
<i class="fa fa-cubes" aria-hidden="true" style="font-size: 24px; color: #9eabc0"></i>
</a>
<a class="sidebar-item hide-item">
<span class="hide-menu" style="text-transform: capitalize; font-size: 14px; color: #818181">{% trans %}Productions{% endtrans %}</span>
</a>
</span>
<div class="dropdown-container">
<ol style="list-style-type: none;">
{% if profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_ba == 1 or profiles[b_key].is_cl == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Créer{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_ba == 1 or profiles[b_key].is_cl == 1 %}
<li id="item7" class="sidebar-item hide-item {% if 'plan_create_production_order' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('plan_create_production_order', {'plan_id' : 'null'}) }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Production à initier{% endtrans %}</span>
</a>
</li>
{% endif %}
{% if profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_ba == 1 or profiles[b_key].is_op == 1 or profiles[b_key].is_cl == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Gérer / Suivre{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_ba == 1 or profiles[b_key].is_cl == 1 %}
<li id="item8" class="sidebar-item hide-item {% if 'get_production_order' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('get_production_order') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Ordres générés{% endtrans %}</span>
</a>
</li>
{% endif %}
{% if profiles[b_key].is_om == 1 or profiles[b_key].is_fm == 1 or profiles[b_key].is_op == 1 %}
<li id="item9" class="sidebar-item hide-item {% if 'production_order_received' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('production_order_received') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Ordres reçus{% endtrans %}</span>
</a>
</li>
{% endif %}
</ol>
</div>
</div>
{% endif %}
{# <<< BLOCk PRODUCTIONS #}
{# BLOCk IMPRIMANTES >>> #}
{% if (profiles[b_key].planning.read == 1 or profiles[b_key].printer.read == 1) and profiles[b_key].is_cl != 1 %}
<div class="group-nav" id="menu3">
<span class="nav-small-cap" style="color: #818181">
<a href="#" class="hide-menu dropdown-btn">
<span style="padding: 0 0 0 2px">
<svg width="28px" height="26px" viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="8" y="12" width="48" height="40" rx="4" fill="#B0BEC5"/> <rect x="12" y="16" width="40" height="28" fill="#FFFFFF"/>
<path d="M16 48L24 32H40L48 48H16Z" fill="#999999"/> <rect x="22" y="26" width="20" height="2" rx="1" fill="#B0BEC5"/>
<rect x="22" y="30" width="20" height="2" rx="1" fill="#B0BEC5"/> <rect x="12" y="46" width="4" height="2" rx="1" fill="#B0BEC5"/>
<rect x="48" y="46" width="4" height="2" rx="1" fill="#B0BEC5"/> <rect x="14" y="52" width="36" height="2" fill="#90A4AE"/>
<rect x="14" y="58" width="36" height="2" fill="#90A4AE"/> <circle cx="18" cy="8" r="2" fill="#B0BEC5"/>
<circle cx="24" cy="8" r="2" fill="#B0BEC5"/> <rect x="32" y="6" width="14" height="4" rx="2" fill="#B0BEC5"/>
</svg>
</span>
</a>
<a class="sidebar-item hide-item">
<span class="hide-menu" style="text-transform: capitalize; padding: 0 0 0 4px; font-size: 14px; color: #818181">{% trans %}Imprimantes{% endtrans %}</span>
</a>
</span>
<div class="dropdown-container">
<ol style="list-style-type: none;">
{% if profiles[b_key].printer.read == 1 or profiles[b_key].planning.read == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Gérer{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].printer.read == 1 %}
<li id="item10" class="sidebar-item hide-item {% if 'printer_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('printer_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Liste des imprimantes{% endtrans %}</span>
</a>
</li>
{% endif %}
{% if profiles[b_key].planning.read == 1%}
<li id="item11" class="sidebar-item hide-item {% if 'production_planning' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('production_planning') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Planning d'impressions{% endtrans %}</span>
</a>
</li>
{% endif %}
</ol>
</div>
</div>
{% endif %}
{# <<< BLOCk IMPRIMANTES #}
{# BLOCk CATALOGUE >>> #}
{% if profiles[b_key].plan.read == 1 and profiles[b_key].is_op == 0 %}
<div class="group-nav" id="menu4">
<span class="nav-small-cap" style="padding: 0 33px !important; color: #818181">
<a href="#" class="hide-menu dropdown-btn">
<span style="color: #9eabc0">
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text">
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/>
<line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/>
</svg>
</span>
</a>
<li style="padding-left: 0" class="sidebar-item hide-item {% if 'plan_l_gen' in app.request.attributes.get('_route') %} selected {% endif %}">
<a style="padding-left: 2px" class="sidebar-link" href="{{ path('plan_l_gen') }}" aria-expanded="false">
<span class="hide-menu"style="text-transform: capitalize; font-size: 14px;">{% trans %}Catalogue{% endtrans %}</span>
</a>
</li>
</span>
<div class="dropdown-container">
<ol style="list-style-type: none;">
{% if profiles[b_key].plan.read == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Gérer{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].plan.read == 1 %}
<li id="item12" class="sidebar-item hide-item {% if 'plan_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('plan_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Catalogue de fichiers{% endtrans %}</span>
</a>
</li>
{% endif %}
</ol>
</div>
</div>
{% endif %}
{# <<< BLOCk CATALOGUE #}
{# BLOCk ADMINISTRATION >>> #}
{% if profiles[b_key].industrial.read == 1 or profiles[b_key].industrial.create == 1 or profiles[b_key].user.read == 1 or profiles[b_key].user.create == 1 or profiles[b_key].structures.read == 1 or profiles[b_key].structures.create == 1 or profiles[b_key].site.read == 1 or profiles[b_key].site.create == 1 %}
<div class="group-nav" id="menu5">
<span class="nav-small-cap" style="padding: 0 33px !important; color: #818181">
<a href="#" class="hide-menu dropdown-btn">
<i class="fas fa-edit" style="color: #9eabc0; font-size: 18px"></i>
</a>
<a class="sidebar-item hide-item">
<span class="hide-menu" style="text-transform: capitalize; padding: 0 0 0 1px; font-size: 14px;">{% trans %}Administration{% endtrans %}</span>
</a>
</span>
<div class="dropdown-container">
<ol style="list-style-type: none;">
{% if profiles[b_key].user.create == 1 or profiles[b_key].structures.create == 1 or profiles[b_key].site.create == 1 or profiles[b_key].industrial.create == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Créer{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].user.create == 1 %}
<li id="item13" class="sidebar-item hide-item {% if 'bubble_user_add' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('bubble_user_add') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Un utilisateur{% endtrans %}</span>
</a>
</li>
{% endif %}
{# {% if profiles[b_key].structures.create == 1 %}
<li id="item14" class="sidebar-item hide-item {% if 'organizations_add' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('organizations_add') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Une organisation{% endtrans %}</span>
</a>
</li>
{% endif %} #}
{# {% if profiles[b_key].structures.create == 1 %}
<li id="item15" class="sidebar-item hide-item {% if 'formation_add' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('formation_add') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Une formation{% endtrans %}</span>
</a>
</li>
{% endif %} #}
{% if profiles[b_key].site.create == 1 %}
<li id="item16" class="sidebar-item hide-item {% if 'site_add' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('site_add') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Un site{% endtrans %}</span>
</a>
</li>
{% endif %}
{% if profiles[b_key].industrial.create == 1 %}
<li id="item17" class="sidebar-item hide-item {% if 'industrial_add' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('industrial_add') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Un industriel{% endtrans %}</span>
</a>
</li>
{% endif %}
{% if profiles[b_key].user.read == 1 or profiles[b_key].structures.read == 1 or profiles[b_key].industrial.read == 1 or profiles[b_key].site.read == 1 %}
<li class="items-subtitle sidebar-item hide-item" style="text-align: left; font-weight: bold; padding: 12px 0 0 30px;">
{% trans %}Gérer{% endtrans %}
</li>
{% endif %}
{% if profiles[b_key].user.read == 1 %}
<li id="item18" class="sidebar-item hide-item {% if 'bubble_user_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('bubble_user_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Liste des utilisateurs{% endtrans %}</span>
</a>
</li>
{% endif %}
{# {% if profiles[b_key].structures.read == 1 %}
<li id="item19" class="sidebar-item hide-item {% if 'organizations_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('organizations_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Liste des organisations{% endtrans %}</span>
</a>
</li>
{% endif %} #}
{# {% if profiles[b_key].structures.read == 1 %}
<li id="item20" class="sidebar-item hide-item {% if 'formation_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('formation_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Liste des formations{% endtrans %}</span>
</a>
</li>
{% endif %} #}
{% if profiles[b_key].site.read == 1 %}
<li id="item21" class="sidebar-item hide-item {% if 'site_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('site_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Liste des sites{% endtrans %}</span>
</a>
</li>
{% endif %}
{% if profiles[b_key].industrial.read == 1 %}
<li id="item22" class="sidebar-item hide-item {% if 'industrial_list' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('industrial_list') }}" aria-expanded="false">
<span class="hide-menu">{% trans %}Liste des industriels{% endtrans %}</span>
</a>
</li>
{% endif %}
</ol>
</div>
</div>
{% endif %}
{# <<< BLOCk ADMINISTRATION #}
{# BLOCk INDICATEURS >>> #}
{# {% if profiles[b_key].dashboard.read == 1 %}
<div class="group-nav" id="menu1001">
<ol style="list-style-type: none; padding: 0 0 0 3px;">
<li id="item1001" class="sidebar-item {% if 'dashboard' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('dashboard') }}" aria-expanded="false">
<i style="color: #9eabc0">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-bar-chart-2">
<line x1="18" y1="20" x2="18" y2="10"/>
<line x1="12" y1="20" x2="12" y2="4"/>
<line x1="6" y1="20" x2="6" y2="14"/>
</svg>
</i>
<span class="hide-menu" style="text-transform: capitalize; padding: 0 0 0 2px; font-size: 14px;">{% trans %}Indicateurs{% endtrans %}</span>
</a>
</li>
</ol>
</div>
{% endif %} #}
{# <<< BLOCk INDICATEUR #}
{# END NAV SITE #}
{% endif %}
<li class="nav-small-cap"><span class="hide-menu">{% trans %}Aide{% endtrans %}</span></li>
<div class="group-nav" id="menu1002">
<ol style="list-style-type: none; padding: 0 0 0 3px;">
<li id="item1002" class="sidebar-item {% if 'contact' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('contact') }}" aria-expanded="false">
<i data-feather="message-square" class="feather-icon"></i>
<span class="hide-menu" style="text-transform: capitalize; padding: 0 0 0 2px; font-size: 14px;">{% trans %}Assistance{% endtrans %}</span>
</a>
</li>
</ol>
</div>
<div class="group-nav" id="menu1003">
<ol style="list-style-type: none; padding: 0 0 0 3px;">
<li id="item1003" class="sidebar-item {% if 'logout' in app.request.attributes.get('_route') %} selected {% endif %}">
<a class="sidebar-link dropdown-item" href="{{ path('logout') }}" aria-expanded="false">
<i data-feather="log-out" class="feather-icon"></i>
<span class="hide-menu" style="text-transform: capitalize; padding: 0 0 0 2px; font-size: 14px;">{% trans %}Déconnexion{% endtrans %}</span>
</a>
</li>
</ol>
</div>
</ul>
</nav>
{# End Sidebar navigation #}
<div class="creditArea">
<div class="version">MainChain v{{ MC_VERSION }}</div>
<a target="_blank" href="https://www.vistory.com">
<span>Copyright ©{{ "now"|date("Y") }} Vistory</span>
</a>
</div>
</div>
</aside>
{# ============================================================== #}
{# End Left Sidebar - style you can find in sidebar.scss #}
{# ============================================================== #}
{# ============================================================== #}
{# Page wrapper #}
{# ============================================================== #}
<div class="page-wrapper">
{# ============================================================== #}
{# Bread crumb and right sidebar toggle #}
{# ============================================================== #}
{% block breadcrumb %}
{% endblock %}
{# ============================================================== #}
{# End Bread crumb and right sidebar toggle #}
{# ============================================================== #}
{# ============================================================== #}
{# Container fluid #}
{# ============================================================== #}
<div class="container-fluid">
{% for message in app.flashes('success') %}
<div class="alert alert-success alert-dismissible bg-success text-white border-0 fade show" role="alert">
<button type="button" class="close" data-bs-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ message | raw }}
</div>
{% endfor %}
{% for message in app.flashes('errors') %}
<div class="alert alert-danger alert-dismissible border-0 fade show" role="alert">
<button type="button" class="close" data-bs-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ message | raw }}
</div>
{% endfor %}
{% for message in app.flashes('warning') %}
<div class="alert alert-warning alert-dismissible bg-warning text-white border-0 fade show" role="alert">
<button type="button" class="close" data-bs-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ message | raw }}<br>
</div>
{% endfor %}
{% for message in app.flashes('info') %}
<div class="alert alert-info alert-dismissible bg-info text-white border-0 fade show" role="alert">
<button type="button" class="close" data-bs-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
{{ message | raw }}
</div>
{% endfor %}
{% block content %}
{% endblock %}
</div>
{# ============================================================== #}
{# End Container fluid #}
{# ============================================================== #}
{# ============================================================= #}
{# footer #}
{# ============================================================== #}
<footer class="footer text-center text-muted"></footer>
{# ============================================================== #}
{# End footer #}
{# ============================================================== #}
</div>
{# ============================================================== #}
{# End Page wrapper #}
{# ============================================================== #}
</div>
{% block javascripts %}
<script src="{{ asset('js/jquery-3.6.1.js') }}"></script>
<script src="{{ asset('js/app.js') }}"></script>
<script src="{{ asset('utils/string-cleaner-utils.js') }}"></script>
{# custom JS #}
<script src="{{ asset('js/perfect-scrollbar.jquery.min.js') }}"></script>
<script src="{{ asset('js/feather.min.js') }}"></script>
<script src="{{ asset('js/custom.js') }}"></script>
<script src="{{ asset('libs/bootstrap/dist/js/bootstrap.js') }}"></script>
<script src="{{ asset('libs/bootstrap/dist/js/bootstrap.bundle.js') }}"></script>
<script src="{{ asset('js/dompurify-3.0.3-purify.min.js') }}"></script>
<script type="text/javascript" nonce="fb36db628485fc3a388a259581f9057d">
$(document).ready(function() {
{# Display Navbar collaps #}
/*const toggleNavbar = (isOpen) => {
$('.topbartoggler').toggleClass('d-none', isOpen).toggleClass('d-block', !isOpen);
$('.topbartogglerclose').toggleClass('d-none d-block d-md-none', !isOpen);
$('.navbar-collapse').toggleClass('d-flex', isOpen)
.toggleClass('d-none', !isOpen)
.css('transition', 'height 0.35s ease');
}
$('.topbartoggler').on('click', function() {
toggleNavbar(true);
});
$('.topbartogglerclose').on('click', function() {
toggleNavbar(false);
});*/
{# Show items on over #}
// Show hidden items when mouse hovers over the sidebar
$('.scroll-sidebar').on('mouseover', function() {
if ($('#main-wrapper').data('sidebartype') === 'mini-sidebar') {
$('.hide-item').show();
}
});
// Resets the sidebar to the initial scroll position when the mouse hovers over the page
$('.page-wrapper').on('mouseover', function() {
$('.scroll-sidebar').scrollTop(0);
});
if ($('.bubble-info > .bubble-credits').children().length == 0) {
$('.credit-nav-bar').css('display', 'none')
}
});
var one = false;
$('.nav-item.dropdown > a#navbarDropdown').on('click', () => {
if ($('a#navbarDropdown').hasClass("show") && one) {
$('.nav-item.dropdown > a#navbarDropdown').removeClass("show")
$('.nav-item.dropdown > a#navbarDropdown').attr("aria-expanded", "false");
$('.dropdown-parameters.dropdown-menu-end').removeClass("show")
one= false;
} else {
$('.nav-item.dropdown > a#navbarDropdown').addClass("show")
$('.nav-item.dropdown > a#navbarDropdown').attr("aria-expanded", "true");
$('.dropdown-parameters.dropdown-menu-end').addClass("show")
one = true
}
})
$(window).on('resize', function() {
var windowWidth = $(window).width();
if (windowWidth < 769) {
$('.plan-mozaik-nav-container').css('display', 'none');
} else {
$('.plan-mozaik-nav-container').css('display', 'block');
}
if (windowWidth < 768) {
$('#item12 > .sidebar-link').attr('href', '{{ path('plan_list_mozaik') }}');
$('#menu4 > span:nth-child(1) > li:nth-child(2) > a:nth-child(1)').attr('href', '{{ path('plan_list_mozaik') }}');
} else {
$('#item12 > .sidebar-link').attr('href', '{{ path('plan_list') }}');
$('#menu4 > span:nth-child(1) > li:nth-child(2) > a:nth-child(1)').attr('href', '{{ path('plan_list') }}');
}
if (windowWidth < 711) {
$('.info-user-connect, .user-connect').removeClass('d-none').addClass('d-flex');
$('.nav-item.bubble-info.credit .credit-on-mobile').removeClass('d-none').addClass('d-flex');
$('.nav-item.bubble-info.credit .bubble-credits').removeClass('d-flex').addClass('d-none');
$('.union-ul').children().unwrap();
$('ul.navbar-nav:nth-child(1)').removeClass('mr-auto')
} else {
$('.info-user-connect, .user-connect').removeClass('d-flex').addClass('d-none');
$('.nav-item.bubble-info.credit .credit-on-mobile').removeClass('d-flex').addClass('d-none');
$('.nav-item.bubble-info.credit .bubble-credits').removeClass('d-none').addClass('d-flex');
$('ul.navbar-nav').slice(0, 2).wrapAll('<div class="union-ul d-flex align-items-center"></div>');
$('ul.navbar-nav:nth-child(1)').addClass('mr-auto')
}
if (windowWidth < 710) {
$('.translation-action-block img').each(function() {
const localChange = '{{locale}}';
if (localChange.toUpperCase() == 'FR') {
$(`img[alt="FR"]`).css('display', 'block');
$(`img[alt="BG"]`).css('display', 'none');
}
if (localChange.toUpperCase() == 'EN') {
$(`img[alt="FR"]`).css('display', 'none');
$(`img[alt="BG"]`).css('display', 'block');
}
});
} else {
$(`img[alt="FR"]`).css('display', 'block');
$(`img[alt="BG"]`).css('display', 'block');
}
});
$(document).on('click', function(e) {
// Vérifie si le clic est en dehors de la div et du bouton
if (!$(e.target).closest('.scroll-sidebar').length && !$(e.target).is('.ti-close')) {
if($('#main-wrapper').hasClass('show-sidebar')){
$('#main-wrapper').removeClass('show-sidebar')
$('.ti-close').addClass('ti-menu')
}
}
});
const dropdownToggle = document.querySelector('.dropdown-toggle-credit');
const dropdownCredits = document.querySelector('.dropdown-credits');
if (dropdownToggle != null) {
dropdownToggle.addEventListener('mouseover', () => {
dropdownCredits.style.display = 'block';
});
}
if (dropdownToggle != null) {
dropdownToggle.addEventListener('mouseleave', () => {
dropdownCredits.style.display = 'none';
});
}
$('.mc-form-control').each(function(){
if($(this).val().length > 0){
$(this).next('.mc-label').addClass('mc-label-fixed');
}
});
</script>
<script type="text/javascript" src="https://cdn.datatables.net/plug-ins/1.10.24/i18n/French.json"></script>
<script type="text/javascript" src="{{ asset('/extra-libs/c3/d3.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('/extra-libs/c3/c3.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('/extra-libs/jvector/jquery-jvectormap-2.0.2.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('/extra-libs/jvector/jquery-jvectormap-world-mill-en.js') }}"></script>
{# Select2 #}
<script type="text/javascript" src="{{ asset('js/select2.min.js')}}"></script>
<script type="text/javascript" src="{{ asset('js/app-style-switcher.js') }}"></script>
<script type="text/javascript" src="{{ asset('js/printers.js') }}"></script>
<script type="text/javascript" src="{{ asset('js/sidebarmenu.js') }}"></script>
<script type="text/javascript" src="{{ asset('libs/datatables.net-dt-2.0.3/js/datatables-dt-2.0.3.min.js') }}"></script>
{# Sweetalert #}
<script type="text/javascript" src="{{ asset('js/sweetalert.min.js') }}"></script>
<script src="{{ asset('js/app-style-switcher.js') }}" ></script>
{# Dashboard page including libraries #}
{% if app.request.attributes.get('_route') == 'dashboard' %}
<script type="text/javascript" src="{{ asset('libs/raphael/2.0.2/raphael_2.0.2.js') }}"></script>
<script type="text/javascript" src="{{ asset('libs/morris.js/morris.min.js') }}"></script>
<script type="text/javascript" src="{{ asset('libs/daterangepicker/moment.min.js') }}" ></script>
<script type="text/javascript" src="{{ asset('libs/daterangepicker/daterangepicker.js') }}" ></script>
{% endif %}
{# ****** SIDEBAR WITH DROPDOWN >>> ****** #}
<script>
$(document).ready(function() {
// Restore the state from localStorage
var activeMenu = localStorage.getItem('activeMenu');
var selectedItem = localStorage.getItem('selectedItem');
if (activeMenu) {
var $activeGroupNav = $('#' + activeMenu);
$activeGroupNav.addClass('active');
$activeGroupNav.find('.dropdown-container').show();
}
// Handle dropdown button click
$('.dropdown-btn').on('click', function(e) {
e.preventDefault();
var $this = $(this);
var $dropdownContent = $this.next('.dropdown-container');
var $groupNav = $this.closest('.group-nav');
// Close all other dropdowns
$('.group-nav.active').not($groupNav).removeClass('active').find('.dropdown-container').slideUp();
// Toggle the current dropdown
$dropdownContent.slideToggle();
$groupNav.toggleClass('active');
// Store the state in localStorage
if ($groupNav.hasClass('active')) {
localStorage.setItem('activeMenu', $groupNav.attr('id'));
} else {
localStorage.removeItem('activeMenu');
}
});
$('.dropdown-container').css('padding-left', '20px');
// Handle item click
// Handle window resize
$(window).on('resize', function() {
const currentWidth = $(window).width();
const leftSidebar = $('.left-sidebar').width();
if (currentWidth < 768 && leftSidebar > 260) {
// Hide text and show icons only
$('.left-sidebar .sidebar-nav .hide-menu').hide();
$('.dropdown-container').slideUp();
} else {
// Show text and dropdown content if the menu was active
$('.left-sidebar .sidebar-nav .hide-menu').show();
$('.group-nav.active .dropdown-container').show();
}
const dropdownItem = $('.dropdown-item');
const item1000EltIconSvg = $('#item1000 i svg');
const item1000EltIconSvgTxt = $('#item1000 .hide-menu');
const item1001EltIconSvg = $('#item1001 i svg');
const item1001EltIconSvgTxt = $('#item1001 .hide-menu');
const item1002EltIconSvg = $('#item1002 i svg');
const item1002EltIconSvgTxt = $('#item1002 .hide-menu');
const item1003EltIconSvg = $('#item1003 i svg');
const item1003EltIconSvgTxt = $('#item1003 .hide-menu');
if (currentWidth > 767 && currentWidth < 1170) {
dropdownItem.css('padding-left', '8px');
item1000EltIconSvg.show();
item1000EltIconSvg.css('padding-left', '0px');
item1000EltIconSvgTxt.hide();
item1001EltIconSvg.show();
item1001EltIconSvg.css('padding-left', '0px');
item1001EltIconSvgTxt.hide();
item1002EltIconSvg.show();
item1002EltIconSvg.css('padding-left', '0px');
item1002EltIconSvgTxt.hide();
item1003EltIconSvg.show();
item1003EltIconSvg.css('padding-left', '0px');
item1003EltIconSvgTxt.hide();
} else {
dropdownItem.each(function() {
$(this).css('cssText', 'padding-left: 30px !important;');
});
item1000EltIconSvg.show();
item1000EltIconSvgTxt.show();
item1001EltIconSvg.show();
item1001EltIconSvgTxt.show();
item1002EltIconSvg.show();
item1002EltIconSvgTxt.show();
item1003EltIconSvg.show();
item1003EltIconSvgTxt.show();
}
});
// Trigger resize event on page load
$(window).trigger('resize');
// Close dropdowns when clicking on specific links
$('#item1000 a, #item1001 a, #item1002 a, #item1003 a').on('click', function(e) {
// Remove 'active' class and hide the dropdown
$('.group-nav.active').removeClass('active').find('.dropdown-container').slideUp();
// Clear the activeMenu state in localStorage
localStorage.removeItem('activeMenu');
});
var $liElement = $('#item1000');
// Check if the class contains "selected"
if ($liElement.hasClass('selected')) {
// Remove 'active' class and hide the dropdown
$('.group-nav.active').removeClass('active').find('.dropdown-container').slideUp();
// Clear the activeMenu state in localStorage
localStorage.removeItem('activeMenu');
}
});
</script>
{# ****** <<< SIDEBAR WITH DROPDOWN ****** #}
{% endblock %}
{% block modal %}{% endblock %}
</body>
</html>