Conjunto de cambios 59f3e60 en consulta_publica para consulta/views.py
- Fecha y hora:
- 20/07/2017 09:41:50 (hace 7 años)
- Branches:
- estudiantes, general, plan_patria, sala
- Children:
- 8f1d98d
- Parents:
- bcf369a
- Fichero:
-
- 1 editado
Leyenda
- No modificado
- Añadido
- Eliminado
-
consulta/views.py
rbe17cf0 r59f3e60 261 261 opciones = [] 262 262 valores = [] 263 for item in OBJETIVOS: 264 respuesta = RespuestaAbierta.objects.filter(pregunta__consulta_id=self.kwargs['pk'],objetivo=item[0]).count() 265 opciones.append(item[1].encode('utf8')) 266 valores.append(respuesta) 263 kwargs['participacion'] = [] 264 if RespuestaAbierta.objects.filter(pregunta__consulta_id=self.kwargs['pk']): 265 for item in OBJETIVOS: 266 respuesta = RespuestaAbierta.objects.filter(pregunta__consulta_id=self.kwargs['pk'],objetivo=item[0]).count() 267 opciones.append(item[1].encode('utf8')) 268 valores.append(respuesta) 269 kwargs['participacion'].append({'titulo':'Respuestas por Objetivo de la Constituyente','opciones':json.dumps(opciones),'valores':valores}) 270 if RespuestaOpciones.objects.filter(opcion__pregunta__consulta_id=self.kwargs['pk']): 271 kwargs['participacion'].append(self.get_pregunta_sino(self.kwargs['pk'])) 272 if RespuestaSino.objects.filter(pregunta__consulta_id=self.kwargs['pk']): 273 kwargs['participacion'].append(self.get_pregunta_opciones(self.kwargs['pk'])) 274 267 275 kwargs['usuarios'] = [self.get_users()] 268 kwargs['participacion'] = [{'titulo':'Respuestas por Objetivo de la Constituyente','opciones':json.dumps(opciones),'valores':valores}]269 276 return super(ConsultaStats, self).get_context_data(**kwargs) 270 277 … … 288 295 289 296 290 def get_pregunta_opciones(self,id,titulo ):297 def get_pregunta_opciones(self,id,titulo=''): 291 298 """! 292 299 Metodo que permite cargar las opciones para una pregunta simple o múltiple … … 301 308 options = [] 302 309 values = [] 303 for opcion in Opcion.objects.filter(pregunta_ id=id).all():310 for opcion in Opcion.objects.filter(pregunta__consulta_id=id).all(): 304 311 options.append(opcion.texto_opcion.encode('utf8')) 305 312 values.append(RespuestaOpciones.objects.filter(opcion_id=opcion.id).count()) 313 if titulo=='': 314 opc = Opcion.objects.filter(pregunta__consulta_id=id).first() 315 titulo = opc.pregunta.texto_pregunta 306 316 data = {} 307 317 data['titulo'] = titulo … … 310 320 return data 311 321 312 def get_pregunta_sino(self,id,titulo ):322 def get_pregunta_sino(self,id,titulo=''): 313 323 """! 314 324 Metodo que permite cargar las opciones para una pregunta si o no … … 321 331 @return Retorna los datos de contexto 322 332 """ 323 Si = RespuestaSino.objects.filter(respuesta=True).count() 324 No = RespuestaSino.objects.filter(respuesta=False).count() 333 if titulo=='': 334 opc = RespuestaSino.objects.filter(pregunta__consulta_id=id).first() 335 titulo = opc.pregunta.texto_pregunta 336 Si = RespuestaSino.objects.filter(respuesta=True,pregunta__consulta_id=id).count() 337 No = RespuestaSino.objects.filter(respuesta=False,pregunta__consulta_id=id).count() 325 338 data = {} 326 339 data['titulo'] = titulo … … 353 366 """ 354 367 tipo_pregunta = self.request.POST['tipo_pregunta'] 355 objetivo = self.request.POST['objetivo'] 368 objetivo = self.request.POST.get('objetivo','') 369 print objetivo 356 370 estado = self.request.POST.get('estado','') 357 371 municipio = self.request.POST.get('municipio','') … … 360 374 sector_trabajador = self.request.POST.get('sector_trabajador','') 361 375 sector_estudiante = self.request.POST.get('sector_estudiante','') 362 url = '%s? estado=%s&municipio=%s&parroquia=%s§or=%s§or_trabajador=%s§or_estudiante=%s' % (reverse_lazy('consulta_pdf',363 kwargs={'pk': self.kwargs['pk'],'tipo_pregunta': tipo_pregunta ,'objetivo': objetivo}),364 estado,municipio,parroquia,sector,sector_trabajador,sector_estudiante)376 url = '%s?objetivo=%s&estado=%s&municipio=%s&parroquia=%s§or=%s§or_trabajador=%s§or_estudiante=%s' % (reverse_lazy('consulta_pdf', 377 kwargs={'pk': self.kwargs['pk'],'tipo_pregunta': tipo_pregunta}), 378 objetivo,estado,municipio,parroquia,sector,sector_trabajador,sector_estudiante) 365 379 return url 366 380 … … 403 417 pk = int(self.kwargs['pk']) 404 418 tipo_pregunta = int(self.kwargs['tipo_pregunta']) 405 objetivo = int(self.kwargs['objetivo'])406 419 ## Variables por get 420 objetivo = self.request.GET['objetivo'] 407 421 estado = self.request.GET['estado'] 408 422 municipio = self.request.GET['municipio'] … … 413 427 resp = 0 414 428 est, mun, parr = 0, 0, 0 415 preg = Pregunta.objects.get(pk=pk).texto_pregunta 416 if tipo_pregunta == 1: 417 resp = RespuestaSino.objects.filter(pregunta__consulta_id=pk,objetivo=objetivo) 418 elif tipo_pregunta == 2: 429 preg = Pregunta.objects.get(pk=tipo_pregunta) 430 if preg.tipo_pregunta_id >=1 and preg.tipo_pregunta_id <3: 431 resp = RespuestaSino.objects.filter(pregunta__consulta_id=pk) 432 elif preg.tipo_pregunta_id >2 and preg.tipo_pregunta_id <5: 433 resp = RespuestaOpciones.objects.filter(opcion__pregunta__consulta_id=pk) 434 elif preg.tipo_pregunta_id == 5: 419 435 resp = RespuestaAbierta.objects.filter(pregunta__consulta_id=pk,objetivo=objetivo) 420 elif tipo_pregunta == 3:421 resp = RespuestaOpciones.objects.filter(opcion__pregunta__consulta_id=pk,objetivo=objetivo)422 436 ## Se validan los filtros por territorio 423 437 if estado == '': … … 431 445 kwargs['lugar'] = est.count() 432 446 kwargs['ubicacion'] = Entidad.objects.get(pk=estado) 447 ## Muestra los datos por los municipios del estado 448 datos = [] 449 for municipio in Municipio.objects.filter(entidad_id=estado).all(): 450 data = Perfil.objects.filter(parroquia__municipio_id=municipio.id,user_id__in=resp.values_list('user_id',flat=True)).count() 451 datos.append([municipio.nombre,data]) 452 kwargs['municipios'] = datos 433 453 elif municipio!='' and parroquia=='': 434 454 mun = Perfil.objects.filter(parroquia__municipio_id=municipio,user_id__in=resp.values_list('user_id',flat=True)) 435 455 kwargs['lugar'] = mun.count() 436 kwargs['ubicacion'] = Municipio.objects.filter(pk=municipio) 456 kwargs['ubicacion'] = Municipio.objects.get(pk=municipio) 457 ## Muestra los datos por la parroquia 458 datos = [] 459 for parroquia in Parroquia.objects.filter(municipio_id=municipio).all(): 460 data = Perfil.objects.filter(parroquia_id=parroquia.id,user_id__in=resp.values_list('user_id',flat=True)).count() 461 datos.append([parroquia.nombre,data]) 462 kwargs['parroquias'] = datos 437 463 elif parroquia!='': 438 464 parr = Perfil.objects.filter(parroquia_id=parroquia,user_id__in=resp.values_list('user_id',flat=True)) … … 468 494 kwargs['sector_texto'] = SECTOR[sector] 469 495 kwargs['respuestas'] = resp.count() 470 kwargs['pregunta_texto'] = preg 471 kwargs['objetivo_texto'] = OBJETIVOS[ objetivo-1][1]496 kwargs['pregunta_texto'] = preg.texto_pregunta 497 kwargs['objetivo_texto'] = OBJETIVOS[int(objetivo)-1][1] if objetivo else None 472 498 return super(ConsultaPdf, self).get_context_data(**kwargs) 473 499
Nota: Vea TracChangeset
para ayuda en el uso del visor de conjuntos de cambios.