Changeset a28e55b in firmaeventos for eventos/views.py
- Timestamp:
- Nov 29, 2017, 11:23:16 AM (7 years ago)
- Branches:
- master
- Children:
- eedeae2
- Parents:
- fcce998
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
eventos/views.py
rfcce998 ra28e55b 39 39 destination.write(chunk) 40 40 41 41 42 class RegisterEvent(LoginRequiredMixin, FormView): 42 43 """! … … 63 64 64 65 def post(self, request, *args, **kwargs): 66 """! 67 Metodo que permite registra y agregar participantes al evento 68 69 @author Leonel P. Hernandez M (lhernandez at cenditel.gob.ve) 70 @copyright GNU/GPLv3 71 @date 20-11-2017 72 @param request <b>{object}</b> Objeto que contiene la petición 73 @return Retorna un mensaje de error o exito al success 74 """ 65 75 nuevo_participante = self.form_participante(request.POST) 66 76 consulta_api = None … … 185 195 186 196 def get_context_data(self, **kwargs): 197 """! 198 Metodo que permite cargar de nuevo valores en los datos de contexto de la vista 199 200 @author Rodrigo Boet (rboet at cenditel.gob.ve) 201 @copyright GNU/GPLv3 202 @date 20-11-2017 203 @param self <b>{object}</b> Objeto que instancia la clase 204 @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto 205 @return Retorna los datos de contexto 206 """ 187 207 evento = int(self.kwargs['pk']) 188 208 context = super(DetailEvent, self).get_context_data(**kwargs) … … 197 217 context['num_firma'] = falta_porfirma 198 218 return context 219 199 220 200 221 @method_decorator(csrf_exempt, name='dispatch') … … 282 303 283 304 def get_context_data(self, **kwargs): 305 """! 306 Metodo que permite cargar de nuevo valores en los datos de contexto de la vista 307 308 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 309 @copyright GNU/GPLv3 310 @date 27-11-2017 311 @param self <b>{object}</b> Objeto que instancia la clase 312 @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto 313 @return Retorna los datos de contexto 314 """ 284 315 evento = int(self.kwargs['event_id']) 285 316 context = super(UpdateFileEvent, self).get_context_data(**kwargs) … … 289 320 print(e) 290 321 evento = None 322 firma = ParticipanteEvento.objects.filter(fk_evento=evento, firma=True).count() 323 if firma >= 1: 324 valida = True 325 else: 326 valida = False 327 291 328 context['object'] = evento 329 context['valida'] = valida 292 330 return context 293 331 294 332 def form_valid(self, form): 295 print(form) 333 """! 334 Metodo que permite validar el formulario y agregar archivo al evento 335 336 @author Leonel P. Hernandez M (lhernandez at cenditel.gob.ve) 337 @copyright GNU/GPLv3 338 @date 27-11-2017 339 @param request <b>{object}</b> Objeto que contiene la petición 340 @return Retorna un mensaje de error o exito al success 341 """ 296 342 file = self.request.FILES['file'] 297 343 posx = form.cleaned_data['pos_x'] … … 307 353 return redirect(self.success_url) 308 354 309 print(posx)310 355 handle_uploaded_file(self.request.FILES['file'], file) 311 356 ruta = '%s/%s' % (settings.TMP, file) … … 359 404 360 405 def get_context_data(self, **kwargs): 406 """! 407 Metodo que permite cargar de nuevo valores en los datos de contexto de la vista 408 409 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 410 @copyright GNU/GPLv3 411 @date 28-11-2017 412 @param self <b>{object}</b> Objeto que instancia la clase 413 @param kwargs <b>{object}</b> Objeto que contiene los datos de contexto 414 @return Retorna los datos de contexto 415 """ 361 416 context = super(UpdateEventView, self).get_context_data(**kwargs) 362 417 if 'form' not in context: … … 369 424 370 425 def post(self, request, *args, **kwargs): 371 print('entra en el valid') 426 """! 427 Metodo que permite actualizar y agregar mas participantes al evento 428 429 @author Leonel P. Hernandez M (lhernandez at cenditel.gob.ve) 430 @copyright GNU/GPLv3 431 @date 29-11-2017 432 @param request <b>{object}</b> Objeto que contiene la petición 433 @return Retorna un mensaje de error o exito al success 434 """ 372 435 evento = int(self.kwargs['pk']) 373 436 update_participante = self.form_participante(request.POST) 374 print(update_participante) 375 if self.form_class(request.POST).is_valid() and update_participante.is_valid(): 376 evento = self.model.objects.get(pk=evento) 377 update_evento = self.form_class(request.POST, instance=evento).save(commit=False) 378 update_evento.save() 379 380 # Control para guardar y asignar participantes al evento 381 382 for form in update_participante: 383 if form.cleaned_data.get('DELETE') and form.instance.pk: 384 form.instance.delete() 385 else: 437 try: 438 if self.form_class(request.POST).is_valid() and update_participante.is_valid(): 439 evento = self.model.objects.get(pk=evento) 440 update_evento = self.form_class(request.POST, instance=evento).save(commit=False) 441 for form in update_participante: 386 442 instance = form.save(commit=False) 387 parametros = { 388 'nombres': instance.nombres, 389 'apellidos': instance.apellidos, 390 'correo': instance.correo 391 } 392 update_participante, create = Participante.objects.update_or_create(pasaporte=instance.pasaporte, defaults=parametros) 393 asigna_evento = ParticipanteEvento( 394 fk_participante=update_participante, 395 fk_evento=update_evento) 396 #asigna_evento.save() 397 398 messages.success(request, "Se actualizó el evento %s" % (update_evento)) 443 if instance.nombres == '' or instance.apellidos == '' or instance.pasaporte == '': 444 messages.error(self.request, "Ninguno de los campos del\ 445 participante puede estar\ 446 vacio excepto el correo") 447 return redirect(self.success_url) 448 449 update_evento.save() 450 # Control para guardar y asignar participantes al evento 451 lista_participantes = list(ParticipanteEvento.objects.filter(fk_evento=int(self.kwargs['pk']), firma=False).values('fk_participante__pasaporte')) 452 453 lista_comprobar = [] 454 for valor in lista_participantes: 455 lista_comprobar += valor.values() 456 for form in update_participante: 457 if form.cleaned_data.get('DELETE') and form.instance.pk: 458 form.instance.delete() 459 else: 460 instance = form.save(commit=False) 461 462 parametros = { 463 'nombres': instance.nombres, 464 'apellidos': instance.apellidos, 465 'correo': instance.correo 466 } 467 if instance.pasaporte in lista_comprobar: 468 lista_comprobar.remove(instance.pasaporte) 469 update_participante, create = Participante.objects.update_or_create(pasaporte=instance.pasaporte, defaults=parametros) 470 parametro_update = {'fk_participante': update_participante} 471 update_evento_participante, create_part_event = ParticipanteEvento.objects.update_or_create(fk_evento=update_evento, fk_participante__pasaporte=instance.pasaporte, defaults=parametro_update) 472 update_evento_participante.save() 473 messages.success(request, "El usuario %s, actualizó el evento %s" % (str(self.request.user), str(update_evento))) 474 for valor in lista_comprobar: 475 e = ParticipanteEvento.objects.get(fk_evento=update_evento, fk_participante__pasaporte=valor) 476 e.delete() 477 478 else: 479 messages.error(self.request, "Existe un error en el\ 480 Formualario %s %s" % 481 (self.form_class(request.POST).errors, 482 self.form_participante(request.POST).errors)) 483 except Exception as e: 484 print(e) 485 messages.error(self.request, "Esta intentando realizar una\ 486 acción incorrecta") 399 487 return redirect(self.success_url) 400 #return super(UpdateEventView, self).form_valid(form)401 402 #def form_invalid(self, form, **kwargs):403 # return super(UpdateEventView, self).form_invalid(form)
Note: See TracChangeset
for help on using the changeset viewer.