From 7c8fc6829f5de072825e1438a15a29c33cff3e67 Mon Sep 17 00:00:00 2001 From: Erik Zambom Date: Mon, 21 Nov 2016 23:17:30 -0300 Subject: [PATCH] Adding direct access to each settings tab through menu --- app/templates/admin_settings.html | 42 ++++++++++++++++++++++-------------------- app/templates/home.html | 6 +++--- app/urls.py | 2 +- app/views.py | 6 +++++- 4 files changed, 31 insertions(+), 25 deletions(-) diff --git a/app/templates/admin_settings.html b/app/templates/admin_settings.html index 6a52c90..67beb6c 100644 --- a/app/templates/admin_settings.html +++ b/app/templates/admin_settings.html @@ -17,32 +17,34 @@ {% endfor %} +
{% if form.errors %} -
+
{% else %} -
+
{% endif %}
@@ -60,10 +62,10 @@ {% if form.errors %} -
+
{% else %} -
- {% endif %} +
+ {% endif %}
{% csrf_token %} @@ -252,7 +254,7 @@ -
+
diff --git a/app/templates/home.html b/app/templates/home.html index 0325e2b..1925ca1 100644 --- a/app/templates/home.html +++ b/app/templates/home.html @@ -110,9 +110,9 @@ {% trans 'Settings' %} diff --git a/app/urls.py b/app/urls.py index 12e1340..c6b63cf 100644 --- a/app/urls.py +++ b/app/urls.py @@ -4,5 +4,5 @@ from . import views urlpatterns = [ url(r'^$', views.AppIndex.as_view(), name='index'), - url(r'^settings/$', views.AmadeusSettings.as_view(), name='settings'), + url(r'^settings/(?P[\w_-]+)/$', views.AmadeusSettings.as_view(), name='settings'), ] diff --git a/app/views.py b/app/views.py index aae2a10..b1293c3 100644 --- a/app/views.py +++ b/app/views.py @@ -51,7 +51,10 @@ class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): model = EmailBackend template_name = 'admin_settings.html' form_class = EmailBackendForm - success_url = reverse_lazy('app:settings') + #success_url = reverse_lazy('app:settings') + + def get_success_url(self): + return reverse_lazy('app:settings', kwargs = {'page': self.kwargs['page']}) def form_invalid(self, form): return self.render_to_response(self.get_context_data(form=form)) @@ -75,6 +78,7 @@ class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): def get_context_data(self, **kwargs): context = super(AmadeusSettings, self).get_context_data(**kwargs) + context['page'] = self.kwargs.get('page') if not self.request.method == 'POST': try: setting = EmailBackend.objects.latest('id') -- libgit2 0.21.2