From 5e1349fd4aa288aa5a9ddd81af10b40e5d037366 Mon Sep 17 00:00:00 2001 From: Helge Jung <hej@c3pb.de> Date: Thu, 26 Dec 2024 16:26:46 +0100 Subject: [PATCH] backoffice/assemblyteam: extract reusable position edit parts --- .../assemblyteam_assembly_detail.html | 71 +----------------- .../assemblyteam_editposition_assembly.html | 36 +--------- ...ssemblyteam_editposition_statebuttons.html | 36 ++++++++++ .../assemblyteam_position_info_card.html | 72 +++++++++++++++++++ 4 files changed, 111 insertions(+), 104 deletions(-) create mode 100644 src/backoffice/templates/backoffice/assemblyteam_editposition_statebuttons.html create mode 100644 src/backoffice/templates/backoffice/assemblyteam_position_info_card.html diff --git a/src/backoffice/templates/backoffice/assemblyteam_assembly_detail.html b/src/backoffice/templates/backoffice/assemblyteam_assembly_detail.html index 64df76b5d..2630e8434 100644 --- a/src/backoffice/templates/backoffice/assemblyteam_assembly_detail.html +++ b/src/backoffice/templates/backoffice/assemblyteam_assembly_detail.html @@ -210,75 +210,8 @@ </div> {% if conference.support_assembly_physical %} - <div class="card mb-3"> - <div class="card-header">Position</div> - <div class="card-body d-flex flex-row"> - <div> - <label for="pos_public"> - <i class="bi bi-eye{% if not object.is_placed %}-slash{% endif %}"></i> {% trans "AssemblyTeam__position__status" %}: - </label> - <br> - <label for="pos_point"> - <i class="bi bi-pin-map"></i> {% trans "AssemblyTeam__position__point" %}: - </label> - <br> - <label for="pos_boundary"> - <i class="bi bi-map"></i> {% trans "AssemblyTeam__position__boundary" %} - </label> - </div> - <div class="flex-grow-1 ps-3"> - {% if object.location_state == object.LocationState.FINAL %} - <span id="pos_public" - class="text-success" - title="{{ object.get_location_state_display }}"><i class="bi bi-check-square"></i> {% trans "AssemblyTeam__position-final" %}</span> - {% elif object.location_state == object.LocationState.PREVIEW %} - <span id="pos_public" - class="text-success" - title="{{ object.get_location_state_display }}"><i class="bi bi-check-square"></i> {% trans "AssemblyTeam__position-preview" %}</span> - {% elif object.location_state == object.LocationState.DRAFT %} - <span id="pos_public" - class="text-warning" - title="{{ object.get_location_state_display }}"><i class="bi bi-x-square"></i> {% trans "AssemblyTeam__position-draft" %}</span> - {% elif object.location_state == object.LocationState.ROUGH %} - <span id="pos_public" - class="text-warning" - title="{{ object.get_location_state_display }}"><i class="bi bi-x-square"></i> {% trans "AssemblyTeam__position-internal" %}</span> - {% else %} - <span id="pos_public" - class="text-danger" - title="{{ object.get_location_state_display }}"><i class="bi bi-x-square"></i> {% trans "AssemblyTeam__position-none" %}</span> - {% endif %} - <br> - {% if object.location_data.point %} - <span id="pos_point" - class="text-success" - title="{{ object.location_data.point }}"> - <i class="bi bi-check-square"></i> {% trans "yes" %} - </span> - {% else %} - <span id="pos_poi" class="text-danger"><i class="bi bi-x-square"></i> {% trans "no" %}</span> - {% endif %} - <br> - {% if object.location_data.boundaries %} - <span id="pos_boundary" - class="text-success" - title="{{ object.location_data.boundaries }}"> - <i class="bi bi-check-square"></i> {% trans "yes" %} - </span> - {% else %} - <span id="pos_boundary" class="text-danger"><i class="bi bi-x-square"></i> {% trans "no" %}</span> - {% endif %} - </div> - <div> - <a role="button" - class="btn btn-sm btn-{% if assembly.is_public %}primary{% else %}secondary{% endif %}" - href="{% url 'backoffice:assemblyteam-editposition' pk=assembly.id %}"> - <i class="bi bi-pencil"></i> - {% trans "edit" %} - </a> - </div> - </div> - </div> + {% url 'backoffice:assemblyteam-editposition-assembly' pk=assembly.id as position_edit_url %} + {% include "backoffice/assemblyteam_position_info_card.html" %} {% endif %} {% if latest_note %} diff --git a/src/backoffice/templates/backoffice/assemblyteam_editposition_assembly.html b/src/backoffice/templates/backoffice/assemblyteam_editposition_assembly.html index df5a8ab59..6a60fd7c8 100644 --- a/src/backoffice/templates/backoffice/assemblyteam_editposition_assembly.html +++ b/src/backoffice/templates/backoffice/assemblyteam_editposition_assembly.html @@ -81,41 +81,7 @@ <label class="col-sm-2 col-form-label text-muted" for="buttons">{% trans "AssemblyTeam__edit_position-save" %}</label> <div class="btn-group" id="buttons"> - <button type="submit" - class="btn btn-sm {% if assembly.location_state == 'none' %}btn-primary{% else %}btn-outline-danger{% endif %}" - name="location_state" - value="none" - title="{% trans "AssemblyTeam__edit_position__tooltip-none" %}"> - {% trans "Assembly__location_state-none" %} - </button> - <button type="submit" - class="btn btn-sm {% if assembly.location_state == 'draft' %}btn-primary{% elif assembly.location_state == 'none' %}btn-outline-success{% elif assembly.location_state == 'rough' %}btn-outline-warning{% else %}btn-outline-danger{% endif %}" - name="location_state" - value="draft" - title="{% trans "AssemblyTeam__edit_position__tooltip-draft" %}"> - {% trans "Assembly__location_state-draft" %} - </button> - <button type="submit" - class="btn btn-sm {% if assembly.location_state == 'rough' %}btn-primary{% elif assembly.location_state == 'draft' %}btn-outline-success{% elif assembly.location_state == 'none' %}btn-outline-danger{% elif assembly.location_state == 'final' %}btn-outline-warning{% else %}btn-outline-primary{% endif %}" - name="location_state" - value="rough" - title="{% trans "AssemblyTeam__edit_position__tooltip-rough" %}"> - {% trans "Assembly__location_state-rough" %} - </button> - <button type="submit" - class="btn btn-sm {% if assembly.location_state == 'preview' %}btn-primary{% elif assembly.location_state == 'draft' %}btn-outline-warning{% elif assembly.location_state == 'none' %}btn-outline-danger{% elif assembly.location_state == 'final' %}btn-outline-warning{% else %}btn-outline-primary{% endif %}" - name="location_state" - value="preview" - title="{% trans "AssemblyTeam__edit_position__tooltip-preview" %}"> - {% trans "Assembly__location_state-preview" %} - </button> - <button type="submit" - class="btn btn-sm {% if assembly.location_state == 'final' %}btn-primary{% elif assembly.location_state == 'none' %}btn-outline-danger{% elif assembly.location_state == 'draft' %}btn-outline-danger{% else %}btn-outline-primary{% endif %}" - name="location_state" - value="final" - title="{% trans "AssemblyTeam__edit_position__tooltip-final" %}"> - {% trans "Assembly__location_state-final" %} - </button> + {% include "backoffice/assemblyteam_editposition_statebuttons.html" with object=assembly %} </div> </form> </div> diff --git a/src/backoffice/templates/backoffice/assemblyteam_editposition_statebuttons.html b/src/backoffice/templates/backoffice/assemblyteam_editposition_statebuttons.html new file mode 100644 index 000000000..67f0664c6 --- /dev/null +++ b/src/backoffice/templates/backoffice/assemblyteam_editposition_statebuttons.html @@ -0,0 +1,36 @@ +{% load i18n %} +<button type="submit" + class="btn btn-sm {% if object.location_state == 'none' %}btn-primary{% else %}btn-outline-danger{% endif %}" + name="location_state" + value="none" + title="{% trans "AssemblyTeam__edit_position__tooltip-none" %}"> + {% trans "Assembly__location_state-none" %} +</button> +<button type="submit" + class="btn btn-sm {% if object.location_state == 'draft' %}btn-primary{% elif object.location_state == 'none' %}btn-outline-success{% elif object.location_state == 'rough' %}btn-outline-warning{% else %}btn-outline-danger{% endif %}" + name="location_state" + value="draft" + title="{% trans "AssemblyTeam__edit_position__tooltip-draft" %}"> + {% trans "Assembly__location_state-draft" %} +</button> +<button type="submit" + class="btn btn-sm {% if object.location_state == 'rough' %}btn-primary{% elif object.location_state == 'draft' %}btn-outline-success{% elif object.location_state == 'none' %}btn-outline-danger{% elif object.location_state == 'final' %}btn-outline-warning{% else %}btn-outline-primary{% endif %}" + name="location_state" + value="rough" + title="{% trans "AssemblyTeam__edit_position__tooltip-rough" %}"> + {% trans "Assembly__location_state-rough" %} +</button> +<button type="submit" + class="btn btn-sm {% if object.location_state == 'preview' %}btn-primary{% elif object.location_state == 'draft' %}btn-outline-warning{% elif object.location_state == 'none' %}btn-outline-danger{% elif object.location_state == 'final' %}btn-outline-warning{% else %}btn-outline-primary{% endif %}" + name="location_state" + value="preview" + title="{% trans "AssemblyTeam__edit_position__tooltip-preview" %}"> + {% trans "Assembly__location_state-preview" %} +</button> +<button type="submit" + class="btn btn-sm {% if object.location_state == 'final' %}btn-primary{% elif object.location_state == 'none' %}btn-outline-danger{% elif object.location_state == 'draft' %}btn-outline-danger{% else %}btn-outline-primary{% endif %}" + name="location_state" + value="final" + title="{% trans "AssemblyTeam__edit_position__tooltip-final" %}"> + {% trans "Assembly__location_state-final" %} +</button> diff --git a/src/backoffice/templates/backoffice/assemblyteam_position_info_card.html b/src/backoffice/templates/backoffice/assemblyteam_position_info_card.html new file mode 100644 index 000000000..00c5e8095 --- /dev/null +++ b/src/backoffice/templates/backoffice/assemblyteam_position_info_card.html @@ -0,0 +1,72 @@ +{% load i18n %} +<div class="card mb-3"> + <div class="card-header">Position</div> + <div class="card-body d-flex flex-row"> + <div> + <label for="pos_public"> + <i class="bi bi-eye{% if not object.is_placed %}-slash{% endif %}"></i> {% trans "AssemblyTeam__position__status" %}: + </label> + <br> + <label for="pos_point"> + <i class="bi bi-pin-map"></i> {% trans "AssemblyTeam__position__point" %}: + </label> + <br> + <label for="pos_boundary"> + <i class="bi bi-map"></i> {% trans "AssemblyTeam__position__boundary" %} + </label> + </div> + <div class="flex-grow-1 ps-3"> + {% if object.location_state == object.LocationState.FINAL %} + <span id="pos_public" + class="text-success" + title="{{ object.get_location_state_display }}"><i class="bi bi-check-square"></i> {% trans "AssemblyTeam__position-final" %}</span> + {% elif object.location_state == object.LocationState.PREVIEW %} + <span id="pos_public" + class="text-success" + title="{{ object.get_location_state_display }}"><i class="bi bi-check-square"></i> {% trans "AssemblyTeam__position-preview" %}</span> + {% elif object.location_state == object.LocationState.DRAFT %} + <span id="pos_public" + class="text-warning" + title="{{ object.get_location_state_display }}"><i class="bi bi-x-square"></i> {% trans "AssemblyTeam__position-draft" %}</span> + {% elif object.location_state == object.LocationState.ROUGH %} + <span id="pos_public" + class="text-warning" + title="{{ object.get_location_state_display }}"><i class="bi bi-x-square"></i> {% trans "AssemblyTeam__position-internal" %}</span> + {% else %} + <span id="pos_public" + class="text-danger" + title="{{ object.get_location_state_display }}"><i class="bi bi-x-square"></i> {% trans "AssemblyTeam__position-none" %}</span> + {% endif %} + <br> + {% if object.location_data.point %} + <span id="pos_point" + class="text-success" + title="{{ object.location_data.point }}"> + <i class="bi bi-check-square"></i> {% trans "yes" %} + </span> + {% else %} + <span id="pos_poi" class="text-danger"><i class="bi bi-x-square"></i> {% trans "no" %}</span> + {% endif %} + <br> + {% if object.location_data.boundaries %} + <span id="pos_boundary" + class="text-success" + title="{{ object.location_data.boundaries }}"> + <i class="bi bi-check-square"></i> {% trans "yes" %} + </span> + {% else %} + <span id="pos_boundary" class="text-danger"><i class="bi bi-x-square"></i> {% trans "no" %}</span> + {% endif %} + </div> + {% if position_edit_url %} + <div> + <a role="button" + class="btn btn-sm btn-{% if assembly.is_public %}primary{% else %}secondary{% endif %}" + href="{{ position_edit_url }}"> + <i class="bi bi-pencil"></i> + {% trans "edit" %} + </a> + </div> + {% endif %} + </div> +</div> -- GitLab