home.html 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. {% extends 'base/layout.html' %}
  2. {% load helpers %}
  3. {% load render_table from django_tables2 %}
  4. {% load i18n %}
  5. {% block header %}
  6. {{ block.super }}
  7. {% if new_release %}
  8. <div class="alert alert-info bg-info-subtle mx-3" role="alert">
  9. <div class="d-flex">
  10. <div>
  11. <i class="mdi mdi-information-outline p-2"></i>
  12. </div>
  13. <div>
  14. <h4 class="alert-title">{% trans "New Release Available" %}</h4>
  15. <a href="{{ new_release.url }}">NetBox v{{ new_release.version }}</a> {% trans "is available" %}.
  16. <a href="https://docs.netbox.dev/en/stable/installation/upgrading/" target="_blank">
  17. {% trans "Upgrade Instructions" context "Document title" %}
  18. <i class="mdi mdi-open-in-new"></i>
  19. </a>
  20. </div>
  21. </div>
  22. </div>
  23. {% endif %}
  24. {% endblock %}
  25. {% block title %}{% trans "Home" %}{% endblock %}
  26. {% block page %}
  27. {# Render the user's customized dashboard #}
  28. <div class="grid-stack m-2" id="dashboard" hx-disinherit="*">
  29. {% for widget in dashboard %}
  30. {% include 'extras/dashboard/widget.html' %}
  31. {% endfor %}
  32. </div>
  33. <div class="collapse multi-collapse show">
  34. <div class="d-flex px-3">
  35. <div class="flex-grow-1">
  36. <button type="button" id="unlock_dashboard" class="btn btn-light" data-bs-toggle="collapse" data-bs-target=".multi-collapse">
  37. <i class="mdi mdi-lock-open-outline"></i> {% trans "Unlock Dashboard" %}
  38. </button>
  39. </div>
  40. </div>
  41. </div>
  42. <div class="collapse multi-collapse">
  43. <div class="d-flex px-3">
  44. <div class="flex-grow-1">
  45. <button type="button" id="lock_dashboard" class="btn btn-light" data-bs-toggle="collapse" data-bs-target=".multi-collapse">
  46. <i class="mdi mdi-lock-outline"></i> {% trans "Lock Dashboard" %}
  47. </button>
  48. </div>
  49. <div>
  50. <a href="#"
  51. hx-get="{% url 'extras:dashboardwidget_add' %}"
  52. hx-target="#htmx-modal-content"
  53. data-bs-toggle="modal"
  54. data-bs-target="#htmx-modal"
  55. class="btn btn-success"
  56. >
  57. <i class="mdi mdi-plus"></i> {% trans "Add Widget" %}
  58. </a>
  59. <button id="save_dashboard" class="btn btn-primary" data-url="{% url 'extras-api:dashboard' %}">
  60. <i class="mdi mdi-content-save-outline"></i> {% trans "Save Layout" %}
  61. </button>
  62. <a href="{% url 'extras:dashboard_reset' %}" class="btn btn-danger">
  63. <i class="mdi mdi-backspace"></i> {% trans "Reset Dashboard" %}
  64. </a>
  65. </div>
  66. </div>
  67. </div>
  68. {% endblock page %}
  69. {% block modals %}
  70. {% include 'inc/htmx_modal.html' %}
  71. {% endblock modals %}