Commit 80c3eb3ed43bb2398c6e153e111405ecbe701ea7

Authored by Jailson Dias
1 parent 4784944b

atualização de campo obrigatorio em settings #373

Showing 2 changed files with 256 additions and 258 deletions   Show diff stats
app/models.py
... ... @@ -3,7 +3,7 @@ from django.utils.translation import ugettext_lazy as _
3 3 # Create your models here.
4 4  
5 5 class EmailBackend(models.Model):
6   -
  6 +
7 7 SAFE_CONECTIONS = (
8 8 (0, _('No')),
9 9 (1, _('TLS, if available')),
... ... @@ -17,7 +17,7 @@ class EmailBackend(models.Model):
17 17 username = models.CharField(_('Email host username'), max_length=30)
18 18 password = models.CharField(_('Email host password'), max_length=30, blank=True)
19 19 safe_conection = models.IntegerField(_('Use safe conection'), choices=SAFE_CONECTIONS, default=0)
20   - default_from_email = models.EmailField(_('Default from email'), blank=True)
  20 + default_from_email = models.EmailField(_('Default from email'))
21 21  
22 22 class Meta:
23 23 verbose_name = _('Amadeus SMTP setting')
... ...
app/templates/admin_settings.html
... ... @@ -3,268 +3,266 @@
3 3 {% load static i18n django_bootstrap_breadcrumbs permission_tags widget_tweaks %}
4 4  
5 5 {% block breadcrumbs %}
6   - {{ block.super }}
7   - {% breadcrumb 'Settings' 'app:settings' %}
  6 +{{ block.super }}
  7 +{% breadcrumb 'Settings' 'app:settings' %}
8 8 {% endblock %}
9 9  
10 10 {% block content %}
11   - {% for message in messages %}
12   - <div class="alert alert-{{ message.tags }} alert-dismissible" role="alert">
13   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
14   - <span aria-hidden="true">&times;</span>
15   - </button>
16   - <p>{{ message }}</p>
17   - </div>
18   - {% endfor %}
19   - <!-- Nav tabs -->
20   - <ul class="nav nav-tabs md-pills pills-ins" role="tablist">
21   - <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>
27   - </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>
31   - <li class="nav-item">
32   - <a class="nav-link" data-toggle="tab" href="#panel2" role="tab"><i class="fa fa-envelope"></i> {% trans "Mail Sender" %}</a>
33   - </li>
34   - {% endif %}
35   - </li>
36   - <li class="nav-item">
37   - <a class="nav-link" data-toggle="tab" href="#panel3" role="tab"><i class="fa fa-lock"></i> {% trans "Security" %}</a>
38   - </li>
39   - </ul>
  11 +{% for message in messages %}
  12 +<div class="alert alert-{{ message.tags }} alert-dismissible" role="alert">
  13 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  14 + <span aria-hidden="true">&times;</span>
  15 + </button>
  16 + <p>{{ message }}</p>
  17 +</div>
  18 +{% endfor %}
  19 +<!-- Nav tabs -->
  20 +<ul class="nav nav-tabs md-pills pills-ins" role="tablist">
  21 + <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>
  27 + </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>
40 38  
41   - <!-- Tab panels -->
42   - <div class="tab-content">
43   - <!--Panel 1-->
  39 +<!-- Tab panels -->
  40 +<div class="tab-content">
  41 + <!--Panel 1-->
44 42 {% if form.errors %}
45   - <div class="tab-pane fade" id="panel1" role="tabpanel">
46   - {% else %}
47   - <div class="tab-pane fade in active" id="panel1" role="tabpanel">
48   - {% endif %}
49   - <div class="panel panel-default">
50   - <div class="panel-body">
51   - <h3><b>{% trans "General" %}</b></h3>
52   - <div class="panel panel-default">
53   - <div class="panel-body">
54   - Content
55   - <hr>
56   - </div>
57   - </div>
58   - </div>
59   - </div>
60   - </div>
61   - <!--/.Panel 1-->
62   -
63   - <!--Panel 2-->
64   - {% if form.errors %}
65   - <div class="tab-pane fade in active" id="panel2" role="tabpanel">
66   - {% else %}
67   - <div class="tab-pane fade" id="panel2" role="tabpanel">
68   - {% endif %}
69   - <div class="panel panel-default">
70   - <form class="form-horizontal" method="post">
71   - {% csrf_token %}
72   - <div class="panel-body">
73   - <h3><b>{% trans "Outgoing Server (SMTP)" %}</b></h3>
74   - <div class="panel panel-default">
75   - <div class="panel-body">
76   - <h4><b>{% trans "Settings" %}</b></b></h4>
77   - <hr>
78   - <div class="form-group label-floating">
79   - {% if form.description.field.required %}
80   - <label class="control-label" for="{{ form.description.auto_id }}">{{ form.description.label }}<span>*</span></label>
81   - {% else %}
82   - <label class="control-label" for="{{ form.description.auto_id }}">{{ form.description.label }}</label>
83   - {% endif %}
84   - {% render_field form.description class='form-control' %}
85   - </div>
86   - {% if form.description.errors %}
87   - <div class="alert alert-danger alert-dismissible clearfix" role="alert">
88   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
89   - <span aria-hidden="true">&times;</span>
90   - </button>
91   - <ul>
92   - {% for error in form.description.errors %}
93   - <li>{{ error }}</li>
94   - {% endfor %}
95   - </ul>
96   - </div>
97   - {% endif %}
98   - <div class="form-group label-floating">
99   - {% if form.host.field.required %}
100   - <label class="control-label" for="{{ form.host.auto_id }}">{{ form.host.label }}<span>*</span></label>
101   - {% else %}
102   - <label class="control-label" for="{{ form.host.auto_id }}">{{ form.host.label }}</label>
103   - {% endif %}
104   - {% render_field form.host class='form-control' %}
105   - </div>
106   - {% if form.host.errors %}
107   - <div class="alert alert-danger alert-dismissible clearfix" role="alert">
108   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
109   - <span aria-hidden="true">&times;</span>
110   - </button>
111   - <ul>
112   - {% for error in form.host.errors %}
113   - <li>{{ error }}</li>
114   - {% endfor %}
115   - </ul>
116   - </div>
117   - {% endif %}
118   - <div class="form-group label-floating">
119   - {% if form.port.field.required %}
120   - <label class="control-label" for="{{ form.port.auto_id }}">{{ form.port.label }}<span>*</span></label>
121   - {% else %}
122   - <label class="control-label" for="{{ form.port.auto_id }}">{{ form.port.label }}</label>
123   - {% endif %}
124   - <div class="col-md-2">
125   - {% render_field form.port class='form-control' onkeypress='campoNumerico(this,event);' %}
126   - </div>
127   - <div>
128   - <label for="number">{% trans "Default:" %}</label> 25
129   - </div>
130   - </div>
131   - {% if form.port.errors %}
132   - <div class="alert alert-danger alert-dismissible clearfix" role="alert">
133   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
134   - <span aria-hidden="true">&times;</span>
135   - </button>
136   - <ul>
137   - {% for error in form.port.errors %}
138   - <li>{{ error }}</li>
139   - {% endfor %}
140   - </ul>
141   - </div>
142   - {% endif %}
143   - </div>
144   - </div>
145   - </div>
146   - <div class="panel-body">
147   - <div class="panel panel-default">
148   - <div class="panel-body">
149   - <h4><b>{% trans "Security and authentication" %}</b></h4>
150   - <hr>
151   - <div class="form-group label-floating">
152   - {% if form.username.field.required %}
153   - <label class="control-label" for="{{ form.username.auto_id }}">{{ form.username.label }}<span>*</span></label>
154   - {% else %}
155   - <label class="control-label" for="{{ form.username.auto_id }}">{{ form.username.label }}</label>
156   - {% endif %}
157   - {% render_field form.username class='form-control' %}
158   - </div>
159   - {% if form.username.errors %}
160   - <div class="alert alert-danger alert-dismissible clearfix" role="alert">
161   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
162   - <span aria-hidden="true">&times;</span>
163   - </button>
164   - <ul>
165   - {% for error in form.username.errors %}
166   - <li>{{ error }}</li>
167   - {% endfor %}
168   - </ul>
169   - </div>
170   - {% endif %}
171   - <div class="form-group label-floating">
172   - {% if form.password.field.required %}
173   - <label class="control-label" for="{{ form.password.auto_id }}">{{ form.password.label }}<span>*</span></label>
174   - {% else %}
175   - <label class="control-label" for="{{ form.password.auto_id }}">{{ form.password.label }}</label>
176   - {% endif %}
177   - {% render_field form.password type='password' class='form-control' %}
178   - </div>
179   - {% if form.password.errors %}
180   - <div class="alert alert-danger alert-dismissible clearfix" role="alert">
181   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
182   - <span aria-hidden="true">&times;</span>
183   - </button>
184   - <ul>
185   - {% for error in form.password.errors %}
186   - <li>{{ error }}</li>
187   - {% endfor %}
188   - </ul>
189   - </div>
190   - {% endif %}
191   - <div class="form-group label-floating">
192   - {% if form.default_from_email.field.required %}
193   - <label class="control-label" for="{{ form.default_from_email.auto_id }}">{{ form.default_from_email.label }}<span>*</span></label>
194   - {% else %}
195   - <label class="control-label" for="{{ form.default_from_email.auto_id }}">{{ form.default_from_email.label }}</label>
196   - {% endif %}
197   - {% render_field form.default_from_email class='form-control' %}
198   - </div>
199   - {% if form.default_from_email.errors %}
200   - <div class="alert alert-danger alert-dismissible clearfix" role="alert">
201   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
202   - <span aria-hidden="true">&times;</span>
203   - </button>
204   - <ul>
205   - {% for error in form.default_from_email.errors %}
206   - <li>{{ error }}</li>
207   - {% endfor %}
208   - </ul>
209   - </div>
210   - {% endif %}
211   - <div class="form-group">
212   - {% if form.safe_conection.fiel.required %}
213   - <p><b>{{ form.safe_conection.label }}<span>*</span></b></p>
214   - {% else %}
215   - <p><b>{{ form.safe_conection.label }}</b></p>
216   - {% endif %}
217   - <div class="col-md-10">
218   - <div class="radio radio-primary">
219   - {% for value, text in form.safe_conection.field.choices %}
220   - <label>
221   - {% if form.safe_conection.value == value %}
222   - <input type="radio" name="safe_conection" id="{{ value }}" value="{{ value }}" checked="">
223   - {{ text }}
224   - {% else %}
225   - <input type="radio" name="safe_conection" id="{{ value }}" value="{{ value }}">
226   - {{ text }}
227   - {% endif %}
228   -
229   - </label>
230   - {% endfor %}
231   - </div>
232   - </div>
233   - </div>
234   - {% if form.safe_conection.errors %}
235   - <div class="alert alert-danger alert-dismissible clearfix" role="alert">
236   - <button type="button" class="close" data-dismiss="alert" aria-label="Close">
237   - <span aria-hidden="true">&times;</span>
238   - </button>
239   - <ul>
240   - {% for error in form.safe_conection.errors %}
241   - <li>{{ error }}</li>
242   - {% endfor %}
243   - </ul>
244   - </div>
245   - {% endif %}
246   - </div>
247   - </div>
248   - <button type="submit" class="btn btn-success btn-raised" name="submit-settings">{% trans "Save changes" %}</button>
249   - </div>
250   - </form>
251   - </div>
  43 + <div class="tab-pane fade" id="panel1" role="tabpanel">
  44 + {% else %}
  45 + <div class="tab-pane fade in active" id="panel1" role="tabpanel">
  46 + {% endif %}
  47 + <div class="panel panel-default">
  48 + <div class="panel-body">
  49 + <h3><b>{% trans "General" %}</b></h3>
  50 + <div class="panel panel-default">
  51 + <div class="panel-body">
  52 + Content
  53 + <hr>
  54 + </div>
  55 + </div>
  56 + </div>
  57 + </div>
252 58 </div>
  59 + <!--/.Panel 1-->
  60 +
  61 + <!--Panel 2-->
  62 + {% if form.errors %}
  63 + <div class="tab-pane fade in active" id="panel2" role="tabpanel">
  64 + {% else %}
  65 + <div class="tab-pane fade" id="panel2" role="tabpanel">
  66 + {% endif %}
  67 + <div class="panel panel-default">
  68 + <form class="form-horizontal" method="post">
  69 + {% csrf_token %}
  70 + <div class="panel-body">
  71 + <h3><b>{% trans "Outgoing Server (SMTP)" %}</b></h3>
  72 + <div class="panel panel-default">
  73 + <div class="panel-body">
  74 + <h4><b>{% trans "Settings" %}</b></b></h4>
  75 + <hr>
  76 + <div class="form-group label-floating">
  77 + {% if form.description.field.required %}
  78 + <label class="control-label" for="{{ form.description.auto_id }}">{{ form.description.label }}<span>*</span></label>
  79 + {% else %}
  80 + <label class="control-label" for="{{ form.description.auto_id }}">{{ form.description.label }}</label>
  81 + {% endif %}
  82 + {% render_field form.description class='form-control' %}
  83 + </div>
  84 + {% if form.description.errors %}
  85 + <div class="alert alert-danger alert-dismissible clearfix" role="alert">
  86 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  87 + <span aria-hidden="true">&times;</span>
  88 + </button>
  89 + <ul>
  90 + {% for error in form.description.errors %}
  91 + <li>{{ error }}</li>
  92 + {% endfor %}
  93 + </ul>
  94 + </div>
  95 + {% endif %}
  96 + <div class="form-group label-floating">
  97 + {% if form.host.field.required %}
  98 + <label class="control-label" for="{{ form.host.auto_id }}">{{ form.host.label }}<span>*</span></label>
  99 + {% else %}
  100 + <label class="control-label" for="{{ form.host.auto_id }}">{{ form.host.label }}</label>
  101 + {% endif %}
  102 + {% render_field form.host class='form-control' %}
  103 + </div>
  104 + {% if form.host.errors %}
  105 + <div class="alert alert-danger alert-dismissible clearfix" role="alert">
  106 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  107 + <span aria-hidden="true">&times;</span>
  108 + </button>
  109 + <ul>
  110 + {% for error in form.host.errors %}
  111 + <li>{{ error }}</li>
  112 + {% endfor %}
  113 + </ul>
  114 + </div>
  115 + {% endif %}
  116 + <div class="form-group label-floating">
  117 + {% if form.port.field.required %}
  118 + <label class="control-label" for="{{ form.port.auto_id }}">{{ form.port.label }}<span>*</span></label>
  119 + {% else %}
  120 + <label class="control-label" for="{{ form.port.auto_id }}">{{ form.port.label }}</label>
  121 + {% endif %}
  122 + <div class="col-md-2">
  123 + {% render_field form.port class='form-control' onkeypress='campoNumerico(this,event);' %}
  124 + </div>
  125 + <div>
  126 + <label for="number">{% trans "Default:" %}</label> 25
  127 + </div>
  128 + </div>
  129 + {% if form.port.errors %}
  130 + <div class="alert alert-danger alert-dismissible clearfix" role="alert">
  131 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  132 + <span aria-hidden="true">&times;</span>
  133 + </button>
  134 + <ul>
  135 + {% for error in form.port.errors %}
  136 + <li>{{ error }}</li>
  137 + {% endfor %}
  138 + </ul>
  139 + </div>
  140 + {% endif %}
  141 + </div>
  142 + </div>
  143 + </div>
  144 + <div class="panel-body">
  145 + <div class="panel panel-default">
  146 + <div class="panel-body">
  147 + <h4><b>{% trans "Security and authentication" %}</b></h4>
  148 + <hr>
  149 + <div class="form-group label-floating">
  150 + {% if form.username.field.required %}
  151 + <label class="control-label" for="{{ form.username.auto_id }}">{{ form.username.label }}<span>*</span></label>
  152 + {% else %}
  153 + <label class="control-label" for="{{ form.username.auto_id }}">{{ form.username.label }}</label>
  154 + {% endif %}
  155 + {% render_field form.username class='form-control' %}
  156 + </div>
  157 + {% if form.username.errors %}
  158 + <div class="alert alert-danger alert-dismissible clearfix" role="alert">
  159 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  160 + <span aria-hidden="true">&times;</span>
  161 + </button>
  162 + <ul>
  163 + {% for error in form.username.errors %}
  164 + <li>{{ error }}</li>
  165 + {% endfor %}
  166 + </ul>
  167 + </div>
  168 + {% endif %}
  169 + <div class="form-group label-floating">
  170 + {% if form.password.field.required %}
  171 + <label class="control-label" for="{{ form.password.auto_id }}">{{ form.password.label }}<span>*</span></label>
  172 + {% else %}
  173 + <label class="control-label" for="{{ form.password.auto_id }}">{{ form.password.label }}</label>
  174 + {% endif %}
  175 + {% render_field form.password type='password' class='form-control' %}
  176 + </div>
  177 + {% if form.password.errors %}
  178 + <div class="alert alert-danger alert-dismissible clearfix" role="alert">
  179 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  180 + <span aria-hidden="true">&times;</span>
  181 + </button>
  182 + <ul>
  183 + {% for error in form.password.errors %}
  184 + <li>{{ error }}</li>
  185 + {% endfor %}
  186 + </ul>
  187 + </div>
  188 + {% endif %}
  189 + <div class="form-group label-floating">
  190 + {% if form.default_from_email.field.required %}
  191 + <label class="control-label" for="{{ form.default_from_email.auto_id }}">{{ form.default_from_email.label }}<span>*</span></label>
  192 + {% else %}
  193 + <label class="control-label" for="{{ form.default_from_email.auto_id }}">{{ form.default_from_email.label }}</label>
  194 + {% endif %}
  195 + {% render_field form.default_from_email class='form-control' %}
  196 + </div>
  197 + {% if form.default_from_email.errors %}
  198 + <div class="alert alert-danger alert-dismissible clearfix" role="alert">
  199 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  200 + <span aria-hidden="true">&times;</span>
  201 + </button>
  202 + <ul>
  203 + {% for error in form.default_from_email.errors %}
  204 + <li>{{ error }}</li>
  205 + {% endfor %}
  206 + </ul>
  207 + </div>
  208 + {% endif %}
  209 + <div class="form-group">
  210 + {% if form.safe_conection.fiel.required %}
  211 + <p><b>{{ form.safe_conection.label }}<span>*</span></b></p>
  212 + {% else %}
  213 + <p><b>{{ form.safe_conection.label }}</b></p>
  214 + {% endif %}
  215 + <div class="col-md-10">
  216 + <div class="radio radio-primary">
  217 + {% for value, text in form.safe_conection.field.choices %}
  218 + <label>
  219 + {% if form.safe_conection.value == value %}
  220 + <input type="radio" name="safe_conection" id="{{ value }}" value="{{ value }}" checked="">
  221 + {{ text }}
  222 + {% else %}
  223 + <input type="radio" name="safe_conection" id="{{ value }}" value="{{ value }}">
  224 + {{ text }}
  225 + {% endif %}
  226 +
  227 + </label>
  228 + {% endfor %}
  229 + </div>
  230 + </div>
  231 + </div>
  232 + {% if form.safe_conection.errors %}
  233 + <div class="alert alert-danger alert-dismissible clearfix" role="alert">
  234 + <button type="button" class="close" data-dismiss="alert" aria-label="Close">
  235 + <span aria-hidden="true">&times;</span>
  236 + </button>
  237 + <ul>
  238 + {% for error in form.safe_conection.errors %}
  239 + <li>{{ error }}</li>
  240 + {% endfor %}
  241 + </ul>
  242 + </div>
  243 + {% endif %}
  244 + </div>
  245 + </div>
  246 + <button type="submit" class="btn btn-success btn-raised" name="submit-settings">{% trans "Save changes" %}</button>
  247 + </div>
  248 + </form>
  249 + </div>
  250 + </div>
253 251  
254   - <!--/.Panel 2-->
  252 + <!--/.Panel 2-->
255 253  
256   - <!--Panel 3-->
257   - <div class="tab-pane fade" id="panel3" role="tabpanel">
258   - <div class="panel panel-default">
259   - <div class="panel-body">
260   - <div class="togglebutton">
261   - <label>
262   - <input type="checkbox" checked> <b>{% trans "Allow users self-enroll." %}</b>
263   - </label>
264   - </div>
265   - <button type="button" class="btn btn-success btn-raised">{% trans "Save changes" %}</button>
266   - </div>
267   - </div>
  254 + <!--Panel 3-->
  255 + <div class="tab-pane fade" id="panel3" role="tabpanel">
  256 + <div class="panel panel-default">
  257 + <div class="panel-body">
  258 + <div class="togglebutton">
  259 + <label>
  260 + <input type="checkbox" checked> <b>{% trans "Allow users self-enroll." %}</b>
  261 + </label>
  262 + </div>
  263 + <button type="button" class="btn btn-success btn-raised">{% trans "Save changes" %}</button>
  264 + </div>
  265 + </div>
  266 + </div>
268 267 </div>
269   - </div>
270   -{% endblock content %}
271 268 \ No newline at end of file
  269 + {% endblock content %}
... ...