templates/base.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="ru">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  6.     <meta http-equiv="X-UA-Compatible" content="IE=Edge">
  7.     <meta name="viewport" content="width=device-width, initial-scale=1">
  8.     <title>{% block title %}ПОЗ Маркетплейс{% endblock %}</title>
  9.     {% block stylesheets %}
  10.         <link rel="stylesheet" href="{{ asset('https://cdn.jsdelivr.net/npm/uikit@3.6.14/dist/css/uikit.min.css') }}"/>
  11.         <link rel="stylesheet"
  12.               href="{{ asset('https://code.ionicframework.com/ionicons/2.0.1/css/ionicons.min.css') }}">
  13.         <link rel="stylesheet" href="{{ asset('css/main.css') }}" type="text/css">
  14.         <link rel="stylesheet" href="{{ asset('css/notyf.min.css') }}" type="text/css">
  15.         <style>
  16.             html {
  17.                 scroll-padding-top: 100px;
  18.             }
  19.             option[value="#"][disabled] {
  20.                 display: none;
  21.             }
  22.             option {
  23.                 color: black;
  24.             }
  25.             .rate {
  26.                 float: left;
  27.                 height: 46px;
  28.                 padding: 0 10px;
  29.             }
  30.             .rate:not(:checked) > input {
  31.                 position: absolute;
  32.                 top: -9999px;
  33.             }
  34.             .rate:not(:checked) > label {
  35.                 float: right;
  36.                 width: 1em;
  37.                 overflow: hidden;
  38.                 white-space: nowrap;
  39.                 cursor: pointer;
  40.                 font-size: 30px;
  41.                 color: #ccc;
  42.             }
  43.             .rate:not(:checked) > label:before {
  44.                 content: '★ ';
  45.             }
  46.             .rate > input:checked ~ label {
  47.                 color: #ffc700;
  48.             }
  49.             .create-card input[type="checkbox"] {
  50.                 float: left;
  51.                 margin-right: 7px;
  52.                 margin-top: 5px;
  53.             }
  54.             .rate:not(:checked) > label:hover,
  55.             .rate:not(:checked) > label:hover ~ label {
  56.                 color: #deb217;
  57.             }
  58.             .rate > input:checked + label:hover,
  59.             .rate > input:checked + label:hover ~ label,
  60.             .rate > input:checked ~ label:hover,
  61.             .rate > input:checked ~ label:hover ~ label,
  62.             .rate > label:hover ~ input:checked ~ label {
  63.                 color: #c59b08;
  64.             }
  65.             .calendar-td {
  66.                 position: relative;
  67.                 color: black;
  68.                 width: 50px;
  69.                 height: 50px;
  70.                 text-align: center;
  71.             }
  72.             .calendar__date {
  73.                 color: black;
  74.                 text-align: center;
  75.             }
  76.             .calendar__date--pointer {
  77.                 cursor: pointer;
  78.             }
  79.             .calendar-td .uk-inline,
  80.             .calendar-td .uk-button {
  81.                 border: none !important;
  82.             }
  83.             .calendar__table--bed-places:after {
  84.                 content: '*';
  85.                 position: absolute;
  86.                 top: 10px;
  87.                 width: 10px;
  88.                 height: 10px;
  89.             }
  90.             .calendar__table--mixed:after {
  91.                 content: '!';
  92.                 position: absolute;
  93.                 top: 10px;
  94.                 width: 10px;
  95.                 height: 10px;
  96.             }
  97.             .booked {
  98.                 background-color: #e05f5f;
  99.             }
  100.             .available {
  101.                 background-color: #3dc763;
  102.             }
  103.             .in_confirmation {
  104.                 background-color: rgb(205, 20, 248);
  105.             }
  106.             .empty {
  107.                 background-color: #6c757d
  108.             }
  109.             .in_work {
  110.                 background-color: #1e87f0;
  111.             }
  112.             .pagination {
  113.                 text-align: center;
  114.                 font-size: 20px;
  115.                 font-family: 'Arial', sans-serif;
  116.             }
  117.             .table-wrapper {
  118.                 position: relative;
  119.             }
  120.             .calendar-button svg {
  121.                 color: #1e87f0;
  122.             }
  123.             .calendar-button-back {
  124.                 position: absolute;
  125.                 top: 335px;
  126.                 left: -14%;
  127.             }
  128.             .calendar-button-forward {
  129.                 position: absolute;
  130.                 top: 335px;
  131.                 right: 13%;
  132.             }
  133.             #calendar {
  134.                 display: none;
  135.             }
  136.             .category-title {
  137.                 display: inline;
  138.             }
  139.             .appeals-count {
  140.                 margin-left: 8px;
  141.                 color: white;
  142.                 display: inline-block;
  143.                 min-width: 24px;
  144.                 min-height: 15px;
  145.                 background: #2d87f0;
  146.                 border-radius: 50%;
  147.                 text-align: center;
  148.             }
  149.             .sidebar__desktop > a {
  150.                 display: inline !important;
  151.                 margin-right: 5px;
  152.             }
  153.             .sidebar__apps-count {
  154.                 color: white;
  155.                 display: inline-block;
  156.                 min-width: 20px;
  157.                 min-height: 15px;
  158.                 background: #2d87f0;
  159.                 border-radius: 50%;
  160.                 text-align: center;
  161.             }
  162.             .table-wrapper__pass {
  163.                 height: 50px;
  164.             }
  165.             .table-wrapper__month {
  166.                 text-align: center;
  167.                 font-size: 23px;
  168.                 color: #1e87f0;
  169.             }
  170.             .error-message {
  171.                 padding: 17px;
  172.             }
  173.             .resources-warning-icon {
  174.                 margin-left: 7px;
  175.             }
  176.             .reserve-select option {
  177.                 color: #FFFFFF;
  178.             }
  179.             .status-item {
  180.                 white-space: nowrap;
  181.             }
  182.             .uk-notification-message-warning {
  183.                 color: red;
  184.                 border: 1px solid red;
  185.             }
  186.             .uk-notification-message-success {
  187.                 color: green;
  188.                 border: 1px solid green;
  189.             }
  190.             #appeals_attributes_other_features,
  191.             #resource_attributes_other_features,
  192.             #resource_description,
  193.             #appeals_comment {
  194.                 resize: vertical;
  195.             }
  196.             .delete-available, .delete-additional-feature {
  197.                 height: 23px;
  198.                 border-radius: 50%;
  199.                 cursor: pointer;
  200.             }
  201.             ul.available {
  202.                 background: none;
  203.             }
  204.             ul.available > li {
  205.                 display: flex;
  206.                 justify-content: space-between;
  207.                 align-items: center;
  208.             }
  209.             ul.available > li > div {
  210.                 width: 90%;
  211.             }
  212.             [class*=uk-list] > ::before {
  213.                 content: none;
  214.             }
  215.             .buttons-wrapper {
  216.                 display: flex;
  217.                 justify-content: space-between;
  218.             }
  219.             .buttons-wrapper > button,
  220.             .buttons-wrapper > a {
  221.                 width: 150px;
  222.             }
  223.             .appeal-description,
  224.             .resource-description {
  225.                 max-width: 180px;
  226.                 word-wrap: break-word;
  227.             }
  228.             .appeal-id,
  229.             .resource-id {
  230.                 font-size: 20px;
  231.             }
  232.             .gantt {
  233.                 width: 1540px;
  234.                 padding-top: 10px;
  235.             }
  236.             .gantt__line {
  237.                 display: flex;
  238.                 height: 65px;
  239.                 border: 1px solid #e8eaed;
  240.             }
  241.             .gantt__bars-scale {
  242.                 display: flex;
  243.                 position: relative;
  244.                 height: inherit;
  245.                 width: 83%;
  246.             }
  247.             .gantt__empty-bar {
  248.                 display: inline-block;
  249.                 height: 100%;
  250.                 width: 7.14%;
  251.                 border-right: 1px solid #e8eaed;
  252.             }
  253.             .gantt__line--first {
  254.                 background-color: #ffffff;
  255.             }
  256.             .gantt__line--second {
  257.                 background-color: #e8eaed;
  258.             }
  259.             .gantt__bar {
  260.                 display: flex;
  261.                 justify-content: center;
  262.                 align-items: center;
  263.                 position: absolute;
  264.                 height: 96%;
  265.                 top: 1%;
  266.                 text-align: center;
  267.                 text-overflow: clip;
  268.             }
  269.             .gantt__timeline {
  270.                 display: flex;
  271.                 justify-content: space-between;
  272.                 align-items: center;
  273.                 padding-left: 17.7%;
  274.             }
  275.             .gantt__date {
  276.                 width: 7.14%;
  277.                 height: 100%;
  278.                 padding: 0;
  279.                 margin: 0;
  280.             }
  281.             .gantt__line-name {
  282.                 width: 17%;
  283.                 padding-top: 13px;
  284.                 padding-right: 10px;
  285.                 display: inline-block;
  286.                 text-align: end;
  287.                 border-right: 2px solid #e8eaed;
  288.             }
  289.             .gantt__bar--in_work {
  290.                 background-color: #1e87f0;
  291.             }
  292.             .gantt__bar--in_confirmation {
  293.                 background-color: #cd14f8;
  294.             }
  295.             .gantt__bar--booked {
  296.                 background-color: #e05f5f;
  297.             }
  298.             .gantt__bar span {
  299.                 color: #ffffff;
  300.             }
  301.             .date-form {
  302.                 min-height: 110px;
  303.                 justify-content: center;
  304.                 align-items: center;
  305.                 text-align: center;
  306.             }
  307.             .date-form button {
  308.                 height: 50px;
  309.                 margin-left: 20px;
  310.                 margin-top: 15px;
  311.             }
  312.             .gantt__dates {
  313.                 margin-top: 13px;
  314.             }
  315.             .gantt__empty-message {
  316.                 font-size: 20px;
  317.             }
  318.             .appeal-description {
  319.                 word-wrap: break-word;
  320.             }
  321.             .resource-show-description {
  322.                 word-wrap: break-word;
  323.             }
  324.             .filter__search-button {
  325.                 padding-top: 23px;
  326.             }
  327.             .resource-table .resource-description {
  328.                 word-break: break-word;
  329.             }
  330.             .calendar__tags-information {
  331.                 margin: 20px 0;
  332.             }
  333.             .calendar__tag-information {
  334.                 margin: 0;
  335.                 font-size: 18px;
  336.             }
  337.             .calendar__tag-information span {
  338.                 font-weight: bold;
  339.             }
  340.             .multiselect {
  341.                 width: 200px;
  342.             }
  343.             .selectBox {
  344.                 position: relative;
  345.             }
  346.             .selectBox select {
  347.                 width: 100%;
  348.                 font-weight: bold;
  349.             }
  350.             .overSelect {
  351.                 position: absolute;
  352.                 left: 0;
  353.                 right: 0;
  354.                 top: 0;
  355.                 bottom: 0;
  356.             }
  357.             #checkboxes {
  358.                 display: none;
  359.                 border: 1px #dadada solid;
  360.             }
  361.             #checkboxes label {
  362.                 display: block;
  363.             }
  364.             #checkboxes label:hover {
  365.                 background-color: #1e90ff;
  366.             }
  367.         </style>
  368.     {% endblock %}
  369.     {% block javascripts %}
  370.         <script src="{{ asset('https://code.jquery.com/jquery-3.5.1.min.js') }}"></script>
  371.         <script src="{{ asset('https://cdn.jsdelivr.net/npm/uikit@3.6.14/dist/js/uikit.min.js') }}"></script>
  372.         <script src="{{ asset('https://cdn.jsdelivr.net/npm/uikit@3.6.14/dist/js/uikit-icons.min.js') }}"></script>
  373.         <script
  374.             src="{{ asset('https://cdnjs.cloudflare.com/ajax/libs/uikit/2.27.4/js/components/datepicker.min.js') }}"></script>
  375.         <script src="{{ asset('js/uikit-icons.min.js') }}"></script>
  376.         <script src="{{ asset('js/main.js') }}"></script>
  377.         <script
  378.             src="//cdn.polyfill.io/v3/polyfill.js?version=3.52.1&features=default,es5,es6,es7,es2015,es2016,es2017,es2018,es2019 ">
  379.         </script>
  380.     {% endblock %}
  381. </head>
  382. <body>
  383. <div uk-sticky="media: 960" class="uk-navbar-container tm-navbar-container uk-sticky uk-active"
  384.      style="position: fixed; top: 0px; width: 1903px;">
  385.     <div class="uk-container uk-container-expand">
  386.         <nav uk-navbar>
  387.             <div class="uk-navbar-left">
  388.                 <a href="{{ path('desktop') }}" class="uk-navbar-item uk-logo">
  389.                     ПОЗ Маркетплейс
  390.                 </a>
  391.             </div>
  392.             {% if app.user %}
  393.                 <div class="uk-navbar-right uk-light">
  394.                     <ul class="uk-navbar-nav">
  395.                         <li class="uk-active">
  396.                             <a href="#">Настройки &nbsp;<span class="ion-ios-arrow-down"></span></a>
  397.                             <div uk-dropdown="pos: bottom-right; mode: click; offset: -17;">
  398.                                 <ul class="uk-nav uk-navbar-dropdown-nav">
  399.                                     <li><a href="{{ path('profile') }}">Профиль</a></li>
  400.                                     <li><a href="{{ path('support') }}">Техподдержка</a></li>
  401.                                     <hr>
  402.                                     <li><a href="{{ path('app_logout') }}">Выход</a></li>
  403.                                 </ul>
  404.                             </div>
  405.                         </li>
  406.                     </ul>
  407.                 </div>
  408.             {% endif %}
  409.         </nav>
  410.     </div>
  411. </div>
  412. {% if app.user %}
  413.     <div id="sidebar" class="tm-sidebar-left uk-background-default">
  414.         <div class="user">
  415.             <div class="uk-text-truncate">{{ app.user.name }}</div>
  416.             <div class="uk-text-truncate">{{ app.user.username }}</div>
  417.             <span id="status" data-enabled="true" data-online-text="Online" data-away-text="Away" data-interval="10000"
  418.                   class="uk-margin-top uk-label uk-label-success"></span>
  419.         </div>
  420.         <ul class="uk-nav uk-nav-default">
  421.             <li class="sidebar__desktop"><a href="{{ path('desktop') }}">Рабочий стол</a></li>
  422.             <li><a href="{{ path('my-appeals') }}">Мои заявки</a></li>
  423.             <li><a href="{{ path('my-resources') }}">Мои ресурсы</a></li>
  424.             <li><a href="{{ path('show_appeals_to_resources') }}">Заявки на мои ресурсы</a></li>
  425.             <li><a href="{{ path('appeals') }}">Каталог заявок</a></li>
  426.             <li><a href="{{ path('resources') }}">Каталог ресурсов</a></li>
  427.             {% if is_granted('ROLE_ADMIN') %}
  428.                 <li><a href="{{ path('locations') }}">Пункты</a></li> {% endif %}
  429.             <li class="uk-nav-header">
  430.                 Отчеты
  431.             </li>
  432.             {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_APPLICANT') %}
  433.                 <li><a href="{{ path('reports_appeals') }}">Статистика заявок</a></li>
  434.             {% endif %}
  435.             {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_PROVIDER') %}
  436.                 <li><a href="{{ path('reports_resources') }}">Статистика ресурсов</a></li>
  437.             {% endif %}
  438.             {% if is_granted('ROLE_ADMIN') %}
  439.                 <li><a href="{{ path('reports_activity') }}">Активность в системе</a></li>
  440.             {% endif %}
  441.             <li><a href="{{ path('availability_schedule') }}">График доступности ресурсов</a></li>
  442.         </ul>
  443.     </div>
  444. {% endif %}
  445. {% for key, messages in app.flashes() %}
  446.     {% for message in messages %}
  447.         <script>
  448.             UIkit.notification('{{ message }}', {status: '{{ key }}'});
  449.         </script>
  450.     {% endfor %}
  451. {% endfor %}
  452. {% block body %}
  453. {% endblock %}
  454. <script>
  455.     $(document).ready(function () {
  456.         $.getJSON('{{ path('get_executions_count') }}', function (data) {
  457.             $('.sidebar__desktop').append('<span class="sidebar__apps-count">' + data['sum'] + '</span>');
  458.         })
  459.         $('.uk-card').on('submit', function () {
  460.             $('button[type="submit"]').attr('disabled', true);
  461.         })
  462.     });
  463. </script>
  464. </body>
  465. </html>