refactor: reorganize navigation menu and enhance dropdown for additional features
This commit is contained in:
@@ -142,15 +142,16 @@
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
<li class="nav-item">
|
<li class="nav-item dropdown">
|
||||||
<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>
|
<a class="nav-link d-inline" title="Additional Features"><i class="bi bi-three-dots me-1" aria-hidden="true"></i>Other</a>
|
||||||
</li>
|
<a class="nav-link d-inline dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
|
||||||
<li class="nav-item">
|
<ul class="dropdown-menu">
|
||||||
<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>
|
<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>
|
||||||
</li>
|
<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>
|
||||||
<li class="nav-item">
|
<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>
|
||||||
<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>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</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
|
# 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.
|
# 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 = request.GET.get("q", "") or request.GET.get("case-search-input", "")
|
||||||
q = q.strip()
|
q = q.strip()
|
||||||
|
|
||||||
@@ -3521,6 +3522,7 @@ def case_search(request):
|
|||||||
"yes",
|
"yes",
|
||||||
"on",
|
"on",
|
||||||
)
|
)
|
||||||
|
logger.debug(f"case_search: q={q}, collection_id={collection_id}, show_select={show_select}")
|
||||||
collection = None
|
collection = None
|
||||||
if collection_id:
|
if collection_id:
|
||||||
try:
|
try:
|
||||||
@@ -3541,19 +3543,21 @@ def case_search(request):
|
|||||||
)
|
)
|
||||||
recent_cases = recent_qs.order_by("-created_date")[:5]
|
recent_cases = recent_qs.order_by("-created_date")[:5]
|
||||||
|
|
||||||
# Exclude recent cases from the main search results to avoid duplication
|
cases = []
|
||||||
recent_pks = [c.pk for c in recent_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)
|
# Build the base queryset for results, apply excludes first (before slicing)
|
||||||
cases_qs = qs.exclude(pk__in=recent_pks)
|
cases_qs = qs.exclude(pk__in=recent_pks)
|
||||||
|
|
||||||
# Also exclude any cases that are already present in the collection
|
# Also exclude any cases that are already present in the collection
|
||||||
if collection is not None:
|
if collection is not None:
|
||||||
existing_pks = list(collection.cases.values_list("pk", flat=True))
|
existing_pks = list(collection.cases.values_list("pk", flat=True))
|
||||||
if existing_pks:
|
if existing_pks:
|
||||||
cases_qs = cases_qs.exclude(pk__in=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(
|
return render(
|
||||||
request,
|
request,
|
||||||
|
|||||||
Reference in New Issue
Block a user