diff --git a/scipost_django/scipost/context_processors.py b/scipost_django/scipost/context_processors.py index b3a74ec0b9da78c0eac2be84f2021f2357d0c7dc..d02673b70276b3f12f900cf836a8e2322bb54090 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 e549236a7afbff5db81e35c4c7575362c2bd0a12..18df261b7c83def6e71efad939d611775ea113ca 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 dac7113ca07340394777e5348b4c97d3f29e7d72..0ced65ea12871ae36deb5ff18f637b09a32adc47 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 0fbda50f99207af8ff1e9ee121ea887a28f34fa3..edcde8c5d3518b48beb96dfc1e07c48fb113b41d 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 059c48eb8fa1e853d308e97a2bffb7d7c65557a2..6c19bf0b1434ec3ec20f5f16df1877d2f7b03dde 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