Commit 7c8fc6829f5de072825e1438a15a29c33cff3e67
1 parent
77d33269
Exists in
master
and in
5 other branches
Adding direct access to each settings tab through menu
Showing
4 changed files
with
31 additions
and
25 deletions
Show diff stats
app/templates/admin_settings.html
@@ -17,32 +17,34 @@ | @@ -17,32 +17,34 @@ | ||
17 | </div> | 17 | </div> |
18 | {% endfor %} | 18 | {% endfor %} |
19 | <!-- Nav tabs --> | 19 | <!-- Nav tabs --> |
20 | + | ||
20 | <ul class="nav nav-tabs md-pills pills-ins" role="tablist"> | 21 | <ul class="nav nav-tabs md-pills pills-ins" role="tablist"> |
22 | + {% if form.safe_conection.errors or form.host.errors or form.default_from_email.errors %} | ||
23 | + <li class="nav-item"> | ||
24 | + <a class="nav-link {% if page == 'system' %}active{% endif %}" data-toggle="tab" href="#system" role="tab"><i class="fa fa-cog"></i> {% trans "System" %}</a> | ||
25 | + </li> | ||
26 | + <li class="nav-item"> | ||
27 | + <a class="nav-link {% if page == 'mail_sender' %}active{% endif %}" data-toggle="tab" href="#mail_sender" role="tab"><i class="fa fa-envelope"></i> {% trans "Mail Sender" %}</a> | ||
28 | + </li> | ||
29 | + {% else %} | ||
30 | + <li class="nav-item"> | ||
31 | + <a class="nav-link {% if page == 'system' %}active{% endif %}" data-toggle="tab" href="#system" role="tab"><i class="fa fa-cog"></i> {% trans "System" %}</a> | ||
32 | + <li class="nav-item"> | ||
33 | + <a class="nav-link {% if page == 'mail_sender' %}active{% endif %}" data-toggle="tab" href="#mail_sender" role="tab"><i class="fa fa-envelope"></i> {% trans "Mail Sender" %}</a> | ||
34 | + </li> | ||
35 | + {% endif %} | ||
21 | <li class="nav-item"> | 36 | <li class="nav-item"> |
22 | - {% if form.safe_conection.errors or form.host.errors or form.default_from_email.errors %} | ||
23 | - <a class="nav-link" data-toggle="tab" href="#panel1" role="tab"><i class="fa fa-cog"></i> {% trans "System" %}</a> | ||
24 | - </li> | ||
25 | - <li class="nav-item"> | ||
26 | - <a class="nav-link active" data-toggle="tab" href="#panel2" role="tab"><i class="fa fa-envelope"></i> {% trans "Mail Sender" %}</a> | 37 | + <a class="nav-link {% if page == 'security' %}active{% endif %}" data-toggle="tab" href="#security" role="tab"><i class="fa fa-lock"></i> {% trans "Security" %}</a> |
27 | </li> | 38 | </li> |
28 | - {% else %} | ||
29 | - <a class="nav-link active" data-toggle="tab" href="#panel1" role="tab"><i class="fa fa-cog"></i> {% trans "System" %}</a> | ||
30 | -<li class="nav-item"> | ||
31 | - <a class="nav-link" data-toggle="tab" href="#panel2" role="tab"><i class="fa fa-envelope"></i> {% trans "Mail Sender" %}</a> | ||
32 | -</li> | ||
33 | -{% endif %} | ||
34 | -<li class="nav-item"> | ||
35 | - <a class="nav-link" data-toggle="tab" href="#panel3" role="tab"><i class="fa fa-lock"></i> {% trans "Security" %}</a> | ||
36 | -</li> | ||
37 | </ul> | 39 | </ul> |
38 | 40 | ||
39 | <!-- Tab panels --> | 41 | <!-- Tab panels --> |
40 | <div class="tab-content"> | 42 | <div class="tab-content"> |
41 | <!--Panel 1--> | 43 | <!--Panel 1--> |
42 | {% if form.errors %} | 44 | {% if form.errors %} |
43 | - <div class="tab-pane fade" id="panel1" role="tabpanel"> | 45 | + <div class="tab-pane fade" id="system" role="tabpanel"> |
44 | {% else %} | 46 | {% else %} |
45 | - <div class="tab-pane fade in active" id="panel1" role="tabpanel"> | 47 | + <div class="tab-pane fade {% if page == 'system' %}in active{% endif %}" id="system" role="tabpanel"> |
46 | {% endif %} | 48 | {% endif %} |
47 | <div class="panel panel-default"> | 49 | <div class="panel panel-default"> |
48 | <div class="panel-body"> | 50 | <div class="panel-body"> |
@@ -60,10 +62,10 @@ | @@ -60,10 +62,10 @@ | ||
60 | 62 | ||
61 | <!--Panel 2--> | 63 | <!--Panel 2--> |
62 | {% if form.errors %} | 64 | {% if form.errors %} |
63 | - <div class="tab-pane fade in active" id="panel2" role="tabpanel"> | 65 | + <div class="tab-pane fade in active" id="mail_sender" role="tabpanel"> |
64 | {% else %} | 66 | {% else %} |
65 | - <div class="tab-pane fade" id="panel2" role="tabpanel"> | ||
66 | - {% endif %} | 67 | + <div class="tab-pane fade {% if page == 'mail_sender' %}in active{% endif %}" id="mail_sender" role="tabpanel"> |
68 | + {% endif %} | ||
67 | <div class="panel panel-default"> | 69 | <div class="panel panel-default"> |
68 | <form class="form-horizontal" method="post"> | 70 | <form class="form-horizontal" method="post"> |
69 | {% csrf_token %} | 71 | {% csrf_token %} |
@@ -252,7 +254,7 @@ | @@ -252,7 +254,7 @@ | ||
252 | <!--/.Panel 2--> | 254 | <!--/.Panel 2--> |
253 | 255 | ||
254 | <!--Panel 3--> | 256 | <!--Panel 3--> |
255 | - <div class="tab-pane fade" id="panel3" role="tabpanel"> | 257 | + <div class="tab-pane fade {% if page == 'security' %}in active{% endif %}" id="security" role="tabpanel"> |
256 | <div class="panel panel-default"> | 258 | <div class="panel panel-default"> |
257 | <div class="panel-body"> | 259 | <div class="panel-body"> |
258 | <div class="togglebutton"> | 260 | <div class="togglebutton"> |
app/templates/home.html
@@ -110,9 +110,9 @@ | @@ -110,9 +110,9 @@ | ||
110 | <a href="#menu_settings" class="accordion" data-toggle="collapse">{% trans 'Settings' %}<span class="pull-right glyphicon glyphicon-chevron-down"></span></a> | 110 | <a href="#menu_settings" class="accordion" data-toggle="collapse">{% trans 'Settings' %}<span class="pull-right glyphicon glyphicon-chevron-down"></span></a> |
111 | <div id="menu_settings" class="collapse"> | 111 | <div id="menu_settings" class="collapse"> |
112 | <ul class="nav nav-pill nav-stacked accordion_list"> | 112 | <ul class="nav nav-pill nav-stacked accordion_list"> |
113 | - <li> <a href="{% url 'app:settings' %}">{% trans "System" %}</a></li> | ||
114 | - <li> <a href="{% url 'app:settings' %}">{% trans "Mail Sender" %}</a></li> | ||
115 | - <li> <a href="{% url 'app:settings' %}">{% trans "Security" %}</a></li> | 113 | + <li> <a href="{% url 'app:settings' page='system' %}">{% trans "System" %}</a></li> |
114 | + <li> <a href="{% url 'app:settings' page='mail_sender' %}">{% trans "Mail Sender" %}</a></li> | ||
115 | + <li> <a href="{% url 'app:settings' page='security' %}">{% trans "Security" %}</a></li> | ||
116 | </ul> | 116 | </ul> |
117 | </div> | 117 | </div> |
118 | </li> | 118 | </li> |
app/urls.py
@@ -4,5 +4,5 @@ from . import views | @@ -4,5 +4,5 @@ from . import views | ||
4 | 4 | ||
5 | urlpatterns = [ | 5 | urlpatterns = [ |
6 | url(r'^$', views.AppIndex.as_view(), name='index'), | 6 | url(r'^$', views.AppIndex.as_view(), name='index'), |
7 | - url(r'^settings/$', views.AmadeusSettings.as_view(), name='settings'), | 7 | + url(r'^settings/(?P<page>[\w_-]+)/$', views.AmadeusSettings.as_view(), name='settings'), |
8 | ] | 8 | ] |
app/views.py
@@ -51,7 +51,10 @@ class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): | @@ -51,7 +51,10 @@ class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): | ||
51 | model = EmailBackend | 51 | model = EmailBackend |
52 | template_name = 'admin_settings.html' | 52 | template_name = 'admin_settings.html' |
53 | form_class = EmailBackendForm | 53 | form_class = EmailBackendForm |
54 | - success_url = reverse_lazy('app:settings') | 54 | + #success_url = reverse_lazy('app:settings') |
55 | + | ||
56 | + def get_success_url(self): | ||
57 | + return reverse_lazy('app:settings', kwargs = {'page': self.kwargs['page']}) | ||
55 | 58 | ||
56 | def form_invalid(self, form): | 59 | def form_invalid(self, form): |
57 | return self.render_to_response(self.get_context_data(form=form)) | 60 | return self.render_to_response(self.get_context_data(form=form)) |
@@ -75,6 +78,7 @@ class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): | @@ -75,6 +78,7 @@ class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): | ||
75 | 78 | ||
76 | def get_context_data(self, **kwargs): | 79 | def get_context_data(self, **kwargs): |
77 | context = super(AmadeusSettings, self).get_context_data(**kwargs) | 80 | context = super(AmadeusSettings, self).get_context_data(**kwargs) |
81 | + context['page'] = self.kwargs.get('page') | ||
78 | if not self.request.method == 'POST': | 82 | if not self.request.method == 'POST': |
79 | try: | 83 | try: |
80 | setting = EmailBackend.objects.latest('id') | 84 | setting = EmailBackend.objects.latest('id') |