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 | ... | ... |