From 183b28746419793a601693d6ef4d6b9fc7fc05d0 Mon Sep 17 00:00:00 2001 From: Andy Byers Date: Tue, 31 Mar 2026 13:19:06 +0100 Subject: [PATCH 1/2] fix: hide Press Manager breadcrumb from Repository Managers (#4647) --- src/repository/tests/test_views.py | 19 +++++++++++++++++++ .../breadcrumbs/repository_manager_base.html | 6 ++++++ src/templates/admin/repository/article.html | 3 +-- .../admin/repository/edit_authors.html | 3 +-- .../admin/repository/edit_metadata.html | 3 +-- src/templates/admin/repository/licenses.html | 3 +-- src/templates/admin/repository/log.html | 3 +-- .../admin/repository/manage_supp_files.html | 3 +-- src/templates/admin/repository/manager.html | 3 +-- .../admin/repository/manager_comments.html | 2 +- .../admin/repository/notification.html | 3 +-- .../admin/repository/orphaned_preprints.html | 3 +-- .../repository/rejected_submissions.html | 3 +-- .../review/edit_review_comment.html | 3 +-- .../admin/repository/review/list_reviews.html | 3 +-- .../repository/review/manage_review.html | 3 +-- .../repository/review/manage_reviewers.html | 3 +-- .../repository/review/notify_reviewer.html | 3 +-- .../repository/review/review_detail.html | 3 +-- .../repository/send_preprint_to_journal.html | 3 +-- src/templates/admin/repository/subjects.html | 3 +-- .../repository/submission_type_form.html | 7 +------ .../repository/submission_type_list.html | 5 +---- .../admin/repository/version_queue.html | 3 +-- 24 files changed, 47 insertions(+), 49 deletions(-) create mode 100644 src/templates/admin/elements/breadcrumbs/repository_manager_base.html diff --git a/src/repository/tests/test_views.py b/src/repository/tests/test_views.py index b3f88c0fc7..366fd50ca9 100644 --- a/src/repository/tests/test_views.py +++ b/src/repository/tests/test_views.py @@ -379,6 +379,25 @@ def test_view_preprint_comment_login_link_has_return(self): content = response.content.decode() self.assertIn("/login/?next=", content) + @override_settings(URL_CONFIG="domain") + def test_press_manager_link_hidden_from_repository_manager(self): + self.client.force_login(self.repo_manager) + path = reverse("preprints_manager") + response = self.client.get(path, SERVER_NAME=self.server_name) + self.assertNotIn(b"Press Manager", response.content) + + @override_settings(URL_CONFIG="domain") + def test_press_manager_link_shown_to_staff(self): + staff_user = helpers.create_user("staff@janeway.systems") + staff_user.is_staff = True + staff_user.is_active = True + staff_user.save() + self.repository.managers.add(staff_user) + self.client.force_login(staff_user) + path = reverse("preprints_manager") + response = self.client.get(path, SERVER_NAME=self.server_name) + self.assertIn(b"Press Manager", response.content) + class TestHierarchyView(TestCase): """Tests for the rou_hierarchy_view introduced in iowa-and-isolinear.""" diff --git a/src/templates/admin/elements/breadcrumbs/repository_manager_base.html b/src/templates/admin/elements/breadcrumbs/repository_manager_base.html new file mode 100644 index 0000000000..61d824c45f --- /dev/null +++ b/src/templates/admin/elements/breadcrumbs/repository_manager_base.html @@ -0,0 +1,6 @@ +{% if request.user.is_staff %}
  • Press Manager
  • {% endif %} +{% if terminal %} +
  • {{ request.repository.object_name|capfirst }} Manager
  • +{% else %} +
  • {{ request.repository.object_name|capfirst }} Manager
  • +{% endif %} diff --git a/src/templates/admin/repository/article.html b/src/templates/admin/repository/article.html index a686861fc3..f814b65c81 100644 --- a/src/templates/admin/repository/article.html +++ b/src/templates/admin/repository/article.html @@ -8,8 +8,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name|capfirst }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • {% endblock %} diff --git a/src/templates/admin/repository/edit_authors.html b/src/templates/admin/repository/edit_authors.html index 4e39caf5d6..9a8e6b2c27 100644 --- a/src/templates/admin/repository/edit_authors.html +++ b/src/templates/admin/repository/edit_authors.html @@ -9,8 +9,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Edit Authors
  • {% endblock %} diff --git a/src/templates/admin/repository/edit_metadata.html b/src/templates/admin/repository/edit_metadata.html index d552d5551a..286508ec64 100644 --- a/src/templates/admin/repository/edit_metadata.html +++ b/src/templates/admin/repository/edit_metadata.html @@ -9,8 +9,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Edit Metadata
  • {% endblock %} diff --git a/src/templates/admin/repository/licenses.html b/src/templates/admin/repository/licenses.html index 08e2c63622..b83695d139 100644 --- a/src/templates/admin/repository/licenses.html +++ b/src/templates/admin/repository/licenses.html @@ -7,8 +7,7 @@ {% block title-sub %}Management interface for {{ request.repository.name }} Licenses{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • Preprint Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • Licenses
  • {% endblock %} diff --git a/src/templates/admin/repository/log.html b/src/templates/admin/repository/log.html index 4e7b473e89..4f01e45340 100644 --- a/src/templates/admin/repository/log.html +++ b/src/templates/admin/repository/log.html @@ -9,8 +9,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Log
  • {% endblock %} diff --git a/src/templates/admin/repository/manage_supp_files.html b/src/templates/admin/repository/manage_supp_files.html index 8d43f5b164..3fdac8e62b 100644 --- a/src/templates/admin/repository/manage_supp_files.html +++ b/src/templates/admin/repository/manage_supp_files.html @@ -9,8 +9,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Manage Supplementary Files
  • {% endblock %} diff --git a/src/templates/admin/repository/manager.html b/src/templates/admin/repository/manager.html index b014422c69..20df1d5aba 100644 --- a/src/templates/admin/repository/manager.html +++ b/src/templates/admin/repository/manager.html @@ -4,8 +4,7 @@ {% block title-sub %}Management interface for {{ request.repository.name }}{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name|capfirst }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" with terminal=True %} {% endblock %} {% load cache %} diff --git a/src/templates/admin/repository/manager_comments.html b/src/templates/admin/repository/manager_comments.html index 46cda793de..a0544b1bfc 100644 --- a/src/templates/admin/repository/manager_comments.html +++ b/src/templates/admin/repository/manager_comments.html @@ -11,7 +11,7 @@ {% endblock %} {% block breadcrumbs %} -
  • {{ request.repository.object_name }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %} {% if preprint %} {% if show_reviewed %}
  • Reviewed Comments
  • diff --git a/src/templates/admin/repository/notification.html b/src/templates/admin/repository/notification.html index 495868059a..85c3775d66 100644 --- a/src/templates/admin/repository/notification.html +++ b/src/templates/admin/repository/notification.html @@ -6,8 +6,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • Preprint Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Notification
  • {% endblock %} diff --git a/src/templates/admin/repository/orphaned_preprints.html b/src/templates/admin/repository/orphaned_preprints.html index 406d76f5c2..f312a73a72 100644 --- a/src/templates/admin/repository/orphaned_preprints.html +++ b/src/templates/admin/repository/orphaned_preprints.html @@ -6,8 +6,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • Preprint Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • Orphaned {{ request.repository.object_name_plural }}
  • {% endblock %} diff --git a/src/templates/admin/repository/rejected_submissions.html b/src/templates/admin/repository/rejected_submissions.html index 9b3e8ec199..6567792278 100644 --- a/src/templates/admin/repository/rejected_submissions.html +++ b/src/templates/admin/repository/rejected_submissions.html @@ -7,8 +7,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • Preprint Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • Rejected Preprints
  • {% endblock %} diff --git a/src/templates/admin/repository/review/edit_review_comment.html b/src/templates/admin/repository/review/edit_review_comment.html index 1fc834b6de..8c6413bb02 100644 --- a/src/templates/admin/repository/review/edit_review_comment.html +++ b/src/templates/admin/repository/review/edit_review_comment.html @@ -6,8 +6,7 @@ {% block title-sub %}Invite a new reviewer for {{ request.repository.object_name }} #{{ preprint.pk }}{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Invited Review Comments
  • Review #{{ review.pk }}
  • diff --git a/src/templates/admin/repository/review/list_reviews.html b/src/templates/admin/repository/review/list_reviews.html index 070d990682..3069279c7f 100644 --- a/src/templates/admin/repository/review/list_reviews.html +++ b/src/templates/admin/repository/review/list_reviews.html @@ -7,8 +7,7 @@ {% block title-sub %}Lists reviewers invited to comment on a preprint.{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Invited Review Comments
  • {% endblock %} diff --git a/src/templates/admin/repository/review/manage_review.html b/src/templates/admin/repository/review/manage_review.html index 5eae85d65a..419982ede7 100644 --- a/src/templates/admin/repository/review/manage_review.html +++ b/src/templates/admin/repository/review/manage_review.html @@ -8,8 +8,7 @@ {% block title-sub %}Invite a new reviewer for {{ request.repository.object_name }} #{{ preprint.pk }}{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Invited Review Comments
  • Invite New Reviewer
  • diff --git a/src/templates/admin/repository/review/manage_reviewers.html b/src/templates/admin/repository/review/manage_reviewers.html index 82dbf9ceac..39df6c3794 100644 --- a/src/templates/admin/repository/review/manage_reviewers.html +++ b/src/templates/admin/repository/review/manage_reviewers.html @@ -7,8 +7,7 @@ {% block title-sub %}Lists and manage reviewers for {{ request.repository.name }}.{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • Reviewers
  • {% endblock %} diff --git a/src/templates/admin/repository/review/notify_reviewer.html b/src/templates/admin/repository/review/notify_reviewer.html index e8d9d6a5c9..17fd1e1c55 100644 --- a/src/templates/admin/repository/review/notify_reviewer.html +++ b/src/templates/admin/repository/review/notify_reviewer.html @@ -9,8 +9,7 @@ {% block title-sub %}Send a notification to invited reviewer of {{ request.repository.object_name }} #{{ preprint.pk }}{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Invited Review Comments
  • Notify Reviewer
  • diff --git a/src/templates/admin/repository/review/review_detail.html b/src/templates/admin/repository/review/review_detail.html index 71593bcd89..5e8f49eaf8 100644 --- a/src/templates/admin/repository/review/review_detail.html +++ b/src/templates/admin/repository/review/review_detail.html @@ -8,8 +8,7 @@ {% block title-sub %}Details and controls for Invited Review #{{ review.pk }}{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name_plural }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • Invited Review Comments
  • Review #{{ review.pk }}
  • diff --git a/src/templates/admin/repository/send_preprint_to_journal.html b/src/templates/admin/repository/send_preprint_to_journal.html index b6a9c6190e..0d249dbb1f 100644 --- a/src/templates/admin/repository/send_preprint_to_journal.html +++ b/src/templates/admin/repository/send_preprint_to_journal.html @@ -7,8 +7,7 @@ {% load files %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • Send Preprint to {% if journal %}{{ journal.name }}{% else %}a Journal{% endif %}
  • {% endblock %} diff --git a/src/templates/admin/repository/subjects.html b/src/templates/admin/repository/subjects.html index 9bf464153d..14aea218a3 100644 --- a/src/templates/admin/repository/subjects.html +++ b/src/templates/admin/repository/subjects.html @@ -7,8 +7,7 @@ {% block title-sub %}Management interface for {{ request.press.name }} preprint subjects{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • Preprint Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • Subjects
  • {% endblock %} diff --git a/src/templates/admin/repository/submission_type_form.html b/src/templates/admin/repository/submission_type_form.html index 7bed24f1da..58dac8f886 100644 --- a/src/templates/admin/repository/submission_type_form.html +++ b/src/templates/admin/repository/submission_type_form.html @@ -10,12 +10,7 @@ {% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • - - {{ request.repository.object_name|capfirst }} Manager - -
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • Submission Types diff --git a/src/templates/admin/repository/submission_type_list.html b/src/templates/admin/repository/submission_type_list.html index 0eefed5aab..1579dfe698 100644 --- a/src/templates/admin/repository/submission_type_list.html +++ b/src/templates/admin/repository/submission_type_list.html @@ -5,10 +5,7 @@ Types{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • - {{ request.repository.object_name|capfirst }} - Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • {{ preprint.title|safe }}
  • {% endblock %} diff --git a/src/templates/admin/repository/version_queue.html b/src/templates/admin/repository/version_queue.html index a1559923fc..9466081893 100644 --- a/src/templates/admin/repository/version_queue.html +++ b/src/templates/admin/repository/version_queue.html @@ -8,8 +8,7 @@ {% block title-sub %}There are {{ version_queue|length }} version requests for review.{% endblock %} {% block breadcrumbs %} -
  • Press Manager
  • -
  • {{ request.repository.object_name }} Manager
  • + {% include "admin/elements/breadcrumbs/repository_manager_base.html" %}
  • Version Moderation
  • {% endblock %} From 75d31fff5dbe9384f5f5206a35f6c8ee015ff6f7 Mon Sep 17 00:00:00 2001 From: Andy Byers Date: Tue, 31 Mar 2026 13:49:39 +0100 Subject: [PATCH 2/2] fix: move staff user creation to setUpTestData in breadcrumb tests --- src/repository/tests/test_views.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/repository/tests/test_views.py b/src/repository/tests/test_views.py index 366fd50ca9..22a7e080aa 100644 --- a/src/repository/tests/test_views.py +++ b/src/repository/tests/test_views.py @@ -62,6 +62,11 @@ def setUpTestData(cls): repository=cls.repository, name="Accept", ) + cls.staff_user = helpers.create_user("staff@janeway.systems") + cls.staff_user.is_staff = True + cls.staff_user.is_active = True + cls.staff_user.save() + cls.repository.managers.add(cls.staff_user) update_settings() def setUp(self): @@ -388,12 +393,7 @@ def test_press_manager_link_hidden_from_repository_manager(self): @override_settings(URL_CONFIG="domain") def test_press_manager_link_shown_to_staff(self): - staff_user = helpers.create_user("staff@janeway.systems") - staff_user.is_staff = True - staff_user.is_active = True - staff_user.save() - self.repository.managers.add(staff_user) - self.client.force_login(staff_user) + self.client.force_login(self.staff_user) path = reverse("preprints_manager") response = self.client.get(path, SERVER_NAME=self.server_name) self.assertIn(b"Press Manager", response.content)