templates/layout_admin.html.twig line 1

Open in your IDE?
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>
  6. {% block title %} CTLF {% endblock %}
  7. </title>
  8. <!-- BEGIN META -->
  9. <meta charset="utf-8">
  10. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  11. <meta name="keywords" content="<?=SITE_KEYS?>">
  12. <meta name="description" content="<?=SITE_DESC?>">
  13. <link rel="shortcut icon" href="{{ asset(settings_service.faviconSite) }}">
  14. <link rel="stylesheet" href="//fonts.googleapis.com/css?family=Roboto:300italic,400italic,300,400,500,700,900">
  15. <script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>
  16. {% block stylesheets %}
  17. <link rel="stylesheet" href="{{ asset('bundles/admin/css/bootstrap.css') }}"/>
  18. <link rel="stylesheet" href="{{ asset('bundles/admin/css/materialadmin.css') }}"/>
  19. <link rel="stylesheet" href="{{ asset('bundles/admin/css/font-awesome.css') }}"/>
  20. <link rel="stylesheet" href="{{ asset('bundles/admin/css/material-design-iconic-font.css') }}"/>
  21. <link rel="stylesheet" href="{{ asset('bundles/admin/css/libs/select2/select2.css') }}"/>
  22. <link rel="stylesheet" href="{{ asset('bundles/admin/css/libs/clockpicker-gh-pages/dist/bootstrap-clockpicker.css') }}"/>
  23. <link rel="stylesheet" href="{{ asset('bundles/admin/css/libs/bootstrap-datepicker/datepicker3.css') }}"/>
  24. <link rel="stylesheet" href="{{ asset('bundles/admin/css/libs/intl-tel-input/css/intlTelInput.css') }}"/>
  25. <link rel="stylesheet" href="{{ asset('bundles/admin/css/libs/typeahead/typeahead.css') }}"/>
  26. <link rel="stylesheet" href="{{ asset('bundles/admin/css/libs/jquery-ui/jquery-ui-theme.css') }}"/>
  27. <link rel="stylesheet" href="{{ asset('bundles/admin/css/libs/DataTables/jquery.dataTables.css') }}"/>
  28. <link rel="stylesheet" href="{{ asset('bundles/admin/css/layout.css') }}"/>
  29. {% if main_location == 'US' %}
  30. <link href="{{ asset('bundles/admin/css/location_us.css') }}" type="text/css" rel="stylesheet" />
  31. {% endif %}
  32. {% endblock %}
  33. {% block javascripts %}
  34. <script src="{{ asset('bundles/admin/js/libs/jquery/jquery-1.11.2.js') }}"></script>
  35. <script src="{{ asset('bundles/admin/js/libs/jquery-ui/jquery-ui.min.js') }}"></script>
  36. <script src="{{ asset('bundles/admin/js/libs/jquery/jquery-migrate-1.2.1.min.js') }}"></script>
  37. <script src="{{ asset('bundles/admin/js/libs/bootstrap/bootstrap.js') }}"></script>
  38. <script src="{{ asset('bundles/admin/js/libs/jquery.mask.min.js') }}"></script>
  39. <script src="{{ asset('bundles/admin/js/libs/spin.js/spin.js') }}"></script>
  40. <script src="{{ asset('bundles/admin/js/libs/DataTables/jquery.dataTables.js') }}"></script>
  41. <script src="{{ asset('bundles/admin/js/libs/utils.js') }}"></script>
  42. <script src="{{ asset('bundles/admin/js/libs/intlTelInput.min.js') }}"></script>
  43. <script src="{{ asset('bundles/admin/js/libs/AppDesign/App.js') }}"></script>
  44. <script src="{{ asset('bundles/admin/js/libs/AppDesign/AppNavigation.js') }}"></script>
  45. <script src="{{ asset('bundles/admin/js/libs/AppDesign/AppOffcanvas.js') }}"></script>
  46. <script src="{{ asset('bundles/admin/js/libs/AppDesign/AppCard.js') }}"></script>
  47. <script src="{{ asset('bundles/admin/js/libs/AppDesign/AppForm.js') }}"></script>
  48. <script src="{{ asset('bundles/admin/js/libs/AppDesign/AppNavSearch.js') }}"></script>
  49. <script src="{{ asset('bundles/admin/js/libs/AppDesign/AppVendor.js') }}"></script>
  50. <script src="{{ asset('bundles/admin/js/libs/bootstrap-datepicker/bootstrap-datepicker.js') }}"></script>
  51. <script src="{{ asset('thirdparty/sonatacore/vendor/moment/min/moment-with-locales.min.js') }}"></script>
  52. <script src="{{ asset('bundles/admin/js/libs/select2/select2.js') }}"></script>
  53. <script src="{{ asset('bundles/admin/js/libs/clockpicker-gh-pages/dist/bootstrap-clockpicker.js') }}"></script>
  54. <script src="{{ asset('thirdparty/sonatacore/vendor/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js') }}"></script>
  55. <script src="{{ asset('bundles/admin/js/layout.js') }}"></script>
  56. {% endblock %}
  57. </head>
  58. <body id="{{ app.request.attributes.get('_route') }}">
  59. {% block layout_header %}
  60. <header id="header">
  61. <div class="headerbar">
  62. {% if app.request.attributes.get('_route') =='admin_homepage' or app.request.attributes.get('_route') =='sonata_admin_dashboard' %}
  63. <ul class="header-nav header-nav-toggle">
  64. <li id="offf"> <a class="btn btn-icon-toggle btn-default active" href="#" data-backdrop="false"> <i class="fa fa-ellipsis-v"></i> </a> </li>
  65. </ul>
  66. {% endif %}
  67. <!-- Brand and toggle get grouped for better mobile display -->
  68. <div class="headerbar-left">
  69. <ul class="header-nav header-nav-options">
  70. <li class="header-nav-brand">
  71. <div class="brand-holder">
  72. <a href="{{ path('admin_homepage') }}">
  73. <span class="text-lg text-bold text-primary">
  74. <img src="{{ asset(settings_service.logoSiteMedium) }}" width="46" height="27">
  75. </span>
  76. </a>
  77. </div>
  78. </li>
  79. </ul>
  80. </div>
  81. <!-- Collect the nav links, forms, and other content for toggling -->
  82. <div class="headerbar-right">
  83. <div class="headerbar-menu">
  84. <ul class="header-nav header-nav-options">
  85. <nav id="primary_nav_wrap">
  86. <ul>
  87. <li>
  88. <a href="{{ path('sonata_admin_dashboard') }}">Main location <span class="text-info map-location-center">{{ settings_service.getMainMapLocation }}</span></a>
  89. </li>
  90. <li>
  91. <a href="{{ path('sonata_admin_dashboard') }}">Dashboard</a>
  92. </li>
  93. <li>
  94. <a href="{{ path('admin_admin_booking_list') }}">Bookings</a>
  95. <ul>
  96. <li><a href="{{ path('admin_admin_booking_create') }}">Add Booking</a></li>
  97. <li><a href="{{ path('admin_admin_payment_list') }}">Payments</a></li>
  98. <li><a href="{{ path('admin.booking_plan') }}">Jobs plan</a></li>
  99. <li><a href="{{ path('admin_admin_bookingrequest_list') }}">Bookings ASAP</a></li>
  100. <li><a href="{{ path('admin_admin_bookingreview_list') }}">Reviews</a></li>
  101. <li><a href="{{ path('admin_admin_ticket_list') }}">Tickets</a></li>
  102. {% if is_granted('ROLE_OPERATOR') %}
  103. <li>
  104. <a href="{{ path('bookings_processed_list') }}">
  105. Processed Bookings
  106. </a>
  107. </li>
  108. {% endif %}
  109. </ul>
  110. </li>
  111. <li>
  112. <a href="{{ path('admin_admin_driver_list') }}">Drivers</a>
  113. <ul>
  114. {% if is_granted('ROLE_COMPANY') or is_granted('ROLE_OPERATOR_ADMIN') %}
  115. <li><a href="{{ path('admin_admin_driverinvoices_list') }}">Invoices</a></li>
  116. <li><a href="{{ path('admin_driver_queues_list') }}">Queues</a></li>
  117. <li><a href="{{ path('admin_admin_questionnaire_list') }}">Questionnaires</a></li>
  118. <li><a href="{{ path('admin_admin_driver_create') }}">Add Driver</a></li>
  119. {% endif %}
  120. </ul>
  121. </li>
  122. <li>
  123. <a href="{{ path('admin_admin_car_list') }}">Vehicles</a>
  124. <ul>
  125. <li><a href="{{ path('admin_admin_cartype_list') }}">Vehicles Types</a></li>
  126. {% if is_granted('ROLE_COMPANY') or is_granted('ROLE_OPERATOR_ADMIN') %}
  127. <li><a href="{{ path('admin_admin_car_create') }}">Add Vehicle</a></li>
  128. {% endif %}
  129. {% if is_granted('ROLE_COMPANY') %}
  130. <li><a href="{{ path('admin_admin_cartypeprice_list') }}">Vehicle Variable Pricing</a></li>
  131. <li><a href="{{ path('admin_admin_cartypeareaprice_list') }}">Vehicle Zone/Plot Pricing</a></li>
  132. <li><a href="{{ path('admin_admin_pricethreshold_list') }}">Distance Thresholds</a></li>
  133. {% endif %}
  134. </ul>
  135. </li>
  136. <li><a href="#">Users</a>
  137. <ul>
  138. {% if is_granted('ROLE_COMPANY') %}
  139. <li><a href="{{ path('admin_admin_operator_list') }}">Operators</a></li>
  140. <li><a href="{{ path('admin_admin_operator_admin_list') }}">Operator Admins</a></li>
  141. {% endif %}
  142. <li><a href="{{ path('admin_admin_company_list') }}">Companies</a></li>
  143. <li><a href="{{ path('admin_admin_account_list') }}">Accounts</a></li>
  144. <li><a href="{{ path('admin_admin_groupaccounts_list') }}">Account Groups</a></li>
  145. <li><a href="{{ path('admin_admin_companyinvoice_list') }}">Company Invoices</a></li>
  146. <li><a href="{{ path('admin_admin_clientinvoices_list') }}">Client Invoices</a></li>
  147. <li><a href="{{ path('admin_admin_clientchangerequest_list') }}">Client Change Requests</a></li>
  148. <li><a href="{{ path('admin_admin_mobileads_list') }}">Mobile Ads</a></li>
  149. <li><a href="{{ path('admin_admin_news_list') }}">News</a></li>
  150. </ul>
  151. </li>
  152. <li><a href="#">Settings</a>
  153. <ul>
  154. {% if is_granted('ROLE_COMPANY') or is_granted('ROLE_OPERATOR_ADMIN') %}
  155. <li><a href="{{ path('admin_admin_department_list') }}">Departments</a></li>
  156. <li><a href="{{ path('admin_admin_periodsettings_list') }}">Period Surcharge</a></li>
  157. {% if main_location == 'UK' %}
  158. <li><a href="{{ path('admin_paf_pafaddress_list') }}">Paf Address</a></li>
  159. <li><a href="{{ path('admin_paf_buildingname_list') }}">Paf Building Names</a></li>
  160. <li><a href="{{ path('admin_paf_locality_list') }}">Paf Localities</a></li>
  161. {% endif %}
  162. {% if main_location == 'US' %}
  163. <li><a href="{{ path('admin_paf_pafaddressus_list') }}">Paf Address US</a></li>
  164. {% endif %}
  165. {% endif %}
  166. {% if is_granted('ROLE_COMPANY') %}
  167. <li><a href="{{ path('admin_admin_bookingextra_list') }}">Booking Extras</a></li>
  168. <li><a href="{{ path('admin_admin_zone_list') }}">Fixed Routes</a></li>
  169. <li><a href="{{ path('admin_admin_zonecartype_list') }}">Fixed Prices</a></li>
  170. <li><a href="{{ path('admin_area_settings') }}">Draw Zone/Plot</a></li>
  171. <li><a href="{{ path('admin_admin_area_list') }}">Zone/Plot Charges</a></li>
  172. <!-- <li><a href="{{ path('admin_admin_voucher_list') }}">Promo Codes</a></li>-->
  173. <li><a href="{{ path('admin_admin_invoiceadjustmentreasons_list') }}">Invoice Adjustment Reasons</a></li>
  174. <li><a href="{{ path('admin_admin_bookingcancelreason_list') }}">Booking Cancel Reasons</a></li>
  175. <li><a href="{{ path('admin_admin_settings_list') }}">General Settings</a></li>
  176. <li><a href="{{ path('admin_admin_tours_list') }}">Tours</a></li>
  177. <li><a href="{{ path('admin_admin_objectives_list') }}">Objectives</a></li>
  178. <li><a href="{{ path('admin_admin_changerequests_list') }}">Change Requests</a></li>
  179. {% endif %}
  180. <li><a href="{{ path('admin_admin_voucher_list') }}">Promo Codes</a></li>
  181. <li><a href="{{ path('admin_driver_history_reason_list') }}">Driver Actions List</a></li>
  182. <li><a href="{{ path('admin_admin_clientcancellationfee_list') }}">Client Cancellation Fee</a></li>
  183. {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_OPERATOR_ADMIN') %}
  184. <li><a href="{{ path('admin_admin_email_template_list') }}">Test Email</a></li>
  185. <li><a href="{{ path('admin_admin_socket_events_list') }}">Socket Events</a></li>
  186. {% endif %}
  187. </ul>
  188. </li>
  189. {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_OPERATOR_ADMIN') %}
  190. <li><a href="#">Reports</a>
  191. <ul>
  192. {% if is_granted('ROLE_ADMIN') or is_granted('ROLE_OPERATOR_ADMIN') %}
  193. <li><a href="{{ path('reports_list') }}">Bookings Report</a></li>
  194. <li><a href="{{ path('admin_reports_driver_work') }}">Driver Work Report</a></li>
  195. <li>
  196. <a href="{{ path('completed_jobs_report_list') }}">
  197. Drivers Completed Jobs
  198. </a>
  199. </li>
  200. <li><a href="{{ path('reports-stats_list') }}">Booking Statistics</a></li>
  201. <li>
  202. <a href="{{ path('bookings_processed_list') }}">
  203. Processed Bookings
  204. </a>
  205. </li>
  206. {% endif %}
  207. {% if is_granted('ROLE_ADMIN') %}
  208. <li><a href="{{ path('reports-refund_list') }}">Booking Refund</a></li>
  209. <li><a href="{{ path('reports-confirmed_list') }}">Booking Confirmed</a></li>
  210. {% endif %}
  211. </ul>
  212. </li>
  213. {% endif %}
  214. </ul>
  215. </nav>
  216. </ul>
  217. </div>
  218. <!--end .header-nav-options -->
  219. <ul class="header-nav header-nav-profile" style="z-index:2;">
  220. <li class="dropdown">
  221. <a href="javascript:void(0);" class="dropdown-toggle ink-reaction" data-toggle="dropdown">
  222. <img src="{{ asset('bundles/admin/img/avatar-logo.png') }}" width="140" height="140">
  223. <span class="profile-info">
  224. {{ app.user.email }}
  225. <small>
  226. {% if is_granted('ROLE_ADMIN') %}
  227. Administrator
  228. {% elseif is_granted('ROLE_COMPANY') %}
  229. Company
  230. {% elseif is_granted('ROLE_OPERATOR_ADMIN') %}
  231. Operator Administrator
  232. {% elseif is_granted('ROLE_OPERATOR') %}
  233. Operator
  234. {% elseif is_granted('ROLE_DRIVER') %}
  235. Driver
  236. {% elseif is_granted('ROLE_CLIENT') %}
  237. Client
  238. {% else %}
  239. Anonymous
  240. {% endif %}
  241. </small>
  242. </span>
  243. </a>
  244. <ul class="dropdown-menu animation-dock">
  245. <li class="dropdown-header">Config</li>
  246. {% if is_granted('ROLE_ADMIN') %}
  247. <li><a href="{{ path('admin_admin_profile') }}">Profile</a></li>
  248. {% elseif is_granted('ROLE_COMPANY') %}
  249. <li><a href="{{ path('admin_company_profile') }}">Profile</a></li>
  250. {% else %}
  251. <li><a href="#PROFILE" style="pointer-events: none;cursor: default;color: #969c9c">Profile</a></li>
  252. {% endif %}
  253. <li>
  254. <a href="#MESSAGES" style="pointer-events: none;cursor: default;color: #969c9c">Messages
  255. {#<span class="badge style-danger pull-right">20</span>#}
  256. </a>
  257. </li>
  258. <li><a href="#LOGS" style="pointer-events: none;cursor: default;color: #969c9c">Logs</a></li>
  259. <li class="divider"></li>
  260. <li><a href="{{ path('sonata_user_admin_security_logout') }}"><i class="fa fa-fw fa-power-off text-danger"></i> Logout</a></li>
  261. {% if is_granted('ROLE_PREVIOUS_ADMIN') %}
  262. <a href="{{ path('driver_homepage', {'_switch_user': '_exit'}) }}">Exit impersonation</a>
  263. {% endif %}
  264. </ul>
  265. <!--end .dropdown-menu -->
  266. </li>
  267. <!--end .dropdown -->
  268. </ul>
  269. {% block menu_right %}
  270. {% endblock %}
  271. </div>
  272. <!--end #header-navbar-collapse -->
  273. </div>
  274. </header>
  275. {% endblock %}
  276. <section class="style-default-bright">
  277. {% block notice %}
  278. {% include "@SonataTwig/FlashMessage/render.html.twig" %}
  279. {% endblock notice %}
  280. {% block content %}
  281. {% endblock %}
  282. </section>
  283. <div id="modal"></div>
  284. </body>