From 12798cee7824cc9ddf9e2a3465e3b9fc24410e5f Mon Sep 17 00:00:00 2001 From: Jochen Klar Date: Thu, 12 Dec 2024 14:20:56 +0100 Subject: [PATCH] Add separate form for project visibility and improve wording --- rdmo/core/templates/core/bootstrap_form.html | 2 ++ .../projects/project_detail_sidebar.html | 2 +- .../templates/projects/project_form.html | 17 ----------- .../projects/project_form_visibility.html | 30 +++++++++++++++++++ rdmo/projects/views/project_update.py | 1 + 5 files changed, 34 insertions(+), 18 deletions(-) create mode 100644 rdmo/projects/templates/projects/project_form_visibility.html diff --git a/rdmo/core/templates/core/bootstrap_form.html b/rdmo/core/templates/core/bootstrap_form.html index e15f020694..4cbced2125 100644 --- a/rdmo/core/templates/core/bootstrap_form.html +++ b/rdmo/core/templates/core/bootstrap_form.html @@ -6,7 +6,9 @@ {% include 'core/bootstrap_form_fields.html' %} + {% if submit %} + {% endif %} {% if delete %} {% endif %} diff --git a/rdmo/projects/templates/projects/project_detail_sidebar.html b/rdmo/projects/templates/projects/project_detail_sidebar.html index 11f8d8de02..5c90ed7d5c 100644 --- a/rdmo/projects/templates/projects/project_detail_sidebar.html +++ b/rdmo/projects/templates/projects/project_detail_sidebar.html @@ -83,7 +83,7 @@

{% trans 'Options' %}

  • {% if not project.visibility %} - {% trans 'Make project visible to users' %} + {% trans 'Make project visible' %} {% else %} {% trans 'Update project visibility' %} {% endif %} diff --git a/rdmo/projects/templates/projects/project_form.html b/rdmo/projects/templates/projects/project_form.html index 74a6c72a49..9fbd90f914 100644 --- a/rdmo/projects/templates/projects/project_form.html +++ b/rdmo/projects/templates/projects/project_form.html @@ -31,23 +31,6 @@

    {% trans 'Update project tasks' %}

    {% trans 'Update project views' %}

    {% bootstrap_form submit=_('Save views') %} - {% elif request.resolver_match.url_name == 'project_update_visibility' %} - -

    {% trans 'Update project visibility' %}

    - -

    - {% blocktrans trimmed %} - Projects can be made visible to all users, for example to be used as a template. - When a project is made visible, users can access it as if they were in the guest role. - {% endblocktrans %} -

    - - {% if object.visibility %} - {% bootstrap_form submit=_('Save visibility') delete=_('Remove visibility') %} - {% else %} - {% bootstrap_form submit=_('Make visible') %} - {% endif %} - {% else %}

    {% trans 'Update project information' %}

    diff --git a/rdmo/projects/templates/projects/project_form_visibility.html b/rdmo/projects/templates/projects/project_form_visibility.html new file mode 100644 index 0000000000..2356b821ee --- /dev/null +++ b/rdmo/projects/templates/projects/project_form_visibility.html @@ -0,0 +1,30 @@ +{% extends 'core/page.html' %} +{% load i18n %} +{% load core_tags %} + +{% block page %} + +

    + {% if object.visibility %} + {% trans 'Update project visibility' %} + {% else %} + {% trans 'Make project visible' %} + {% endif %} +

    + +

    + {% blocktrans trimmed %} + Projects can be made visible to all users, for example to be used as a template. + When a project is made visible, users can access it as if they were in the guest role. + {% endblocktrans %} +

    + + {% if object.visibility and 'sites' in form.fields or 'groups' in form.fields %} + {% bootstrap_form submit=_('Update visibility') delete=_('Remove visibility') %} + {% elif object.visibility %} + {% bootstrap_form delete=_('Remove visibility') %} + {% else %} + {% bootstrap_form submit=_('Make visible') %} + {% endif %} + +{% endblock %} diff --git a/rdmo/projects/views/project_update.py b/rdmo/projects/views/project_update.py index f5b79c8400..b1889f7d8e 100644 --- a/rdmo/projects/views/project_update.py +++ b/rdmo/projects/views/project_update.py @@ -54,6 +54,7 @@ class ProjectUpdateVisibilityView(ObjectPermissionMixin, RedirectViewMixin, Upda queryset = Project.objects.all() form_class = ProjectUpdateVisibilityForm permission_required = 'projects.change_visibility_object' + template_name = 'projects/project_form_visibility.html' class ProjectUpdateCatalogView(ObjectPermissionMixin, RedirectViewMixin, UpdateView):