From df395272114dee825c5ed7e8aef33e159b0bf1e3 Mon Sep 17 00:00:00 2001 From: ailsoncgt Date: Fri, 4 Nov 2016 15:04:00 -0300 Subject: [PATCH] Git pull #212 --- app/admin.py | 2 ++ app/forms.py | 13 +++++++++---- app/views.py | 28 +++++++++++++++++++++------- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/app/admin.py b/app/admin.py index ea5d68b..c7c4018 100644 --- a/app/admin.py +++ b/app/admin.py @@ -1,3 +1,5 @@ from django.contrib import admin +from .models import EmailBackend # Register your models here. +admin.site.register(EmailBackend) diff --git a/app/forms.py b/app/forms.py index d78663b..e7bb46d 100644 --- a/app/forms.py +++ b/app/forms.py @@ -4,10 +4,15 @@ from django.utils.translation import ugettext_lazy as _ class EmailBackendForm(forms.ModelForm): - class Meta: - model = EmailBackend - fields = ('description', 'host', 'port', 'username', 'password', 'safe_conection', 'default_from_email') - help_texts = { + def save(self, commit=True): + super(EmailBackendForm, self).save() + print('Saved') + return self.instance + + class Meta: + model = EmailBackend + fields = ('description', 'host', 'port', 'username', 'password', 'safe_conection', 'default_from_email') + help_texts = { 'host': _('A host name. Example: smtp.gmail.com'), 'port': _('A port number'), 'usermane': _('Your host username'), diff --git a/app/views.py b/app/views.py index 250e1d1..9e0eead 100644 --- a/app/views.py +++ b/app/views.py @@ -1,6 +1,7 @@ +from django.utils.translation import ugettext_lazy as _ from django.shortcuts import render from django.views.generic import ListView -from django.views import View +from django.views import View, generic from rolepermissions.mixins import HasRoleMixin from django.contrib.auth.mixins import LoginRequiredMixin from django.core.urlresolvers import reverse_lazy @@ -43,20 +44,33 @@ class AppIndex(LoginRequiredMixin, ListView, NotificationMixin): return self.response_class(request = self.request, template = self.template_name, context = context, using = self.template_engine, **response_kwargs) -class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, View): +class AmadeusSettings(LoginRequiredMixin, HasRoleMixin, generic.CreateView): allowed_roles = ['system_admin'] login_url = reverse_lazy("core:home") - redirect_field_name = 'next' model = EmailBackend template_name = 'admin_settings.html' form_class = EmailBackendForm success_url = reverse_lazy('app:settings') - def get_object(self): - pass + def form_invalid(self, form): + print('iNVALID') + return self.render_to_response(self.get_context_data(form=form)) + + def form_valid(self, form): + self.object = form.save() + print('Save') + messages.success(self.request, _('Changes saved')) + + return super(AmadeusSettings, self).form_valid(form) - def get(self, request): - return render(request, self.template_name) + def get_context_data(self, **kwargs): + context = super(AmadeusSettings, self).get_context_data(**kwargs) + try: + setting = EmailBackend.objects.latest('id') + context['form'] = EmailBackendForm(instance = setting) + except: + context['form'] = EmailBackendForm() + return context -- libgit2 0.21.2