Refactor URL patterns: update legacy case_id references to include 'id' for improved clarity and consistency

This commit is contained in:
Ross
2025-11-17 11:11:09 +00:00
parent 6e658aca93
commit 0f8bae8a14
5 changed files with 85 additions and 85 deletions
@@ -3,8 +3,8 @@
{% block content %} {% block content %}
{% include 'atlas/partials/_viewing_case_as_part_of_collection.html' with nav_link_view="atlas:collection_case_displaysetup" %} {% include 'atlas/partials/_viewing_case_as_part_of_collection.html' with nav_link_view="atlas:collection_case_displaysetup" %}
<h2>Setup default display for case</h2> <h2>Setup default display for case</h2>
<div id="root" class="dicom-viewer-root" data-images="{{casedetail.case.get_series_images_nested}}" <div id="root" class="dicom-viewer-root" data-images="{{casedetail.case.get_series_images_nested}}"
style="box-sizing: border-box; background: #222; width: 100vw; height: 800px; max-width: 1600px;" style="box-sizing: border-box; background: #222; width: 100vw; height: 800px; max-width: 1600px;"
@@ -15,16 +15,16 @@
></div> ></div>
<button id="save-viewerstate" type="button" class="btn btn-primary mt-3"> <button id="save-viewerstate" type="button" class="btn btn-primary mt-3">
Save Viewer State Save Viewer State
</button> </button>
<button id="reset-viewerstate" type="button" class="btn btn-secondary mt-3 ms-2"> <button id="reset-viewerstate" type="button" class="btn btn-secondary mt-3 ms-2">
Reset to Default Reset to Default
</button> </button>
<div id="viewerstate-save-response" class="mt-2"></div> <div id="viewerstate-save-response" class="mt-2"></div>
<script> <script>
document.getElementById('save-viewerstate').addEventListener('click', function() { document.getElementById('save-viewerstate').addEventListener('click', function() {
let viewerState = window.exportViewerState_root(); let viewerState = window.exportViewerState_root();
if (!viewerState) { if (!viewerState) {
document.getElementById('viewerstate-save-response').innerHTML = "<span class='text-danger'>Viewer state could not be retrieved.</span>"; document.getElementById('viewerstate-save-response').innerHTML = "<span class='text-danger'>Viewer state could not be retrieved.</span>";
@@ -45,8 +45,8 @@ document.getElementById('save-viewerstate').addEventListener('click', function()
.catch(error => { .catch(error => {
document.getElementById('viewerstate-save-response').innerHTML = "<span class='text-danger'>Error saving viewer state.</span>"; document.getElementById('viewerstate-save-response').innerHTML = "<span class='text-danger'>Error saving viewer state.</span>";
}); });
}); });
document.getElementById('reset-viewerstate').addEventListener('click', function() { document.getElementById('reset-viewerstate').addEventListener('click', function() {
fetch({% if case_number %}"{% url 'atlas:collection_case_displaysetup' casedetail.collection.pk case_number=case_number %}"{% else %}"{% url 'atlas:collection_case_displaysetup_legacy' casedetail.collection.pk casedetail.case.pk %}"{% endif %}, { fetch({% if case_number %}"{% url 'atlas:collection_case_displaysetup' casedetail.collection.pk case_number=case_number %}"{% else %}"{% url 'atlas:collection_case_displaysetup_legacy' casedetail.collection.pk casedetail.case.pk %}"{% endif %}, {
method: "POST", method: "POST",
headers: { headers: {
@@ -63,7 +63,7 @@ document.getElementById('reset-viewerstate').addEventListener('click', function(
.catch(error => { .catch(error => {
document.getElementById('viewerstate-save-response').innerHTML = "<span class='text-danger'>Error resetting viewer state.</span>"; document.getElementById('viewerstate-save-response').innerHTML = "<span class='text-danger'>Error resetting viewer state.</span>";
}); });
}); });
</script> </script>
{% endblock %} {% endblock %}
@@ -1,14 +1,14 @@
<div class="btn-group btn-group-sm me-2" role="group" aria-label="management-actions"> <div class="btn-group btn-group-sm me-2" role="group" aria-label="management-actions">
<a class="btn btn-outline-secondary" href="{% url 'atlas:collection_case_displaysetup' casedetail.collection.pk casedetail.get_case_index %}" title="Setup default display"> <a class="btn btn-outline-secondary" href="{% url 'atlas:collection_case_displaysetup_legacy' casedetail.collection.pk casedetail.case.pk %}" title="Setup default display">
<i class="bi bi-display"></i> <i class="bi bi-display"></i>
</a> </a>
<a class="btn btn-outline-secondary" href="{% url 'atlas:collection_case_details' casedetail.collection.pk casedetail.get_case_index %}" title="Case details"> <a class="btn btn-outline-secondary" href="{% url 'atlas:collection_case_details_legacy' casedetail.collection.pk casedetail.case.pk %}" title="Case details">
<i class="bi bi-info-square"></i> <i class="bi bi-info-square"></i>
</a> </a>
{% if collection.collection_type == "QUE" %} {% if collection.collection_type == "QUE" %}
<a class="btn btn-outline-secondary" href='{% url "atlas:collection_case_questions" casedetail.collection.pk casedetail.get_case_index %}' title="Manage questions"> <a class="btn btn-outline-secondary" href='{% url "atlas:collection_case_questions_legacy" casedetail.collection.pk casedetail.case.pk %}' title="Manage questions">
{% if casedetail.question_schema %} {% if casedetail.question_schema %}
<i class="bi bi-question-square text-success"></i> <i class="bi bi-question-square text-success"></i>
{% else %} {% else %}
+10 -10
View File
@@ -174,7 +174,7 @@ urlpatterns = [
), ),
# Backwards-compatible redirect from legacy case_id-style URLs # Backwards-compatible redirect from legacy case_id-style URLs
path( path(
"collection/<int:exam_id>/case/<int:case_id>/details", "collection/<int:exam_id>/case/id/<int:case_id>/details",
views.redirect_collection_case_details_by_id, views.redirect_collection_case_details_by_id,
name="collection_case_details_legacy", name="collection_case_details_legacy",
), ),
@@ -184,7 +184,7 @@ urlpatterns = [
name="collection_case_questions", name="collection_case_questions",
), ),
path( path(
"collection/<int:exam_id>/case/<int:case_id>/questions", "collection/<int:exam_id>/case/id/<int:case_id>/questions",
views.redirect_collection_case_questions_by_id, views.redirect_collection_case_questions_by_id,
name="collection_case_questions_legacy", name="collection_case_questions_legacy",
), ),
@@ -194,7 +194,7 @@ urlpatterns = [
name="collection_case_priors", name="collection_case_priors",
), ),
path( path(
"collection/<int:exam_id>/case/<int:case_id>/priors", "collection/<int:exam_id>/case/id/<int:case_id>/priors",
views.redirect_collection_case_priors_by_id, views.redirect_collection_case_priors_by_id,
name="collection_case_priors_legacy", name="collection_case_priors_legacy",
), ),
@@ -204,7 +204,7 @@ urlpatterns = [
name="collection_case_dicom_json", name="collection_case_dicom_json",
), ),
path( path(
"collection/<int:exam_id>/case/<int:case_id>/dicom_json", "collection/<int:exam_id>/case/id/<int:case_id>/dicom_json",
views.redirect_collection_case_dicom_json_by_id, views.redirect_collection_case_dicom_json_by_id,
name="collection_case_dicom_json_legacy", name="collection_case_dicom_json_legacy",
), ),
@@ -214,7 +214,7 @@ urlpatterns = [
name="collection_case_dicom_json_review", name="collection_case_dicom_json_review",
), ),
path( path(
"collection/<int:exam_id>/case/<int:case_id>/dicom_json/review", "collection/<int:exam_id>/case/id/<int:case_id>/dicom_json/review",
views.redirect_collection_case_dicom_json_review_by_id, views.redirect_collection_case_dicom_json_review_by_id,
name="collection_case_dicom_json_review_legacy", name="collection_case_dicom_json_review_legacy",
), ),
@@ -300,7 +300,7 @@ urlpatterns = [
), ),
# legacy path that used case PK; redirect to canonical case_number URL # legacy path that used case PK; redirect to canonical case_number URL
path( path(
"collection/<int:pk>/<int:case_id>", "collection/<int:pk>/id/<int:case_id>",
views.redirect_collection_case_view_by_id, views.redirect_collection_case_view_by_id,
name="collection_case_view_legacy", name="collection_case_view_legacy",
), ),
@@ -310,7 +310,7 @@ urlpatterns = [
name="collection_case_displaysetup", name="collection_case_displaysetup",
), ),
path( path(
"collection/<int:collection_id>/<int:case_id>/display_setup", "collection/<int:collection_id>/id/<int:case_id>/display_setup",
views.redirect_collection_case_displaysetup_by_id, views.redirect_collection_case_displaysetup_by_id,
name="collection_case_displaysetup_legacy", name="collection_case_displaysetup_legacy",
), ),
@@ -320,7 +320,7 @@ urlpatterns = [
name="collection_case_view_take", name="collection_case_view_take",
), ),
path( path(
"collection/<int:pk>/<int:case_id>/take/<int:cid>/<str:passcode>", "collection/<int:pk>/id/<int:case_id>/take/<int:cid>/<str:passcode>",
views.redirect_collection_case_view_take_by_id, views.redirect_collection_case_view_take_by_id,
name="collection_case_view_take_legacy", name="collection_case_view_take_legacy",
), ),
@@ -330,7 +330,7 @@ urlpatterns = [
name="collection_case_view_take_user", name="collection_case_view_take_user",
), ),
path( path(
"collection/<int:pk>/<int:case_id>/take/", "collection/<int:pk>/id/<int:case_id>/take/",
views.redirect_collection_case_view_take_user_by_id, views.redirect_collection_case_view_take_user_by_id,
name="collection_case_view_take_user_legacy", name="collection_case_view_take_user_legacy",
), ),
@@ -340,7 +340,7 @@ urlpatterns = [
name="collection_case_view_take_user_answers", name="collection_case_view_take_user_answers",
), ),
path( path(
"collection/<int:pk>/<int:case_id>/take/answers", "collection/<int:pk>/id/<int:case_id>/take/answers",
views.redirect_collection_case_view_take_user_answers_by_id, views.redirect_collection_case_view_take_user_answers_by_id,
name="collection_case_view_take_user_answers_legacy", name="collection_case_view_take_user_answers_legacy",
), ),