refactor: reorganize navigation menu and enhance dropdown for additional features
This commit is contained in:
@@ -142,15 +142,16 @@
|
||||
{% endif %}
|
||||
</ul>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'atlas:question_schema_overview' %}" title="View and edit question schemas"><i class="bi bi-journal-text me-1" aria-hidden="true"></i>Question Schemas</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'atlas:multiuser_dashboard' %}" title="Multiuser case sync and review"><i class="bi bi-people me-1" aria-hidden="true"></i>Multiuser Sync</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'atlas:help' %}" title="View the atlas help pages"><i class="bi bi-question-circle me-1" aria-hidden="true"></i>Help</a>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link d-inline" title="Additional Features"><i class="bi bi-three-dots me-1" aria-hidden="true"></i>Other</a>
|
||||
<a class="nav-link d-inline dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
<ul class="dropdown-menu">
|
||||
<a class="dropdown-item" href="{% url 'atlas:question_schema_overview' %}" title="View and edit question schemas"><i class="bi bi-journal-text me-1" aria-hidden="true"></i>Question Schemas</a>
|
||||
<a class="dropdown-item" href="{% url 'atlas:multiuser_dashboard' %}" title="Multiuser case sync and review"><i class="bi bi-people me-1" aria-hidden="true"></i>Multiuser Sync</a>
|
||||
<a class="dropdown-item" href="{% url 'atlas:help' %}" title="View the atlas help pages"><i class="bi bi-question-circle me-1" aria-hidden="true"></i>Help</a>
|
||||
</ul>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+14
-10
@@ -1395,6 +1395,7 @@ def case_search_partial(request):
|
||||
#
|
||||
# If you want, I can prepare the migration, model/index changes and a
|
||||
# Django-code example to wire FTS into this view and tune weights.
|
||||
logger.debug("case_search_partial called with GET params: %s", request.GET)
|
||||
q = request.GET.get("q", "") or request.GET.get("case-search-input", "")
|
||||
q = q.strip()
|
||||
|
||||
@@ -3521,6 +3522,7 @@ def case_search(request):
|
||||
"yes",
|
||||
"on",
|
||||
)
|
||||
logger.debug(f"case_search: q={q}, collection_id={collection_id}, show_select={show_select}")
|
||||
collection = None
|
||||
if collection_id:
|
||||
try:
|
||||
@@ -3541,19 +3543,21 @@ def case_search(request):
|
||||
)
|
||||
recent_cases = recent_qs.order_by("-created_date")[:5]
|
||||
|
||||
# Exclude recent cases from the main search results to avoid duplication
|
||||
recent_pks = [c.pk for c in recent_cases]
|
||||
cases = []
|
||||
if q:
|
||||
# Exclude recent cases from the main search results to avoid duplication
|
||||
recent_pks = [c.pk for c in recent_cases]
|
||||
|
||||
# Build the base queryset for results, apply excludes first (before slicing)
|
||||
cases_qs = qs.exclude(pk__in=recent_pks)
|
||||
# Build the base queryset for results, apply excludes first (before slicing)
|
||||
cases_qs = qs.exclude(pk__in=recent_pks)
|
||||
|
||||
# Also exclude any cases that are already present in the collection
|
||||
if collection is not None:
|
||||
existing_pks = list(collection.cases.values_list("pk", flat=True))
|
||||
if existing_pks:
|
||||
cases_qs = cases_qs.exclude(pk__in=existing_pks)
|
||||
# Also exclude any cases that are already present in the collection
|
||||
if collection is not None:
|
||||
existing_pks = list(collection.cases.values_list("pk", flat=True))
|
||||
if existing_pks:
|
||||
cases_qs = cases_qs.exclude(pk__in=existing_pks)
|
||||
|
||||
cases = cases_qs.order_by("title")[:30]
|
||||
cases = cases_qs.order_by("title")[:30]
|
||||
|
||||
return render(
|
||||
request,
|
||||
|
||||
Reference in New Issue
Block a user