src/AdminBundle/Resources/views/admin/standard_layout.html.twig line 157

Open in your IDE?
  1. {% extends '@SonataAdmin/standard_layout.html.twig' %}
  2. {% block stylesheets %}
  3.     {{ parent() }}
  4.     <link rel="icon" href="{{ asset('bundles/core/img/favicon.png') }}" type="image/x-icon" />
  5. {% endblock %}
  6. {% block javascripts %}
  7.     {% block sonata_javascript_config %}
  8.     {% endblock %}
  9.     {% block sonata_javascript_pool %}
  10.         {% for javascript in sonata_config.getOption('javascripts', []) %}
  11.             <script src="{{ asset(javascript) }}"></script>
  12.         {% endfor %}
  13.     {% endblock %}
  14.     {# localize moment #}
  15.     {% set localeForMoment = canonicalize_locale_for_moment() %}
  16.     {% if localeForMoment == 'ua'%}
  17.         <script src="{{ asset(
  18.             'bundles/sonatacore/vendor/moment/locale/uk.js'
  19.         ) }}"></script>
  20.     {% elseif localeForMoment %}
  21.         <script src="{{ asset(
  22.             'bundles/sonatacore/vendor/moment/locale/' ~
  23.             localeForMoment ~
  24.             '.js'
  25.         ) }}"></script>
  26.     {% endif %}
  27.     {# localize select2 #}
  28.     {% if sonata_config.getOption('use_select2') %}
  29.         {% set localeForSelect2 = canonicalize_locale_for_select2() %}
  30.         {% if localeForSelect2 == 'ua' %}
  31.             <script src="{{ asset('bundles/sonatacore/vendor/select2/select2_locale_uk.js') }}"></script>
  32.         {% elseif localeForSelect2 %}
  33.             <script src="{{ asset('bundles/sonatacore/vendor/select2/select2_locale_' ~ localeForSelect2 ~ '.js') }}"></script>
  34.         {% endif %}
  35.     {% endif %}
  36. {% endblock %}
  37. {% block sonata_top_nav_menu %}
  38.     {% if app.user and is_granted('ROLE_ADMIN') %}
  39.         <div class="navbar-custom-menu">
  40.             <ul class="nav navbar-nav">
  41.                 {% block sonata_top_nav_menu_add_block %}
  42.                      <li class="dropdown">
  43.                      </li>
  44.                 {% endblock %}
  45.                 {% if app.user.dealer is defined and app.user.dealer %}
  46.                     <li class="dropdown">
  47.                         <div style="padding-top: 5px; padding-right: 15px">
  48.                             Дилер: <b>{{ app.user.dealer.name }}</b><br>
  49.                             {% if app.user.subDealer %}
  50.                                 Суб дилер: <b>{{ app.user.subDealer.name }}</b><br>
  51.                             {% endif %}
  52.                             <a style="cursor: pointer" class="jsEditDealerRate">
  53.                                 Текущий курс <b>{{ app.user.dealer.rate }}</b> / Курс в поставке <b>{{ app.user.dealer.rateInDelivery }}</b>
  54.                             </a>
  55.                         </div>
  56.                     </li>
  57.                 {% endif %}
  58.                 {% block sonata_top_nav_menu_user_block %}
  59.                     <li class="dropdown user-menu">
  60.                         <a class="dropdown-toggle" data-toggle="dropdown" href="#">
  61.                             <i class="fa fa-user fa-fw" aria-hidden="true"></i>
  62.                                 {{ app.user.fullname }}
  63.                             <i class="fa fa-caret-down" aria-hidden="true"></i>
  64.                         </a>
  65.                         <ul class="dropdown-menu dropdown-user">
  66.                                 <li>Дилер:
  67.                                     <select id="user-dealer" name="user_dealer"></select>
  68.                                 </li>
  69.                                 <li>Суб Дилер:
  70.                                     <select id="user-sub-dealer" name="user_sub_dealer"></select>
  71.                                 </li>
  72.                             {% if app.user.hasRole('ROLE_SUPER_ADMIN') %}
  73.                                 <li>
  74.                                     <a href="{{ path('admin_change_password_page') }}"><i class="fa fa-key"></i> Изменить пароль</a>
  75.                                 </li>
  76.                                 {% if app.environment == 'dev' %}
  77.                                     <li>
  78.                                         <a href="{{ path('admin_run_migration') }}"><i class="fa fa-exclamation-triangle"></i> Run migration</a>
  79.                                     </li>
  80.                                 {% endif %}
  81.                             {% endif %}
  82.                             <li>
  83.                                 <a href="{{ path('admin_logout') }}"><i class="fa fa-sign-out"></i> Выйти</a>
  84.                             </li>
  85.                         </ul>
  86.                     </li>
  87.                 {% endblock %}
  88.             </ul>
  89.         </div>
  90.     {% endif %}
  91. {% endblock %}
  92. {% block logo %}
  93.     {% apply spaceless %}
  94.         <a class="logo" style="text-align: left; padding-left: 5px; font-size: 18px;" href="{{ path('sonata_admin_dashboard') }}">
  95.             <img src="{{ asset('bundles/core/img/favicon.png') }}" alt="ViDi Автодинастия">
  96.             ViDi Автодинастия
  97.         </a>
  98.     {% endapply %}
  99. {% endblock %}
  100. {% block sonata_wrapper %}
  101.     {{ parent() }}
  102.     <script src="{{ asset('bundles/admin/js/custom.js') }}"></script>
  103.     {% if app.user.dealer is defined and app.user.dealer %}
  104.         <div class="modal fade" id="dealerRateHeaderModal" tabindex="-1" role="dialog" aria-hidden="true">
  105.             <div class="modal-dialog" role="document">
  106.                 <div class="modal-content">
  107.                     <div class="modal-header">
  108.                         <h4 class="modal-title">Изменить курс</h4>
  109.                         <button type="button" class="close" data-dismiss="modal" aria-label="Close">
  110.                             <span aria-hidden="true">&times;</span>
  111.                         </button>
  112.                     </div>
  113.                     <div class="modal-body">
  114.                         <form>
  115.                             <div class="form-group">
  116.                                 <label for="dealer_rate_input">Курс</label>
  117.                                 <input id="dealer_rate_input" class="form-control" name="rate" type="text" value="{{ app.user.dealer.rate }}">
  118.                                 <input type="hidden" name="dealer" value="{{ app.user.dealer.id }}">
  119.                             </div>
  120.                             <div class="form-group">
  121.                                 <label for="dealer_rate_input">Курс в поставке</label>
  122.                                 <input id="dealer_rate_input" class="form-control" name="rate_in_delivery" type="text" value="{{ app.user.dealer.rateInDelivery }}">
  123.                             </div>
  124.                         </form>
  125.                     </div>
  126.                     <div class="modal-footer">
  127.                         <button type="button" class="btn btn-secondary" data-dismiss="modal">Отмена</button>
  128.                         <button data-href="{{ path('dc.deaker.rate.save') }}" type="button" class="btn btn-primary jsSaveRateBtn">Сохранить</button>
  129.                     </div>
  130.                 </div>
  131.             </div>
  132.         </div>
  133.     {% endif %}
  134.     <script>
  135.         $(".js-date-picker").datepicker({
  136.             language : 'ru',
  137.             format : 'yyyy-mm-dd'
  138.         });
  139.         $(document).ready(function () {
  140.             var select = $("#user-dealer");
  141.             var selectSubDealer = $("#user-sub-dealer");
  142.             var changeDealerList = {{ app.user.changeDealerList|json_encode|raw }};
  143.             {% if app.user.dealer is defined and app.user.dealer %}
  144.                 $.ajax({
  145.                     url: '{{ path('core.user_get_dealers') }}',
  146.                     dataType: 'json',
  147.                     method: 'POST',
  148.                     success: function (response) {
  149.                         if (response) {
  150.                             if (response.dealers) {
  151.                                 $.each(response.dealers, function () {
  152.                                     {% if app.user.hasRole('ROLE_SUPER_ADMIN') %}
  153.                                     console.log('ROLE_SUPER_ADMIN');
  154.                                         select.append('<option value="' + this.id + '">' + this.name + '</option>');
  155.                                     {% else %}
  156.                                         if (changeDealerList.includes(this.id)) {
  157.                                             select.append('<option value="' + this.id + '">' + this.name + '</option>');
  158.                                         }
  159.                                     console.log('NO ROLE_SUPER_ADMIN');
  160.                                     {% endif %}
  161.                                 });
  162.                                 select.val('{{ app.user.dealer.id  }}').change();
  163.                                 select.on('change', function () {
  164.                                     $.ajax({
  165.                                         url: '{{ path('core.user_set_dealer') }}',
  166.                                         data: { user_dealer: select.val() },
  167.                                         dataType: 'json',
  168.                                         method: 'POST',
  169.                                         success: function (response) {
  170.                                             if (response.success) {
  171.                                                 location.reload();
  172.                                             } else {
  173.                                                 console.log('error');
  174.                                             }
  175.                                         },
  176.                                     });
  177.                                 });
  178.                             }
  179.                             if (response.subDealers) {
  180.                                 $.each(response.subDealers, function () {
  181.                                     selectSubDealer.append('<option value="' + this.id + '">' + this.name + '</option>');
  182.                                 });
  183.                                 selectSubDealer.val('{{ app.user.subDealer ? app.user.subDealer.id : 0 }}').change();
  184.                                 selectSubDealer.on('change', function () {
  185.                                     $.ajax({
  186.                                         url: '{{ path('core.user_set_dealer') }}',
  187.                                         data: { user_sub_dealer: selectSubDealer.val() },
  188.                                         dataType: 'json',
  189.                                         method: 'POST',
  190.                                         success: function (response) {
  191.                                             if (response.success) {
  192.                                                 location.reload();
  193.                                             } else {
  194.                                                 console.log('error');
  195.                                             }
  196.                                         },
  197.                                     });
  198.                                 });
  199.                             }
  200.                         }
  201.                     }
  202.                 });
  203.             {% endif %}
  204.         });
  205.     </script>
  206. {% endblock sonata_wrapper %}