source: consulta_publica/procesamiento/forms.py @ 7095598

constituyenteestudiantesgeneralplan_patriasala
Last change on this file since 7095598 was 250830e, checked in by rudmanmrrod <rudman22@…>, 7 años ago

Agregado modal con los documentos, agregados los documentos a la carpeta static, agregada infografia de los objetivos

  • Propiedad mode establecida a 100644
File size: 3.8 KB
Línea 
1# -*- coding: utf-8 -*-
2"""
3Sistema de Consulta Pública
4
5Copyleft (@) 2017 CENDITEL nodo Mérida - https://planificacion.cenditel.gob.ve/trac/wiki/ModeladoTopicos_2017
6"""
7## @package procesamiento.forms
8#
9# Formulario correspondiente a la aplicación procesamiento
10# @author Rodrigo Boet (rboet at cenditel.gob.ve)
11# @author <a href='http://www.cenditel.gob.ve'>Centro Nacional de Desarrollo e Investigación en Tecnologías Libres
12# (CENDITEL) nodo Mérida - Venezuela</a>
13# @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
14# @version 1.0
15import os
16from django import forms
17from consulta_publica.settings import PROCESAMIENTO_PATH
18from base.functions import cargar_procesamiento, validate_dir
19from participacion.forms import ParticipacionSelectForm
20from .models import Procesamiento
21
22class ProcesamientoSelectForm(ParticipacionSelectForm):
23    """!
24    Clase del formulario que muestra las consultas
25
26    @author Rodrigo Boet (rboet at cenditel.gob.ve)
27    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
28    @date 22-02-2017
29    @version 1.0.0
30    """
31    pass
32
33class ProcesamientoForm(forms.ModelForm):
34    """!
35    Clase para crear el formulario del procesamiento
36    @author Rodrigo Boet (rboet at cenditel.gob.ve)
37    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
38    @date 28-03-2017
39    """
40    def __init__(self, *args, **kwargs):
41        self.pk = kwargs.pop('pk')
42        super(ProcesamientoForm, self).__init__(*args, **kwargs)
43       
44    ## Campo con el nombre del directorio a procesar
45    procesamiento_dir = forms.CharField(label=('Nombre del Perfil'), widget=forms.TextInput(attrs={'class':'form-control'}))
46   
47    ## Palabras a excluir
48    words = forms.MultipleChoiceField(label = ('Palabras'),choices = [('V', 'verbos'),('A', 'adjetivos'), ('N', 'sustantivos'),
49        ('R', 'adverbios'),('D', 'determinantes'),('P', 'pronombres'),('C', 'conjunciones'),('I', 'interjecciones'),('S', 'preposiciones')],
50        widget=forms.SelectMultiple(attrs={'class':'form-control'}),required=False)
51   
52    ## Listado de palabras excluidas por el usuario
53    excluded_words = forms.CharField(label=('Palabras Excluidas'),widget=forms.Textarea(attrs={'class':'form-control'}),required = False)
54   
55    def clean_procesamiento_dir(self):
56        procesamiento_dir = self.cleaned_data['procesamiento_dir']
57        if not validate_dir(self.pk):
58            raise forms.ValidationError("La Ruta Solicitada no existe, debe generar primero los textos en la consulta")
59        return procesamiento_dir
60   
61    class Meta:
62        model = Procesamiento
63        exclude = ['user','consulta','used']
64       
65       
66class ProcesamientoActionForm(forms.Form):
67    """!
68    Clase del formulario que los perfiles de procesamiento
69
70    @author Rodrigo Boet (rboet at cenditel.gob.ve)
71    @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a>
72    @date 28-03-2017
73    @version 1.0.0
74    """
75
76    def __init__(self, *args, **kwargs):
77        """!
78        Metodo que sobreescribe cuando se inicializa el formulario
79
80        @author Rodrigo Boet (rboet at cenditel.gob.ve)
81        @copyright GNU/GPLv2
82        @date 28-03-2017
83        @param self <b>{object}</b> Objeto que instancia la clase
84        @param args <b>{list}</b> Lista de los argumentos
85        @param kwargs <b>{dict}</b> Diccionario con argumentos
86        @return Retorna el formulario validado
87        """
88        self.pk = kwargs.pop('pk')
89        super(ProcesamientoActionForm, self).__init__(*args, **kwargs)
90
91        self.fields['procesamiento'].choices = cargar_procesamiento(self.pk)
92
93    ## Procesamientos
94    procesamiento = forms.ChoiceField(widget=forms.Select(attrs={'class':'form-control'}),
95        label="Selecione un perfil de procesamiento")
Nota: Vea TracBrowser para ayuda de uso del navegador del repositorio.