object.html 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. {% extends 'base/layout.html' %}
  2. {% load buttons %}
  3. {% load custom_links %}
  4. {% load helpers %}
  5. {% load perms %}
  6. {% load plugins %}
  7. {% block header %}
  8. {# Breadcrumbs #}
  9. <nav class="breadcrumb-container px-3" aria-label="breadcrumb">
  10. <ol class="breadcrumb">
  11. {% block breadcrumbs %}{% endblock %}
  12. </ol>
  13. </nav>
  14. {{ block.super }}
  15. {% endblock %}
  16. {% block title %}{{ object }}{% endblock %}
  17. {% block controls %}
  18. {# Clone/Edit/Delete Buttons #}
  19. <div class="controls pb-2 mx-0">
  20. <div class="d-flex flex-wrap justify-content-end mb-2">
  21. {% custom_links object %}
  22. {% plugin_buttons object %}
  23. {# Extra buttons #}
  24. {% block extra_controls %}{% endblock %}
  25. {% if request.user|can_add:object %}
  26. {% clone_button object %}
  27. {% endif %}
  28. {% if request.user|can_change:object %}
  29. {% edit_button object %}
  30. {% endif %}
  31. {% if request.user|can_delete:object %}
  32. {% delete_button object %}
  33. {% endif %}
  34. </div>
  35. </div>
  36. {% endblock controls %}
  37. {% block tabs %}
  38. <ul class="nav nav-tabs mb-3 px-3">
  39. {% block tab_items %}
  40. <li class="nav-item" role="presentation">
  41. <a class="nav-link{% if not active_tab %} active{% endif %}" href="{{ object.get_absolute_url }}">{{ object|meta:"verbose_name"|bettertitle }}</a>
  42. </li>
  43. {% endblock tab_items %}
  44. {% if perms.extras.view_journalentry %}
  45. {% with journal_viewname=object|viewname:'journal' %}
  46. {% url journal_viewname pk=object.pk as journal_url %}
  47. {% if journal_url %}
  48. <li role="presentation" class="nav-item">
  49. <a href="{{ journal_url }}" class="nav-link{% if active_tab == 'journal'%} active{% endif %}">Journal</a>
  50. </li>
  51. {% endif %}
  52. {% endwith %}
  53. {% endif %}
  54. {% if perms.extras.view_objectchange %}
  55. {% with changelog_viewname=object|viewname:'changelog' %}
  56. {% url changelog_viewname pk=object.pk as changelog_url %}
  57. <li role="presentation" class="nav-item">
  58. <a href="{{ changelog_url }}" class="nav-link{% if active_tab == 'changelog'%} active{% endif %}">Change Log</a>
  59. </li>
  60. {% endwith %}
  61. {% endif %}
  62. </ul>
  63. {% endblock tabs %}
  64. {% block content %}
  65. <p>
  66. <small class="text-muted">
  67. Created {{ object.created|annotated_date }} &middot;
  68. Updated <span title="{{ object.last_updated|annotated_date }}">{{ object.last_updated|timesince }}</span> ago
  69. </small>
  70. <span class="badge bg-primary">{{ object|meta:"app_label" }}.{{ object|meta:"model_name" }}:{{ object.pk }}</span>
  71. </p>
  72. {% endblock content %}
  73. {% block components %}{% endblock %}