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 | 17 | </div> |
18 | 18 | {% endfor %} |
19 | 19 | <!-- Nav tabs --> |
20 | + | |
20 | 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 | 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 | 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 | 39 | </ul> |
38 | 40 | |
39 | 41 | <!-- Tab panels --> |
40 | 42 | <div class="tab-content"> |
41 | 43 | <!--Panel 1--> |
42 | 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 | 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 | 48 | {% endif %} |
47 | 49 | <div class="panel panel-default"> |
48 | 50 | <div class="panel-body"> |
... | ... | @@ -60,10 +62,10 @@ |
60 | 62 | |
61 | 63 | <!--Panel 2--> |
62 | 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 | 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 | 69 | <div class="panel panel-default"> |
68 | 70 | <form class="form-horizontal" method="post"> |
69 | 71 | {% csrf_token %} |
... | ... | @@ -252,7 +254,7 @@ |
252 | 254 | <!--/.Panel 2--> |
253 | 255 | |
254 | 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 | 258 | <div class="panel panel-default"> |
257 | 259 | <div class="panel-body"> |
258 | 260 | <div class="togglebutton"> | ... | ... |
app/templates/home.html
... | ... | @@ -110,9 +110,9 @@ |
110 | 110 | <a href="#menu_settings" class="accordion" data-toggle="collapse">{% trans 'Settings' %}<span class="pull-right glyphicon glyphicon-chevron-down"></span></a> |
111 | 111 | <div id="menu_settings" class="collapse"> |
112 | 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 | 116 | </ul> |
117 | 117 | </div> |
118 | 118 | </li> | ... | ... |
app/urls.py
... | ... | @@ -4,5 +4,5 @@ from . import views |
4 | 4 | |
5 | 5 | urlpatterns = [ |
6 | 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 | 51 | model = EmailBackend |
52 | 52 | template_name = 'admin_settings.html' |
53 | 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 | 59 | def form_invalid(self, form): |
57 | 60 | return self.render_to_response(self.get_context_data(form=form)) |
... | ... | @@ -75,6 +78,7 @@ class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): |
75 | 78 | |
76 | 79 | def get_context_data(self, **kwargs): |
77 | 80 | context = super(AmadeusSettings, self).get_context_data(**kwargs) |
81 | + context['page'] = self.kwargs.get('page') | |
78 | 82 | if not self.request.method == 'POST': |
79 | 83 | try: |
80 | 84 | setting = EmailBackend.objects.latest('id') | ... | ... |