dashboard.html.twig 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. {#
  2. This file is part of the Sonata package.
  3. (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
  4. For the full copyright and license information, please view the LICENSE
  5. file that was distributed with this source code.
  6. #}
  7. {% extends base_template %}
  8. {% block title %}{{ 'title_dashboard'|trans({}, 'SonataAdminBundle') }}{% endblock%}
  9. {% block breadcrumb %}{% endblock %}
  10. {% block content %}
  11. {% set has_left = false %}
  12. {% for block in blocks.left %}
  13. {% if block.roles|length == 0 or is_granted(block.roles) %}
  14. {% set has_left = true %}
  15. {% endif %}
  16. {% endfor %}
  17. {% set has_center = false %}
  18. {% for block in blocks.center %}
  19. {% if block.roles|length == 0 or is_granted(block.roles) %}
  20. {% set has_center = true %}
  21. {% endif %}
  22. {% endfor %}
  23. {% set has_right = false %}
  24. {% for block in blocks.right %}
  25. {% if block.roles|length == 0 or is_granted(block.roles) %}
  26. {% set has_right = true %}
  27. {% endif %}
  28. {% endfor %}
  29. {% set has_top = false %}
  30. {% for block in blocks.top %}
  31. {% if block.roles|length == 0 or is_granted(block.roles) %}
  32. {% set has_top = true %}
  33. {% endif %}
  34. {% endfor %}
  35. {% set has_bottom = false %}
  36. {% for block in blocks.bottom %}
  37. {% if block.roles|length == 0 or is_granted(block.roles) %}
  38. {% set has_bottom = true %}
  39. {% endif %}
  40. {% endfor %}
  41. {{ sonata_block_render_event('sonata.admin.dashboard.top', { 'admin_pool': admin_pool }) }}
  42. {% if has_top %}
  43. <div class="row">
  44. {% for block in blocks.top %}
  45. {% if block.roles|length == 0 or is_granted(block.roles) %}
  46. <div class="{{ block.class }}">
  47. {{ sonata_block_render({ 'type': block.type, 'settings': block.settings}) }}
  48. </div>
  49. {% endif %}
  50. {% endfor %}
  51. </div>
  52. {% endif %}
  53. <div class="row">
  54. {% set width_left = 4 %}
  55. {% set width_right = 4 %}
  56. {% set width_center = 4 %}
  57. {# if center block is not present we make left and right ones wider #}
  58. {% if not has_center %}
  59. {% set width_left = 6 %}
  60. {% set width_right = 6 %}
  61. {% endif %}
  62. {# if there is no right and left block present we make center one full width #}
  63. {% if not has_left and not has_right %}
  64. {% set width_center = 12 %}
  65. {% endif %}
  66. {# don't show left column if only center one is present #}
  67. {% if has_left or has_right %}
  68. <div class="col-md-{{ width_left }}">
  69. {% for block in blocks.left %}
  70. {% if block.roles|length == 0 or is_granted(block.roles) %}
  71. {{ sonata_block_render({ 'type': block.type, 'settings': block.settings}) }}
  72. {% endif %}
  73. {% endfor %}
  74. </div>
  75. {% endif %}
  76. {% if has_center %}
  77. <div class="col-md-{{ width_center }}">
  78. {% for block in blocks.center %}
  79. {% if block.roles|length == 0 or is_granted(block.roles) %}
  80. {{ sonata_block_render({ 'type': block.type, 'settings': block.settings}) }}
  81. {% endif %}
  82. {% endfor %}
  83. </div>
  84. {% endif %}
  85. {# don't show right column if only center one is present #}
  86. {% if has_left or has_right %}
  87. <div class="col-md-{{ width_right }}">
  88. {% for block in blocks.right %}
  89. {% if block.roles|length == 0 or is_granted(block.roles) %}
  90. {{ sonata_block_render({ 'type': block.type, 'settings': block.settings}) }}
  91. {% endif %}
  92. {% endfor %}
  93. </div>
  94. {% endif %}
  95. </div>
  96. {% if has_bottom %}
  97. <div class="row">
  98. {% for block in blocks.bottom %}
  99. {% if block.roles|length == 0 or is_granted(block.roles) %}
  100. <div class="{{ block.class }}">
  101. {{ sonata_block_render({ 'type': block.type, 'settings': block.settings}) }}
  102. </div>
  103. {% endif %}
  104. {% endfor %}
  105. </div>
  106. {% endif %}
  107. {{ sonata_block_render_event('sonata.admin.dashboard.bottom', { 'admin_pool': admin_pool }) }}
  108. {% endblock %}