# -*- coding: utf-8 -*- """! Vista que controla los procesos de las organizaciones sociales @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 27-07-2017 @version 1.0.0 """ from django.conf import settings from django.contrib import messages from django.contrib.auth.mixins import ( LoginRequiredMixin ) from django.contrib.admin.models import LogEntry, ADDITION, CHANGE, DELETION from django.contrib.auth.models import ( Group, User ) from django.core.urlresolvers import ( reverse_lazy, reverse ) from django.shortcuts import ( render, redirect, get_object_or_404 ) from django.views.generic.base import RedirectView from django.views.generic.edit import ( FormView, UpdateView ) from .forms import ( FormularioRegisterOrgSocial, FormsetObj ) from multi_form_view import MultiModelFormView from .models import ( OrganizacionSocial, Vocero ) from utils.views import LoginRequeridoPerAuth class RegisterOrgView(LoginRequeridoPerAuth, MultiModelFormView): """! Muestra el formulario de registro de la organizacion social @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) @copyright GNU Public License versión 2 (GPLv2) @date 27-07-2017 @version 1.0.0 """ template_name = "organizacion.register.html" form_classes = { 'organizacion_social': FormularioRegisterOrgSocial, 'voceros': FormsetObj, } success_url = reverse_lazy('utils:inicio') record_id = None group_required = [u"Administradores"] def get_objects(self): self.record_id = self.kwargs.get('record_id', None) try: record = OrganizacionSocial.objects.get(pk=self.record_id) except OrganizacionSocial.DoesNotExist: record = None try: record = Vocero.objects.get(pk=self.record_id) except Vocero.DoesNotExist: record = None return { 'organizacion_social': record, 'voceros': record, } def forms_valid(self, forms, **kwargs): """ Valida el formulario de registro del perfil de usuario @return: Dirige con un mensaje de exito a el home """ nueva_organizacion = forms['organizacion_social'].save() messages.success(self.request, "El Usuario %s registro con exito la \ Organizacion Social %s" % (str(self.request.user), str(nueva_organizacion.nombre))) return super(RegisterOrgView, self).forms_valid(forms) def forms_invalid(self, forms, **kwargs): messages.error(self.request, "%s" % (str(forms['organizacion_social'].errors.as_data()))) return super(RegisterOrgView, self).forms_invalid(forms)