Commit df395272114dee825c5ed7e8aef33e159b0bf1e3
1 parent
8d79ffd1
Exists in
master
and in
5 other branches
Git pull #212
Showing
3 changed files
with
32 additions
and
11 deletions
Show diff stats
app/admin.py
app/forms.py
| ... | ... | @@ -4,10 +4,15 @@ from django.utils.translation import ugettext_lazy as _ |
| 4 | 4 | |
| 5 | 5 | class EmailBackendForm(forms.ModelForm): |
| 6 | 6 | |
| 7 | - class Meta: | |
| 8 | - model = EmailBackend | |
| 9 | - fields = ('description', 'host', 'port', 'username', 'password', 'safe_conection', 'default_from_email') | |
| 10 | - help_texts = { | |
| 7 | + def save(self, commit=True): | |
| 8 | + super(EmailBackendForm, self).save() | |
| 9 | + print('Saved') | |
| 10 | + return self.instance | |
| 11 | + | |
| 12 | + class Meta: | |
| 13 | + model = EmailBackend | |
| 14 | + fields = ('description', 'host', 'port', 'username', 'password', 'safe_conection', 'default_from_email') | |
| 15 | + help_texts = { | |
| 11 | 16 | 'host': _('A host name. Example: smtp.gmail.com'), |
| 12 | 17 | 'port': _('A port number'), |
| 13 | 18 | 'usermane': _('Your host username'), | ... | ... |
app/views.py
| 1 | +from django.utils.translation import ugettext_lazy as _ | |
| 1 | 2 | from django.shortcuts import render |
| 2 | 3 | from django.views.generic import ListView |
| 3 | -from django.views import View | |
| 4 | +from django.views import View, generic | |
| 4 | 5 | from rolepermissions.mixins import HasRoleMixin |
| 5 | 6 | from django.contrib.auth.mixins import LoginRequiredMixin |
| 6 | 7 | from django.core.urlresolvers import reverse_lazy |
| ... | ... | @@ -43,20 +44,33 @@ class AppIndex(LoginRequiredMixin, ListView, NotificationMixin): |
| 43 | 44 | |
| 44 | 45 | return self.response_class(request = self.request, template = self.template_name, context = context, using = self.template_engine, **response_kwargs) |
| 45 | 46 | |
| 46 | -class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, View): | |
| 47 | +class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): | |
| 47 | 48 | allowed_roles = ['system_admin'] |
| 48 | 49 | login_url = reverse_lazy("core:home") |
| 49 | - redirect_field_name = 'next' | |
| 50 | 50 | model = EmailBackend |
| 51 | 51 | template_name = 'admin_settings.html' |
| 52 | 52 | form_class = EmailBackendForm |
| 53 | 53 | success_url = reverse_lazy('app:settings') |
| 54 | 54 | |
| 55 | - def get_object(self): | |
| 56 | - pass | |
| 55 | + def form_invalid(self, form): | |
| 56 | + print('iNVALID') | |
| 57 | + return self.render_to_response(self.get_context_data(form=form)) | |
| 58 | + | |
| 59 | + def form_valid(self, form): | |
| 60 | + self.object = form.save() | |
| 61 | + print('Save') | |
| 62 | + messages.success(self.request, _('Changes saved')) | |
| 63 | + | |
| 64 | + return super(AmadeusSettings, self).form_valid(form) | |
| 57 | 65 | |
| 58 | - def get(self, request): | |
| 59 | - return render(request, self.template_name) | |
| 66 | + def get_context_data(self, **kwargs): | |
| 67 | + context = super(AmadeusSettings, self).get_context_data(**kwargs) | |
| 68 | + try: | |
| 69 | + setting = EmailBackend.objects.latest('id') | |
| 70 | + context['form'] = EmailBackendForm(instance = setting) | |
| 71 | + except: | |
| 72 | + context['form'] = EmailBackendForm() | |
| 73 | + return context | |
| 60 | 74 | |
| 61 | 75 | |
| 62 | 76 | ... | ... |