[10f099e] | 1 | # -*- coding: utf-8 -*- |
---|
| 2 | """! |
---|
| 3 | Vista que controla los procesos de las organizaciones sociales |
---|
[fcaaf27] | 4 | |
---|
[10f099e] | 5 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
| 6 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
| 7 | @date 27-07-2017 |
---|
| 8 | @version 1.0.0 |
---|
| 9 | """ |
---|
| 10 | |
---|
| 11 | from django.conf import settings |
---|
| 12 | from django.contrib import messages |
---|
| 13 | from django.contrib.auth.mixins import ( |
---|
| 14 | LoginRequiredMixin |
---|
| 15 | ) |
---|
| 16 | from django.contrib.admin.models import LogEntry, ADDITION, CHANGE, DELETION |
---|
| 17 | from django.contrib.auth.models import ( |
---|
| 18 | Group, User |
---|
| 19 | ) |
---|
| 20 | from django.core.urlresolvers import ( |
---|
| 21 | reverse_lazy, reverse |
---|
| 22 | ) |
---|
| 23 | from django.shortcuts import ( |
---|
| 24 | render, redirect, get_object_or_404 |
---|
| 25 | ) |
---|
| 26 | from django.views.generic.base import RedirectView |
---|
| 27 | from django.views.generic.edit import ( |
---|
| 28 | FormView, UpdateView |
---|
| 29 | ) |
---|
| 30 | |
---|
| 31 | from .forms import ( |
---|
| 32 | FormularioRegisterOrgSocial, FormsetObj |
---|
| 33 | ) |
---|
| 34 | from multi_form_view import MultiModelFormView |
---|
| 35 | |
---|
[49db2df] | 36 | from .models import ( |
---|
| 37 | OrganizacionSocial, Vocero |
---|
| 38 | ) |
---|
[10f099e] | 39 | |
---|
| 40 | from utils.views import LoginRequeridoPerAuth |
---|
| 41 | |
---|
| 42 | |
---|
| 43 | class RegisterOrgView(LoginRequeridoPerAuth, MultiModelFormView): |
---|
| 44 | """! |
---|
| 45 | Muestra el formulario de registro de la organizacion social |
---|
| 46 | |
---|
| 47 | @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) |
---|
| 48 | @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> |
---|
| 49 | @date 27-07-2017 |
---|
| 50 | @version 1.0.0 |
---|
| 51 | """ |
---|
| 52 | template_name = "organizacion.register.html" |
---|
| 53 | form_classes = { |
---|
| 54 | 'organizacion_social': FormularioRegisterOrgSocial, |
---|
[49db2df] | 55 | 'voceros': FormsetObj, |
---|
[10f099e] | 56 | } |
---|
| 57 | success_url = reverse_lazy('utils:inicio') |
---|
| 58 | record_id = None |
---|
| 59 | group_required = [u"Administradores"] |
---|
| 60 | |
---|
| 61 | def get_objects(self): |
---|
| 62 | self.record_id = self.kwargs.get('record_id', None) |
---|
| 63 | try: |
---|
| 64 | record = OrganizacionSocial.objects.get(pk=self.record_id) |
---|
| 65 | except OrganizacionSocial.DoesNotExist: |
---|
| 66 | record = None |
---|
[49db2df] | 67 | try: |
---|
| 68 | record = Vocero.objects.get(pk=self.record_id) |
---|
| 69 | except Vocero.DoesNotExist: |
---|
| 70 | record = None |
---|
[10f099e] | 71 | return { |
---|
| 72 | 'organizacion_social': record, |
---|
[49db2df] | 73 | 'voceros': record, |
---|
[10f099e] | 74 | } |
---|
| 75 | |
---|
| 76 | def forms_valid(self, forms, **kwargs): |
---|
| 77 | """ |
---|
| 78 | Valida el formulario de registro del perfil de usuario |
---|
| 79 | @return: Dirige con un mensaje de exito a el home |
---|
| 80 | """ |
---|
| 81 | nueva_organizacion = forms['organizacion_social'].save() |
---|
| 82 | messages.success(self.request, "El Usuario %s registro con exito la \ |
---|
| 83 | Organizacion Social %s" |
---|
| 84 | % (str(self.request.user), str(nueva_organizacion.nombre))) |
---|
| 85 | return super(RegisterOrgView, self).forms_valid(forms) |
---|
| 86 | |
---|
| 87 | def forms_invalid(self, forms, **kwargs): |
---|
| 88 | messages.error(self.request, "%s" % (str(forms['organizacion_social'].errors.as_data()))) |
---|
| 89 | |
---|
| 90 | return super(RegisterOrgView, self).forms_invalid(forms) |
---|