Commit df395272114dee825c5ed7e8aef33e159b0bf1e3

Authored by ailsoncgt
1 parent 8d79ffd1

Git pull #212

Showing 3 changed files with 32 additions and 11 deletions   Show diff stats
app/admin.py
1 1 from django.contrib import admin
  2 +from .models import EmailBackend
2 3  
3 4 # Register your models here.
  5 +admin.site.register(EmailBackend)
... ...
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  
... ...