Commit 7c8fc6829f5de072825e1438a15a29c33cff3e67

Authored by Erik Zambom
1 parent 77d33269

Adding direct access to each settings tab through menu

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>
@@ -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 ]
@@ -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')