search.html 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. {% extends 'base/layout.html' %}
  2. {% load helpers %}
  3. {% load form_helpers %}
  4. {% load render_table from django_tables2 %}
  5. {% block title %}Search{% endblock %}
  6. {% block content %}
  7. {% if request.GET.q %}
  8. {% if results %}
  9. <div class="row">
  10. <div class="col col-md-9">
  11. {% for obj_type in results %}
  12. <div class="card">
  13. <h5 class="card-header" id="{{ obj_type.name|lower }}">{{ obj_type.name|bettertitle }}</h5>
  14. <div class="card-body table-responsive">
  15. {% render_table obj_type.table 'inc/table.html' %}
  16. </div>
  17. <div class="card-footer text-end">
  18. <a href="{{ obj_type.url }}" class="btn btn-sm btn-primary my-1">
  19. <i class="mdi mdi-arrow-right-bold" aria-hidden="true"></i>
  20. {% if obj_type.table.page.has_next %}
  21. See All {{ obj_type.table.page.paginator.count }} Results
  22. {% else %}
  23. Refine Search
  24. {% endif %}
  25. </a>
  26. </div>
  27. </div>
  28. {% endfor %}
  29. </div>
  30. <div class="col col-md-3">
  31. <div class="card">
  32. <h5 class="card-header">
  33. Search Results
  34. </h5>
  35. <div class="card-body">
  36. <div class="list-group list-group-flush">
  37. {% for obj_type in results %}
  38. <a href="#{{ obj_type.name|lower }}" class="list-group-item">
  39. <div class="float-end">
  40. {% badge obj_type.table.page.paginator.count %}
  41. </div>
  42. {{ obj_type.name|bettertitle }}
  43. </a>
  44. {% endfor %}
  45. </div>
  46. </div>
  47. </div>
  48. </div>
  49. </div>
  50. {% else %}
  51. <h3 class="text-muted text-center">No results found</h3>
  52. {% endif %}
  53. {% else %}
  54. <div class="row">
  55. <div class="col col-12 col-lg-4 offset-lg-4">
  56. <form action="{% url 'search' %}" method="get" class="form form-horizontal">
  57. <div class="card">
  58. <h5 class="card-header">
  59. Search
  60. </h5>
  61. <div class="card-body">
  62. {% render_form form %}
  63. </div>
  64. <div class="card-footer text-end">
  65. <button type="submit" class="btn btn-primary">
  66. <span class="mdi mdi-magnify" aria-hidden="true"></span> Search
  67. </button>
  68. </div>
  69. </div>
  70. </form>
  71. </div>
  72. </div>
  73. {% endif %}
  74. {% endblock content %}