From 88292f7f34dfb92158849aa5d89e93436af876a1 Mon Sep 17 00:00:00 2001 From: George Katsikas <giorgakis.katsikas@gmail.com> Date: Thu, 29 Aug 2024 16:57:56 +0200 Subject: [PATCH] allow publication officers to view edadmin tab --- scipost_django/scipost/context_processors.py | 2 ++ .../commands/add_groups_and_permissions.py | 1 + .../scipost/personal_page/_hx_edadmin.html | 24 ++++++++++++------- .../scipost/personal_page/_hx_tablist.html | 2 +- scipost_django/scipost/views.py | 1 + 5 files changed, 20 insertions(+), 10 deletions(-) diff --git a/scipost_django/scipost/context_processors.py b/scipost_django/scipost/context_processors.py index b3a74ec0b..d02673b70 100644 --- a/scipost_django/scipost/context_processors.py +++ b/scipost_django/scipost/context_processors.py @@ -32,6 +32,8 @@ def roles_processor(request): context["user_roles"].append("junior_ambassador") if "Production Officers" in group_names: context["user_roles"].append("production_officer") + if "Publication Officers" in group_names: + context["user_roles"].append("publication_officer") # Contributor-based roles try: active_fellowships = request.user.contributor.fellowships.active() diff --git a/scipost_django/scipost/management/commands/add_groups_and_permissions.py b/scipost_django/scipost/management/commands/add_groups_and_permissions.py index e549236a7..18df261b7 100644 --- a/scipost_django/scipost/management/commands/add_groups_and_permissions.py +++ b/scipost_django/scipost/management/commands/add_groups_and_permissions.py @@ -787,6 +787,7 @@ class Command(BaseCommand): can_add_profile_emails, can_manage_organizations, can_publish_accepted_submission, + can_manage_issues, ] ) diff --git a/scipost_django/scipost/templates/scipost/personal_page/_hx_edadmin.html b/scipost_django/scipost/templates/scipost/personal_page/_hx_edadmin.html index dac7113ca..0ced65ea1 100644 --- a/scipost_django/scipost/templates/scipost/personal_page/_hx_edadmin.html +++ b/scipost_django/scipost/templates/scipost/personal_page/_hx_edadmin.html @@ -35,22 +35,28 @@ </ul> {% endif %} - {% if perms.scipost.can_oversee_refereeing %} - <h3>Editorial Admin actions</h3> - <ul> + <h3>Editorial Admin actions</h3> + <ul> + <li><a href="{% url 'submissions:pool:pool' %}">Submissions Pool</a></li> + {% if perms.scipost.can_manage_reports %} <li><a href="{% url 'submissions:reports_accepted_list' %}">Accepted Reports</a>{% if nr_reports_without_pdf %} ({{nr_reports_without_pdf}} unfinished){% endif %}</li> - <li><a href="{% url 'submissions:pool:pool' %}">Submissions Pool</a></li> <li><a href="{% url 'submissions:treated_submissions_list' %}">Fully treated Submissions</a>{% if nr_treated_submissions_without_pdf %} ({{nr_treated_submissions_without_pdf}} unfinished){% endif %}</li> + {% endif %} + {% if perms.scipost.can_publish_accepted_submission %} <li><a href="{% url 'journals:harvest_citedby_list' %}">Harvest citedby data</a></li> - <li><a href="{% url 'journals:manage_comment_metadata' %}">Manage Comment metadata</a></li> - <li><a href="{% url 'journals:admin_volumes_list' %}">Manage Volumes</a></li> + <li><a href="{% url 'journals:harvest_citedby_list' %}">Manage Volumes</a></li> + {% endif %} + {% if perms.scipost.can_manage_issues %} <li><a href="{% url 'journals:admin_issue_list' %}">Manage Issues</a></li> <li><a href="{% url 'proceedings:proceedings' %}">Manage Proceedings Issues</a></li> + {% endif %} + {% if perms.scipost.can_publish_accepted_submission %} <li><a href="{% url 'journals:manage_metadata' %}">Manage Publication metadata</a></li> - <li><a href="{% url 'journals:manage_report_metadata' %}">Manage Report metadata</a></li> <li><a href="{% url 'journals:manage_update_metadata' %}">Manage PublicationUpdate metadata</a></li> - </ul> - {% endif %} + <li><a href="{% url 'journals:manage_comment_metadata' %}">Manage Comment metadata</a></li> + <li><a href="{% url 'journals:manage_report_metadata' %}">Manage Report metadata</a></li> + {% endif %} + </ul> </div> diff --git a/scipost_django/scipost/templates/scipost/personal_page/_hx_tablist.html b/scipost_django/scipost/templates/scipost/personal_page/_hx_tablist.html index 0fbda50f9..edcde8c5d 100644 --- a/scipost_django/scipost/templates/scipost/personal_page/_hx_tablist.html +++ b/scipost_django/scipost/templates/scipost/personal_page/_hx_tablist.html @@ -13,7 +13,7 @@ >Admin</a> {% endif %} - {% if "scipost_admin" in user_roles or "edadmin" in user_roles or "active_fellow" in user_roles or "advisory_board" in user_roles or "vetting_editor" in user_roles or "ambassador" in user_roles or "junior_ambassador" in user_roles %} + {% if "scipost_admin" in user_roles or "edadmin" in user_roles or "active_fellow" in user_roles or "advisory_board" in user_roles or "vetting_editor" in user_roles or "ambassador" in user_roles or "junior_ambassador" in user_roles or "publication_officer" in user_roles %} <a hx-get="{% url 'scipost:personal_page_hx_edadmin' %}" {% if selected == 'edadmin' %}class="selected"{% endif %} >Editorial Actions</a> diff --git a/scipost_django/scipost/views.py b/scipost_django/scipost/views.py index 059c48eb8..6c19bf0b1 100644 --- a/scipost_django/scipost/views.py +++ b/scipost_django/scipost/views.py @@ -1184,6 +1184,7 @@ def personal_page_hx_edadmin(request): "Editorial College", "Vetting Editors", "Junior Ambassadors", + "Publication Officers", ] ).exists() or request.user.is_superuser -- GitLab