source: sapic/organizaciones/views.py @ 8741e74

erwinexplicacion_situacionalgestion_usuariostaller_django
Last change on this file since 8741e74 was 8741e74, checked in by Erwin Paredes <eparedes@…>, 7 años ago

Listado de todas Organizaciones

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