admin: remove StageBinding list
This commit is contained in:
parent
029c6cd182
commit
75d0bd01c2
|
@ -1,125 +0,0 @@
|
||||||
{% extends "administration/base.html" %}
|
|
||||||
|
|
||||||
{% load i18n %}
|
|
||||||
{% load authentik_utils %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
<section class="pf-c-page__main-section pf-m-light">
|
|
||||||
<div class="pf-c-content">
|
|
||||||
<h1>
|
|
||||||
<i class="pf-icon pf-icon-infrastructure"></i>
|
|
||||||
{% trans 'Stage Bindings' %}
|
|
||||||
</h1>
|
|
||||||
<p>{% trans "Bind existing Stages to Flows." %}</p>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
<section class="pf-c-page__main-section pf-m-no-padding-mobile">
|
|
||||||
<div class="pf-c-card">
|
|
||||||
{% if object_list %}
|
|
||||||
<div class="pf-c-toolbar">
|
|
||||||
<div class="pf-c-toolbar__content">
|
|
||||||
<div class="pf-c-toolbar__bulk-select">
|
|
||||||
<ak-modal-button href="{% url 'authentik_admin:stage-binding-create' %}">
|
|
||||||
<ak-spinner-button slot="trigger" class="pf-m-primary">
|
|
||||||
{% trans 'Create' %}
|
|
||||||
</ak-spinner-button>
|
|
||||||
<div slot="modal"></div>
|
|
||||||
</ak-modal-button>
|
|
||||||
<button role="ak-refresh" class="pf-c-button pf-m-primary">
|
|
||||||
{% trans 'Refresh' %}
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
{% include 'partials/pagination.html' %}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<table class="pf-c-table pf-m-compact pf-m-grid-xl" role="grid">
|
|
||||||
<thead>
|
|
||||||
<tr role="row">
|
|
||||||
<th role="columnheader" scope="col">{% trans 'Order' %}</th>
|
|
||||||
<th role="columnheader" scope="col">{% trans 'Name' %}</th>
|
|
||||||
<th role="columnheader" scope="col">{% trans 'Stage Type' %}</th>
|
|
||||||
<th role="cell"></th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody role="rowgroup">
|
|
||||||
{% regroup object_list by target as grouped_bindings %}
|
|
||||||
{% for flow in grouped_bindings %}
|
|
||||||
<tr role="role">
|
|
||||||
<td>
|
|
||||||
{% blocktrans with slug=flow.grouper.slug %}
|
|
||||||
Flow {{ slug }}
|
|
||||||
{% endblocktrans %}
|
|
||||||
</td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
<td></td>
|
|
||||||
</tr>
|
|
||||||
{% for binding in flow.list %}
|
|
||||||
<tr class="pf-c-table__expandable-row pf-m-expanded" role="row">
|
|
||||||
<td role="cell">
|
|
||||||
<span>
|
|
||||||
{{ binding.order }}
|
|
||||||
</span>
|
|
||||||
</td>
|
|
||||||
<th role="columnheader">
|
|
||||||
<div>
|
|
||||||
<div>{{ binding.target.slug }}</div>
|
|
||||||
<small>
|
|
||||||
{{ binding.target.name }}
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
</th>
|
|
||||||
<td role="cell">
|
|
||||||
<div>
|
|
||||||
<div>
|
|
||||||
{{ binding.stage.name }}
|
|
||||||
</div>
|
|
||||||
<small>
|
|
||||||
{{ binding.stage }}
|
|
||||||
</small>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<ak-modal-button href="{% url 'authentik_admin:stage-binding-update' pk=binding.pk %}">
|
|
||||||
<ak-spinner-button slot="trigger" class="pf-m-secondary">
|
|
||||||
{% trans 'Update' %}
|
|
||||||
</ak-spinner-button>
|
|
||||||
<div slot="modal"></div>
|
|
||||||
</ak-modal-button>
|
|
||||||
<ak-modal-button href="{% url 'authentik_admin:stage-binding-delete' pk=binding.pk %}">
|
|
||||||
<ak-spinner-button slot="trigger" class="pf-m-danger">
|
|
||||||
{% trans 'Delete' %}
|
|
||||||
</ak-spinner-button>
|
|
||||||
<div slot="modal"></div>
|
|
||||||
</ak-modal-button>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
{% endfor %}
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<div class="pf-c-pagination pf-m-bottom">
|
|
||||||
{% include 'partials/pagination.html' %}
|
|
||||||
</div>
|
|
||||||
{% else %}
|
|
||||||
<div class="pf-c-empty-state">
|
|
||||||
<div class="pf-c-empty-state__content">
|
|
||||||
<i class="fas fa-cubes pf-c-empty-state__icon" aria-hidden="true"></i>
|
|
||||||
<h1 class="pf-c-title pf-m-lg">
|
|
||||||
{% trans 'No Flow-Stage Bindings.' %}
|
|
||||||
</h1>
|
|
||||||
<div class="pf-c-empty-state__body">
|
|
||||||
{% trans 'Currently no flow-stage bindings exist. Click the button below to create one.' %}
|
|
||||||
</div>
|
|
||||||
<ak-modal-button href="{% url 'authentik_admin:stage-binding-create' %}">
|
|
||||||
<ak-spinner-button slot="trigger" class="pf-m-primary">
|
|
||||||
{% trans 'Create' %}
|
|
||||||
</ak-spinner-button>
|
|
||||||
<div slot="modal"></div>
|
|
||||||
</ak-modal-button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
{% endblock %}
|
|
|
@ -145,11 +145,6 @@ urlpatterns = [
|
||||||
name="stage-delete",
|
name="stage-delete",
|
||||||
),
|
),
|
||||||
# Stage bindings
|
# Stage bindings
|
||||||
path(
|
|
||||||
"stages/bindings/",
|
|
||||||
stages_bindings.StageBindingListView.as_view(),
|
|
||||||
name="stage-bindings",
|
|
||||||
),
|
|
||||||
path(
|
path(
|
||||||
"stages/bindings/create/",
|
"stages/bindings/create/",
|
||||||
stages_bindings.StageBindingCreateView.as_view(),
|
stages_bindings.StageBindingCreateView.as_view(),
|
||||||
|
|
|
@ -7,32 +7,19 @@ from django.contrib.auth.mixins import (
|
||||||
)
|
)
|
||||||
from django.contrib.messages.views import SuccessMessageMixin
|
from django.contrib.messages.views import SuccessMessageMixin
|
||||||
from django.db.models import Max
|
from django.db.models import Max
|
||||||
from django.urls import reverse_lazy
|
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
from django.views.generic import ListView, UpdateView
|
from django.views.generic import UpdateView
|
||||||
from guardian.mixins import PermissionListMixin, PermissionRequiredMixin
|
from guardian.mixins import PermissionRequiredMixin
|
||||||
|
|
||||||
from authentik.admin.views.utils import (
|
from authentik.admin.views.utils import (
|
||||||
BackSuccessUrlMixin,
|
BackSuccessUrlMixin,
|
||||||
DeleteMessageView,
|
DeleteMessageView,
|
||||||
UserPaginateListMixin,
|
|
||||||
)
|
)
|
||||||
from authentik.flows.forms import FlowStageBindingForm
|
from authentik.flows.forms import FlowStageBindingForm
|
||||||
from authentik.flows.models import Flow, FlowStageBinding
|
from authentik.flows.models import Flow, FlowStageBinding
|
||||||
from authentik.lib.views import CreateAssignPermView
|
from authentik.lib.views import CreateAssignPermView
|
||||||
|
|
||||||
|
|
||||||
class StageBindingListView(
|
|
||||||
LoginRequiredMixin, PermissionListMixin, UserPaginateListMixin, ListView
|
|
||||||
):
|
|
||||||
"""Show list of all flows"""
|
|
||||||
|
|
||||||
model = FlowStageBinding
|
|
||||||
permission_required = "authentik_flows.view_flowstagebinding"
|
|
||||||
ordering = ["target", "order"]
|
|
||||||
template_name = "administration/stage_binding/list.html"
|
|
||||||
|
|
||||||
|
|
||||||
class StageBindingCreateView(
|
class StageBindingCreateView(
|
||||||
SuccessMessageMixin,
|
SuccessMessageMixin,
|
||||||
BackSuccessUrlMixin,
|
BackSuccessUrlMixin,
|
||||||
|
@ -47,7 +34,7 @@ class StageBindingCreateView(
|
||||||
form_class = FlowStageBindingForm
|
form_class = FlowStageBindingForm
|
||||||
|
|
||||||
template_name = "generic/create.html"
|
template_name = "generic/create.html"
|
||||||
success_url = reverse_lazy("authentik_admin:stage-bindings")
|
success_url = "/"
|
||||||
success_message = _("Successfully created StageBinding")
|
success_message = _("Successfully created StageBinding")
|
||||||
|
|
||||||
def get_initial(self) -> dict[str, Any]:
|
def get_initial(self) -> dict[str, Any]:
|
||||||
|
@ -79,7 +66,7 @@ class StageBindingUpdateView(
|
||||||
form_class = FlowStageBindingForm
|
form_class = FlowStageBindingForm
|
||||||
|
|
||||||
template_name = "generic/update.html"
|
template_name = "generic/update.html"
|
||||||
success_url = reverse_lazy("authentik_admin:stage-bindings")
|
success_url = "/"
|
||||||
success_message = _("Successfully updated StageBinding")
|
success_message = _("Successfully updated StageBinding")
|
||||||
|
|
||||||
|
|
||||||
|
@ -92,5 +79,5 @@ class StageBindingDeleteView(
|
||||||
permission_required = "authentik_flows.delete_flowstagebinding"
|
permission_required = "authentik_flows.delete_flowstagebinding"
|
||||||
|
|
||||||
template_name = "generic/delete.html"
|
template_name = "generic/delete.html"
|
||||||
success_url = reverse_lazy("authentik_admin:stage-bindings")
|
success_url = "/"
|
||||||
success_message = _("Successfully deleted FlowStageBinding")
|
success_message = _("Successfully deleted FlowStageBinding")
|
||||||
|
|
Reference in New Issue