mirror of
https://github.com/daniviga/django-ram.git
synced 2025-08-04 05:07:50 +02:00
Improve UX and filtering
This commit is contained in:
@@ -151,29 +151,27 @@
|
|||||||
</button>
|
</button>
|
||||||
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
||||||
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
|
||||||
<li class="nav-item dropdown">
|
<li class="nav-item">
|
||||||
<a class="nav-link dropdown-toggle" href="#" id="rosterDropdownMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
<a class="nav-link" href="{% url 'roster' %}">Roster</a>
|
||||||
Roster
|
|
||||||
</a>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="rosterDropdownMenu">
|
|
||||||
<li><a class="dropdown-item" href="{% url 'roster' %}">Rolling stock</a></li>
|
|
||||||
<li><a class="dropdown-item" href="{% url 'companies' %}">Companies</a></li>
|
|
||||||
<li><a class="dropdown-item" href="{% url 'types' %}">Types</a></li>
|
|
||||||
<li><a class="dropdown-item" href="{% url 'scales' %}">Scales</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item dropdown">
|
|
||||||
<a class="nav-link dropdown-toggle" href="#" id="manufacturersDropdownMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
||||||
Manufacturers
|
|
||||||
</a>
|
|
||||||
<ul class="dropdown-menu" aria-labelledby="manufacturersDropdownMenu">
|
|
||||||
<li><a class="dropdown-item" href="{% url 'manufacturers' category='model' %}">Models</a></li>
|
|
||||||
<li><a class="dropdown-item" href="{% url 'manufacturers' category='real' %}">Real</a></li>
|
|
||||||
</ul>
|
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item">
|
||||||
<a class="nav-link" href="{% url 'consists' %}">Consists</a>
|
<a class="nav-link" href="{% url 'consists' %}">Consists</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li class="nav-item dropdown">
|
||||||
|
<a class="nav-link dropdown-toggle" href="#" id="filterDropdownMenu" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
|
Search by
|
||||||
|
</a>
|
||||||
|
<ul class="dropdown-menu" aria-labelledby="filterDropdownMenu">
|
||||||
|
<li class="ps-2 text-secondary">Model</li>
|
||||||
|
<li><a class="dropdown-item" href="{% url 'scales' %}">Scale</a></li>
|
||||||
|
<li><a class="dropdown-item" href="{% url 'manufacturers' category='model' %}">Manufacturer</a></li>
|
||||||
|
<li><hr class="dropdown-divider"></li>
|
||||||
|
<li class="ps-2 text-secondary">Prototype</li>
|
||||||
|
<li><a class="dropdown-item" href="{% url 'types' %}">Type</a></li>
|
||||||
|
<li><a class="dropdown-item" href="{% url 'companies' %}">Company</a></li>
|
||||||
|
<li><a class="dropdown-item" href="{% url 'manufacturers' category='real' %}">Manufacturer</a></li>
|
||||||
|
</ul>
|
||||||
|
</li>
|
||||||
{% show_bookshelf_menu %}
|
{% show_bookshelf_menu %}
|
||||||
{% show_flatpages_menu %}
|
{% show_flatpages_menu %}
|
||||||
</ul>
|
</ul>
|
||||||
|
@@ -7,7 +7,7 @@
|
|||||||
{% block cards %}
|
{% block cards %}
|
||||||
{% for d in data %}
|
{% for d in data %}
|
||||||
{% if d.type == "rolling_stock" %}
|
{% if d.type == "rolling_stock" %}
|
||||||
{% include "cards/rolling_stock.html" %}
|
{% include "cards/roster.html" %}
|
||||||
{% elif d.type == "company" %}
|
{% elif d.type == "company" %}
|
||||||
{% include "cards/company.html" %}
|
{% include "cards/company.html" %}
|
||||||
{% elif d.type == "rolling_stock_type" %}
|
{% elif d.type == "rolling_stock_type" %}
|
||||||
|
@@ -358,7 +358,7 @@
|
|||||||
{{ rolling_stock.notes | safe }}
|
{{ rolling_stock.notes | safe }}
|
||||||
</div>
|
</div>
|
||||||
<div class="tab-pane" id="nav-consists" role="tabpanel" aria-labelledby="nav-cosists-tab">
|
<div class="tab-pane" id="nav-consists" role="tabpanel" aria-labelledby="nav-cosists-tab">
|
||||||
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-3">
|
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-3 mb-3">
|
||||||
{% for d in consists %}
|
{% for d in consists %}
|
||||||
{% include "cards/consist.html" %}
|
{% include "cards/consist.html" %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
@@ -78,7 +78,7 @@ class GetData(View):
|
|||||||
|
|
||||||
|
|
||||||
class GetRoster(GetData):
|
class GetRoster(GetData):
|
||||||
title = "Rolling stock"
|
title = "Roster"
|
||||||
item_type = "rolling_stock"
|
item_type = "rolling_stock"
|
||||||
queryset = RollingStock.objects.order_by(*order_by_fields())
|
queryset = RollingStock.objects.order_by(*order_by_fields())
|
||||||
|
|
||||||
@@ -234,6 +234,9 @@ class GetRosterFiltered(View):
|
|||||||
elif _filter == "scale":
|
elif _filter == "scale":
|
||||||
title = get_object_or_404(Scale, slug__iexact=search)
|
title = get_object_or_404(Scale, slug__iexact=search)
|
||||||
query = Q(scale__slug__iexact=search)
|
query = Q(scale__slug__iexact=search)
|
||||||
|
query_2nd = Q(
|
||||||
|
consist_item__rolling_stock__scale__slug__iexact=search
|
||||||
|
)
|
||||||
elif _filter == "tag":
|
elif _filter == "tag":
|
||||||
title = get_object_or_404(Tag, slug__iexact=search)
|
title = get_object_or_404(Tag, slug__iexact=search)
|
||||||
query = Q(tags__slug__iexact=search)
|
query = Q(tags__slug__iexact=search)
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
from ram.utils import git_suffix
|
from ram.utils import git_suffix
|
||||||
|
|
||||||
__version__ = "0.8.0"
|
__version__ = "0.9.0"
|
||||||
__version__ += git_suffix(__file__)
|
__version__ += git_suffix(__file__)
|
||||||
|
@@ -60,3 +60,7 @@ if settings.DEBUG:
|
|||||||
name="openapi-schema",
|
name="openapi-schema",
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
if apps.is_installed("debug_toolbar"):
|
||||||
|
urlpatterns += [
|
||||||
|
path("__debug__/", include("debug_toolbar.urls")),
|
||||||
|
]
|
||||||
|
Reference in New Issue
Block a user