From 5e22c2ab634d3738427d43c2aab3d51ba3a8d31b Mon Sep 17 00:00:00 2001 From: Ilona Podliashanyk Date: Thu, 9 Jan 2025 13:14:49 +0100 Subject: [PATCH 01/17] Cardify each profile in list view --- src/argus/htmx/static/styles.css | 4 ++++ .../_notificationprofile_buttons.html | 4 +++- .../_notificationprofile_detail.html | 6 ++++-- .../notificationprofile_detail.html | 10 +++++++--- .../notificationprofile/notificationprofile_list.html | 2 +- 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/argus/htmx/static/styles.css b/src/argus/htmx/static/styles.css index ae4a92895..ba9f37606 100644 --- a/src/argus/htmx/static/styles.css +++ b/src/argus/htmx/static/styles.css @@ -4374,6 +4374,10 @@ details.collapse summary::-webkit-details-marker { justify-content: flex-start; } +.justify-end { + justify-content: flex-end; +} + .justify-center { justify-content: center; } diff --git a/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html b/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html index 478b5b256..89fa727b0 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html @@ -1,4 +1,6 @@ -
+
{% if show_view %}

-

{{ object.name|default:object.timeslot.name }}

+
+

{{ object.name|default:object.timeslot.name }}

Active? {{ object.active }}

Timeslot: {{ object.timeslot }}

diff --git a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_detail.html b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_detail.html index 563599800..814e5c18c 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_detail.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_detail.html @@ -1,6 +1,10 @@ {% extends "./base.html" %} {% block profile_main %} - {% with show_buttons=True %} - {% include "./_notificationprofile_detail.html" %} - {% endwith %} +
+ {% with show_buttons=True %} + {% include "./_notificationprofile_detail.html" %} + {% endwith %} +
{% endblock profile_main %} diff --git a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html index e9c32e361..ed607c691 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html @@ -6,7 +6,7 @@ href="{% url "htmx:notificationprofile-create" %}">Create

{% for object in object_list %} -
{% include "./_notificationprofile_detail.html" with show_view=True %}
+
{% include "./_notificationprofile_detail.html" with show_view=True %}
{% endfor %}
{% endblock profile_main %} From d256887eb7a7e18813e26213df3a66aaa30365e7 Mon Sep 17 00:00:00 2001 From: Johanna England Date: Thu, 9 Jan 2025 13:14:52 +0100 Subject: [PATCH 02/17] Center content of profiles page --- src/argus/htmx/templates/htmx/notificationprofile/base.html | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/argus/htmx/templates/htmx/notificationprofile/base.html b/src/argus/htmx/templates/htmx/notificationprofile/base.html index c542f25e0..e0f88c53f 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/base.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/base.html @@ -1,5 +1,7 @@ {% extends "htmx/base.html" %} {% block main %} - {% block profile_main %} - {% endblock profile_main %} +
+ {% block profile_main %} + {% endblock profile_main %} +
{% endblock main %} From 3e0ffad10802868e9067a718d0db02452195d720 Mon Sep 17 00:00:00 2001 From: Morten Brekkevold Date: Thu, 9 Jan 2025 12:15:26 +0000 Subject: [PATCH 03/17] Use `button` rather than `p` for buttons Fixes #1092 --- .../_notificationprofile_buttons.html | 12 ++++++------ .../notificationprofile_list.html | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html b/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html index 89fa727b0..bac848b47 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html @@ -2,17 +2,17 @@ class="card-actions justify-end" > {% if show_view %} -

+ {% endif %} -

+ +

diff --git a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html index ed607c691..0cb60a3ac 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html @@ -1,10 +1,10 @@ {% extends "./base.html" %} {% block profile_main %} -
-

+

+ {% for object in object_list %}
{% include "./_notificationprofile_detail.html" with show_view=True %}
{% endfor %} From 05a4b62e14d1f263ab1635189a805fd21d82965b Mon Sep 17 00:00:00 2001 From: Ilona Podliashanyk Date: Thu, 9 Jan 2025 13:28:21 +0100 Subject: [PATCH 04/17] Add gap between profiles in list view --- src/argus/htmx/static/styles.css | 4 ++++ .../htmx/notificationprofile/notificationprofile_list.html | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/argus/htmx/static/styles.css b/src/argus/htmx/static/styles.css index ba9f37606..e2c7d0164 100644 --- a/src/argus/htmx/static/styles.css +++ b/src/argus/htmx/static/styles.css @@ -4164,6 +4164,10 @@ details.collapse summary::-webkit-details-marker { margin-left: -0.5rem; } +.mb-2 { + margin-bottom: 0.5rem; +} + .mb-auto { margin-bottom: auto; } diff --git a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html index 0cb60a3ac..26e92a5de 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html @@ -6,7 +6,7 @@ href="{% url "htmx:notificationprofile-create" %}">Create {% for object in object_list %} -
{% include "./_notificationprofile_detail.html" with show_view=True %}
+
{% include "./_notificationprofile_detail.html" with show_view=True %}
{% endfor %}
{% endblock profile_main %} From 9e6f6c7d80560702468e12185aa27b38336b7cf5 Mon Sep 17 00:00:00 2001 From: Simon Oliver Tveit Date: Thu, 9 Jan 2025 13:46:40 +0100 Subject: [PATCH 05/17] Add styling to "Active" checkbox --- src/argus/htmx/notificationprofile/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/argus/htmx/notificationprofile/views.py b/src/argus/htmx/notificationprofile/views.py index 6662458d0..d78f78816 100644 --- a/src/argus/htmx/notificationprofile/views.py +++ b/src/argus/htmx/notificationprofile/views.py @@ -22,6 +22,7 @@ def __init__(self, *args, **kwargs): self.fields["timeslot"].queryset = Timeslot.objects.filter(user=user) self.fields["filters"].queryset = Filter.objects.filter(user=user) self.fields["destinations"].queryset = DestinationConfig.objects.filter(user=user) + self.fields["active"].widget.attrs["class"] = "checkbox checkbox-sm checkbox-accent border" class NotificationProfileMixin: From 2f2949ba3fda5866ab1edf485f79d0bd21f1c00a Mon Sep 17 00:00:00 2001 From: Ilona Podliashanyk Date: Thu, 9 Jan 2025 13:49:19 +0100 Subject: [PATCH 06/17] Polish profile card styles --- src/argus/htmx/static/styles.css | 10 ++++++++++ .../notificationprofile/notificationprofile_list.html | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/argus/htmx/static/styles.css b/src/argus/htmx/static/styles.css index e2c7d0164..d9456696d 100644 --- a/src/argus/htmx/static/styles.css +++ b/src/argus/htmx/static/styles.css @@ -4196,6 +4196,10 @@ details.collapse summary::-webkit-details-marker { display: table; } +.contents { + display: contents; +} + .hidden { display: none; } @@ -4653,6 +4657,12 @@ details.collapse summary::-webkit-details-marker { box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); } +.shadow-2xl { + --tw-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.25); + --tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} + .shadow-xl { --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1); --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color); diff --git a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html index 26e92a5de..63c8d07d1 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html @@ -6,7 +6,7 @@ href="{% url "htmx:notificationprofile-create" %}">Create {% for object in object_list %} -
{% include "./_notificationprofile_detail.html" with show_view=True %}
+
{% include "./_notificationprofile_detail.html" with show_view=True %}
{% endfor %}
{% endblock profile_main %} From fef114f22d4d93dea3d0c53440ff632f86007760 Mon Sep 17 00:00:00 2001 From: Simon Oliver Tveit Date: Thu, 9 Jan 2025 13:53:14 +0100 Subject: [PATCH 07/17] Add styling to timeslot dropdown --- src/argus/htmx/notificationprofile/views.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/argus/htmx/notificationprofile/views.py b/src/argus/htmx/notificationprofile/views.py index d78f78816..2a2c1a9b7 100644 --- a/src/argus/htmx/notificationprofile/views.py +++ b/src/argus/htmx/notificationprofile/views.py @@ -15,6 +15,9 @@ class NotificationProfileForm(forms.ModelForm): class Meta: model = NotificationProfile fields = ["name", "timeslot", "filters", "active", "destinations"] + widgets = { + "timeslot": forms.Select(attrs={"class": "select input-bordered w-full max-w-xs"}), + } def __init__(self, *args, **kwargs): user = kwargs.pop("user") From db8a53d801fb99793c7015b7343453eaaa10f326 Mon Sep 17 00:00:00 2001 From: Johanna England Date: Thu, 9 Jan 2025 13:55:19 +0100 Subject: [PATCH 08/17] Change text in create button for profile --- .../htmx/notificationprofile/notificationprofile_list.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html index 63c8d07d1..4956fc359 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html @@ -3,7 +3,7 @@
{% for object in object_list %}
{% include "./_notificationprofile_detail.html" with show_view=True %}
From 2a1e9907741d93769bccd731afcc64943e35cfef Mon Sep 17 00:00:00 2001 From: Ilona Podliashanyk Date: Thu, 9 Jan 2025 14:07:12 +0100 Subject: [PATCH 09/17] Increase gap between profiles in list view --- src/argus/htmx/static/styles.css | 9 +++++---- .../notificationprofile/notificationprofile_list.html | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/argus/htmx/static/styles.css b/src/argus/htmx/static/styles.css index d9456696d..9f62bf1dd 100644 --- a/src/argus/htmx/static/styles.css +++ b/src/argus/htmx/static/styles.css @@ -4160,12 +4160,13 @@ details.collapse summary::-webkit-details-marker { margin-bottom: 0.25rem; } -.-ml-2 { - margin-left: -0.5rem; +.my-4 { + margin-top: 1rem; + margin-bottom: 1rem; } -.mb-2 { - margin-bottom: 0.5rem; +.-ml-2 { + margin-left: -0.5rem; } .mb-auto { diff --git a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html index 4956fc359..2a685d0b8 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_list.html @@ -6,7 +6,7 @@ href="{% url "htmx:notificationprofile-create" %}">Create new profile {% for object in object_list %} -
{% include "./_notificationprofile_detail.html" with show_view=True %}
+
{% include "./_notificationprofile_detail.html" with show_view=True %}
{% endfor %}
{% endblock profile_main %} From db5003cf0455ed4f5a38dc670c4d6b4a1cc8fd4a Mon Sep 17 00:00:00 2001 From: Johanna England Date: Thu, 9 Jan 2025 14:28:11 +0100 Subject: [PATCH 10/17] Add header for profile page --- src/argus/htmx/static/styles.css | 12 ++++++++---- .../templates/htmx/notificationprofile/base.html | 1 + 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/argus/htmx/static/styles.css b/src/argus/htmx/static/styles.css index 9f62bf1dd..a9b3e5010 100644 --- a/src/argus/htmx/static/styles.css +++ b/src/argus/htmx/static/styles.css @@ -4197,10 +4197,6 @@ details.collapse summary::-webkit-details-marker { display: table; } -.contents { - display: contents; -} - .hidden { display: none; } @@ -4557,6 +4553,10 @@ details.collapse summary::-webkit-details-marker { padding-bottom: 0.5rem; } +.text-center { + text-align: center; +} + .text-start { text-align: start; } @@ -4589,6 +4589,10 @@ details.collapse summary::-webkit-details-marker { font-weight: 500; } +.font-semibold { + font-weight: 600; +} + .capitalize { text-transform: capitalize; } diff --git a/src/argus/htmx/templates/htmx/notificationprofile/base.html b/src/argus/htmx/templates/htmx/notificationprofile/base.html index e0f88c53f..c4ca8316e 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/base.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/base.html @@ -1,5 +1,6 @@ {% extends "htmx/base.html" %} {% block main %} +

Profiles

{% block profile_main %} {% endblock profile_main %} From c53181a00bc5ad6024163d1534d4fedd603088c1 Mon Sep 17 00:00:00 2001 From: Hanne Moa Date: Fri, 10 Jan 2025 12:57:38 +0100 Subject: [PATCH 11/17] Display form on a line --- .../htmx/notificationprofile/notificationprofile_form.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_form.html b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_form.html index fd6476f92..0bee3ef98 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_form.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_form.html @@ -1,6 +1,6 @@ {% extends "./base.html" %} {% block profile_main %} -
+ {% csrf_token %} {{ form.as_div }} From 6a1eb6b2ddcacc20eb5dbc893001d175411a85c3 Mon Sep 17 00:00:00 2001 From: Hanne Moa Date: Fri, 10 Jan 2025 14:19:50 +0100 Subject: [PATCH 12/17] Polish name field in form --- src/argus/htmx/notificationprofile/views.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/argus/htmx/notificationprofile/views.py b/src/argus/htmx/notificationprofile/views.py index 2a2c1a9b7..590ebc1b0 100644 --- a/src/argus/htmx/notificationprofile/views.py +++ b/src/argus/htmx/notificationprofile/views.py @@ -26,6 +26,7 @@ def __init__(self, *args, **kwargs): self.fields["filters"].queryset = Filter.objects.filter(user=user) self.fields["destinations"].queryset = DestinationConfig.objects.filter(user=user) self.fields["active"].widget.attrs["class"] = "checkbox checkbox-sm checkbox-accent border" + self.fields["name"].widget.attrs["class"] = "input input-bordered" class NotificationProfileMixin: From ec31d4827631d180b65c6daf1c24a226d4c7289e Mon Sep 17 00:00:00 2001 From: Hanne Moa Date: Fri, 10 Jan 2025 14:42:09 +0100 Subject: [PATCH 13/17] Display form instead of text details --- src/argus/htmx/notificationprofile/views.py | 14 ++++++++++++-- .../_notificationprofile_buttons.html | 15 ++------------- .../_notificationprofile_detail.html | 18 ------------------ .../_notificationprofile_form.html | 9 +++++++++ .../notificationprofile_detail.html | 10 ---------- .../notificationprofile_form.html | 8 +++----- .../notificationprofile_list.html | 4 ++-- 7 files changed, 28 insertions(+), 50 deletions(-) delete mode 100644 src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_detail.html create mode 100644 src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_form.html delete mode 100644 src/argus/htmx/templates/htmx/notificationprofile/notificationprofile_detail.html diff --git a/src/argus/htmx/notificationprofile/views.py b/src/argus/htmx/notificationprofile/views.py index 590ebc1b0..50b31c772 100644 --- a/src/argus/htmx/notificationprofile/views.py +++ b/src/argus/htmx/notificationprofile/views.py @@ -5,6 +5,7 @@ """ from django import forms +from django.shortcuts import redirect from django.urls import reverse from django.views.generic import CreateView, DeleteView, DetailView, ListView, UpdateView @@ -83,11 +84,20 @@ def form_valid(self, form): class NotificationProfileListView(NotificationProfileMixin, ListView): - pass + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + forms = [] + for obj in self.get_queryset(): + form = NotificationProfileForm(None, user=self.request.user, instance=obj) + forms.append(form) + context["form_list"] = forms + return context class NotificationProfileDetailView(NotificationProfileMixin, DetailView): - pass + def dispatch(self, request, *args, **kwargs): + object = self.get_object() + return redirect("htmx:notificationprofile-update", pk=object.pk) class NotificationProfileCreateView(ChangeMixin, NotificationProfileMixin, CreateView): diff --git a/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html b/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html index bac848b47..b6f31815a 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html @@ -1,16 +1,5 @@ -
- {% if show_view %} - - {% endif %} - +
+ - {% for object in object_list %} -
{% include "./_notificationprofile_detail.html" with show_view=True %}
+ {% for form in form_list %} +
{% include "./_notificationprofile_form.html" %}
{% endfor %}
{% endblock profile_main %} From 4a85c42e62c4d6db261b93afdbd707011b3e2a2e Mon Sep 17 00:00:00 2001 From: Hanne Moa Date: Mon, 13 Jan 2025 11:40:02 +0100 Subject: [PATCH 14/17] Fix removal of placeholder text --- src/argus/htmx/widgets.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/argus/htmx/widgets.py b/src/argus/htmx/widgets.py index a33abf51c..e038995fe 100644 --- a/src/argus/htmx/widgets.py +++ b/src/argus/htmx/widgets.py @@ -22,6 +22,19 @@ class DropdownMultiSelect(ExtraWidgetMixin, forms.CheckboxSelectMultiple): template_name = "htmx/forms/dropdown_select_multiple.html" option_template_name = "htmx/forms/checkbox_select_multiple.html" + def get_context(self, name, value, attrs): + context = super().get_context(name, value, attrs) + widget_value = context["widget"]["value"] + context["widget"]["has_selected"] = self.has_selected(name, widget_value, attrs) + return context + + def has_selected(self, name, value, attrs): + for _, options, _ in self.optgroups(name, value, attrs): + for option in options: + if option.get("selected", False): + return option.get("selected", False) + return False + class BadgeDropdownMultiSelect(DropdownMultiSelect): template_name = "htmx/forms/badge_dropdown_select_multiple.html" From 712647e1df82013b64248dda1f776d33b2809a19 Mon Sep 17 00:00:00 2001 From: Hanne Moa Date: Mon, 13 Jan 2025 11:56:04 +0100 Subject: [PATCH 15/17] Remove colons from labels --- src/argus/htmx/notificationprofile/views.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/argus/htmx/notificationprofile/views.py b/src/argus/htmx/notificationprofile/views.py index 50b31c772..9d8f0c98f 100644 --- a/src/argus/htmx/notificationprofile/views.py +++ b/src/argus/htmx/notificationprofile/views.py @@ -12,7 +12,13 @@ from argus.notificationprofile.models import NotificationProfile, Timeslot, Filter, DestinationConfig -class NotificationProfileForm(forms.ModelForm): +class NoColonMixin: + def __init__(self, *args, **kwargs): + kwargs.setdefault("label_suffix", "") + super().__init__(*args, **kwargs) + + +class NotificationProfileForm(NoColonMixin, forms.ModelForm): class Meta: model = NotificationProfile fields = ["name", "timeslot", "filters", "active", "destinations"] From 8aa78fcf58cb87785b23b905f7f6ba88f8a0f93a Mon Sep 17 00:00:00 2001 From: Hanne Moa Date: Tue, 14 Jan 2025 10:01:06 +0100 Subject: [PATCH 16/17] Remove helper borders --- .../htmx/notificationprofile/_notificationprofile_buttons.html | 2 +- src/argus/htmx/templates/htmx/notificationprofile/base.html | 2 +- .../htmx/notificationprofile/notificationprofile_list.html | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html b/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html index b6f31815a..3c3208622 100644 --- a/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html +++ b/src/argus/htmx/templates/htmx/notificationprofile/_notificationprofile_buttons.html @@ -1,4 +1,4 @@ -
+