- Fecha y hora:
- 24/04/2017 11:44:13 (hace 7 años)
- Branches:
- master, base, constituyente, estudiantes, general, plan_patria, sala
- Children:
- be8d917
- Parents:
- 7310249
- Ubicación:
- base
- Ficheros:
-
- 3 añadidos
- 3 editados
Leyenda
- No modificado
- Añadido
- Eliminado
-
base/functions.py
r7310249 rbf6bc0b 15 15 from __future__ import unicode_literals 16 16 from django.http import HttpResponseServerError 17 from django.contrib.auth.models import User 17 18 from consulta.models import Consulta,TipoPregunta, Pregunta 18 19 from participacion.models import RespuestaAbierta 19 20 from procesamiento.models import Procesamiento 20 21 from consulta_publica.settings import PROCESAMIENTO_PATH 22 from .models import Entidad, Municipio, Parroquia 23 from users.models import Perfil 21 24 import requests 22 25 import copy … … 303 306 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 304 307 @date 17-04-2017 308 @param pk {int} Recibe id de la consulta 305 309 @return Devuelve una tupla con las consultas que tienen directorios 306 310 """ … … 317 321 return False 318 322 323 def cargar_entidad(): 324 """! 325 Función que permite cargar todas las entidades 326 327 @author Rodrigo Boet (rboet at cenditel.gob.ve) 328 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 329 @date 20-04-2017 330 @return Devuelve una tupla con las entidades 331 """ 332 333 lista = ('', 'Seleccione...'), 334 335 try: 336 for entidad in Entidad.objects.all(): 337 lista += (entidad.codigo, entidad.nombre), 338 except Exception as e: 339 pass 340 341 return lista 342 343 344 def cargar_municipios(): 345 """! 346 Función que permite cargar todas los municipios 347 348 @author Rodrigo Boet (rboet at cenditel.gob.ve) 349 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 350 @date 20-04-2017 351 @return Devuelve una tupla con los municipios 352 """ 353 354 lista = ('', 'Seleccione...'), 355 356 try: 357 for municipio in Municipio.objects.all(): 358 lista += (municipio.codigo, municipio.nombre), 359 except Exception as e: 360 pass 361 362 return lista 363 364 365 def cargar_parroquias(): 366 """! 367 Función que permite cargar todas las parroquias 368 369 @author Rodrigo Boet (rboet at cenditel.gob.ve) 370 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 371 @date 20-04-2017 372 @return Devuelve una tupla con las parroquias 373 """ 374 375 lista = ('', 'Seleccione...'), 376 377 try: 378 for parroquia in Parroquia.objects.all(): 379 lista += (parroquia.codigo, parroquia.nombre), 380 except Exception as e: 381 pass 382 383 return lista 384 385 386 def validate_cedula(cedula): 387 """! 388 Función que permite validar la cedula 389 390 @author Rodrigo Boet (rboet at cenditel.gob.ve) 391 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 392 @date 20-04-2017 393 @param cedula {str} Recibe el número de cédula 394 @return Devuelve verdadero o falso 395 """ 396 397 cedula = Perfil.objects.filter(cedula=cedula) 398 if cedula: 399 return True 400 else: 401 return False 402 403 def validate_email(email): 404 """! 405 Función que permite validar la cedula 406 407 @author Rodrigo Boet (rboet at cenditel.gob.ve) 408 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 409 @date 20-04-2017 410 @param cedula {str} Recibe el número de cédula 411 @return Devuelve verdadero o falso 412 """ 413 414 email = User.objects.filter(email=email) 415 if email: 416 return True 417 else: 418 return False 419 420 def is_administrator(user): 421 """! 422 Función que válida si el usuario es administrador 423 424 @author Rodrigo Boet (rboet at cenditel.gob.ve) 425 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 426 @date 21-04-2017 427 @param user {obj} Recibe el usuario 428 @return Devuelve verdadero o falso 429 """ 430 return user.groups.filter(name='Administrador').exists() 431 432 def is_participante(user): 433 """! 434 Función que válida si el usuario es participante 435 436 @author Rodrigo Boet (rboet at cenditel.gob.ve) 437 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 438 @date 21-04-2017 439 @param user {obj} Recibe el usuario 440 @return Devuelve verdadero o falso 441 """ 442 return user.groups.filter(name='Participante').exists() -
base/urls.py
r0ff122b rbf6bc0b 20 20 url(r'^administrador/$', Administrador.as_view(), name = "administrador_base"), 21 21 ] 22 23 ## Ajax 24 urlpatterns +=[ 25 url(r'^ajax/actualizar-combo/?$', actualizar_combo, name='actualizar_combo'), 26 ] -
base/views.py
r0ff122b rbf6bc0b 14 14 # @version 1.0 15 15 from django.shortcuts import render 16 from django.http import HttpResponse 17 from django.apps import apps 16 18 from django.views.generic import TemplateView 19 from django.contrib.auth.mixins import LoginRequiredMixin 20 from braces.views import GroupRequiredMixin 21 22 import json 17 23 18 24 class Error403(TemplateView): … … 28 34 29 35 30 class Administrador( TemplateView):36 class Administrador(GroupRequiredMixin,LoginRequiredMixin,TemplateView): 31 37 """! 32 38 Clase para mostrar el menú del administrador … … 38 44 """ 39 45 template_name = "administrador.template.html" 46 group_required = u"Administrador" 47 48 49 def actualizar_combo(request): 50 """! 51 Función que actualiza los datos de un select dependiente de los datos de otro select 52 53 @author Ing. Roldan Vargas (rvargas at cenditel.gob.ve) 54 @copyright <a href='http://www.gnu.org/licenses/gpl-2.0.html'>GNU Public License versión 2 (GPLv2)</a> 55 @date 28-04-2016 56 @param request <b>{object}</b> Objeto que contiene la petición 57 @return Devuelve un HttpResponse con el JSON correspondiente a los resultados de la consulta y los respectivos 58 elementos a cargar en el select 59 """ 60 try: 61 if not request.is_ajax(): 62 return HttpResponse(json.dumps({'resultado': False, 'error': str('La solicitud no es ajax')})) 63 64 ## Valor del campo que ejecuta la acción 65 cod = request.GET.get('opcion', None) 66 67 ## Nombre de la aplicación del modelo en donde buscar los datos 68 app = request.GET.get('app', None) 69 70 ## Nombre del modelo en el cual se va a buscar la información a mostrar 71 mod = request.GET.get('mod', None) 72 73 ## Atributo por el cual se va a filtrar la información 74 campo = request.GET.get('campo', None) 75 76 ## Atributo del cual se va a obtener el valor a registrar en las opciones del combo resultante 77 n_value = request.GET.get('n_value', None) 78 79 ## Atributo del cual se va a obtener el texto a registrar en las opciones del combo resultante 80 n_text = request.GET.get('n_text', None) 81 82 ## Nombre de la base de datos en donde buscar la información, si no se obtiene el valor por defecto es default 83 bd = request.GET.get('bd', 'default') 84 85 filtro = {} 86 87 if app and mod and campo and n_value and n_text and bd: 88 modelo = apps.get_model(app, mod) 89 90 if cod: 91 filtro = {campo: cod} 92 93 out = "<option value=''>%s...</option>" % str("Seleccione") 94 95 combo_disabled = "false" 96 97 if cod != "" and cod != "0": 98 for o in modelo.objects.using(bd).filter(**filtro).order_by(n_text): 99 out = "%s<option value='%s'>%s</option>" \ 100 % (out, str(o.__getattribute__(n_value)), 101 o.__getattribute__(n_text)) 102 else: 103 combo_disabled = "true" 104 105 return HttpResponse(json.dumps({'resultado': True, 'combo_disabled': combo_disabled, 'combo_html': out})) 106 107 else: 108 return HttpResponse(json.dumps({'resultado': False, 109 'error': str('No se ha especificado el registro')})) 110 111 except Exception as e: 112 return HttpResponse(json.dumps({'resultado': False, 'error': e}))
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.