Changeset 9c25cd2 in firmaeventos
- Timestamp:
- Nov 29, 2017, 8:34:01 AM (6 years ago)
- Branches:
- master
- Children:
- fcce998
- Parents:
- a3deb5f
- Location:
- eventos
- Files:
-
- 1 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
eventos/forms.py
rd9b20e6 r9c25cd2 65 65 66 66 class UpdateFileEventoForm(forms.Form): 67 """! 68 Clase que permite crear el formulario para subir un documento a un evento 69 70 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 71 @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a> 72 @date 19-11-2017 73 @version 1.0.0 74 """ 67 75 archivo = CharField() 68 76 pos_x = CharField() … … 92 100 self.fields['pag'].required = True 93 101 self.fields['pag'].widget = forms.HiddenInput() 102 103 104 class UpdateEventoForm(forms.ModelForm): 105 """! 106 Clase que permite crear el formulario para el update del evento 107 108 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 109 @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a> 110 @date 28-11-2017 111 @version 1.0.0 112 """ 113 class Meta: 114 """! 115 Clase que construye los meta datos del formulario 116 """ 117 model = Evento 118 fields = ['nombre_evento', 'fecha'] 119 120 def __init__(self, *args, **kwargs): 121 """! 122 Funcion que construye los valores iniciales del formulario update evento 123 """ 124 super(UpdateEventoForm, self).__init__(*args, **kwargs) 125 self.fields['nombre_evento'].widget.attrs.update( 126 {'class': 'form-control', 127 'placeholder': 'Nombre del evento'}) 128 self.fields['fecha'].widget.attrs.update( 129 {'class': 'datepicker', 130 'placeholder': 'Fecha', 131 'readonly': 132 'readonly'}) -
eventos/templates/evento.list.html
rd9b20e6 r9c25cd2 29 29 </a> 30 30 {% else %} 31 <a type="button" class="btn waves-effect blue darken-1" href="{% url 'events:update_evento' evento.id %}"> 32 <i class="material-icons left">backup</i> Cargar Documento 33 </a> 31 {% if request.user.is_authenticated %} 32 <a type="button" class="btn waves-effect blue darken-1" href="{% url 'events:update_evento' evento.id %}"> 33 <i class="material-icons left">backup</i> Cargar Documento 34 </a> 35 {% endif %} 36 {% endif %} 37 {% if request.user.is_authenticated %} 38 <a type"button" class="btn waves-effect blue darken-1" href="{% url 'events:update_evento_participante' evento.id %}"><i class="material-icons left">border_color</i>Editar Evento 39 </a> 34 40 {% endif %} 35 41 </div> -
eventos/urls.py
rd9b20e6 r9c25cd2 20 20 url(r'^actualizar-evento/(?P<event_id>\d+)$', UpdateFileEvent.as_view(), 21 21 name='update_evento'), 22 url(r'^actualizar-evento-participantes/(?P<pk>[\w-]+)$', UpdateEventView.as_view(), 23 name='update_evento_participante'), 22 24 ] -
eventos/views.py
rc152e07 r9c25cd2 19 19 ListView, FormView 20 20 ) 21 from django.views.generic.edit import UpdateView 21 22 from django.views.generic.detail import DetailView 22 23 … … 84 85 return redirect(self.success_url) 85 86 try: 86 87 87 88 if self.form_class(request.POST).is_valid() and nuevo_participante.is_valid(): 88 89 nuevo_evento = self.form_class(request.POST, request.FILES).save(commit=False) 89 90 nuevo_evento.serial = consulta_api 91 # Control para guardar y asignar participantes al evento 92 for form in nuevo_participante: 93 instance = form.save(commit=False) 94 if instance.nombres == '' or instance.apellidos == '' or instance.pasaporte == '': 95 messages.error(self.request, "Ninguno de los campos del\ 96 participante puede estar\ 97 vacio excepto el correo") 98 return redirect(self.success_url) 90 99 nuevo_evento.save() 91 # Control para guardar y asignar participantes al evento92 100 for form in nuevo_participante: 93 101 if form.cleaned_data.get('DELETE') and form.instance.pk: … … 332 340 configuración de la firma") 333 341 return redirect(self.success_url) 342 343 344 class UpdateEventView(LoginRequiredMixin, UpdateView): 345 """! 346 Clase que permite actualizar los datos de un evento 347 348 @author Ing. Leonel P. Hernandez M. (lhernandez at cenditel.gob.ve) 349 @copyright <a href='https://www.gnu.org/licenses/gpl-3.0.en.html'>GNU Public License versión 3 (GPLv3)</a> 350 @date 28-11-2017 351 @version 1.0.0 352 """ 353 model = Evento 354 form_class = UpdateEventoForm 355 template_name = 'evento.update.participantes.html' 356 success_url = reverse_lazy('events:list_events') 357 form_participante = FormsetParticipanteEvento 358 359 def get_context_data(self, **kwargs): 360 context = super(UpdateEventView, self).get_context_data(**kwargs) 361 if 'form' not in context: 362 context['form'] = self.form_class() 363 if 'form2' not in context: 364 evento = int(self.kwargs['pk']) 365 participante_evento = Participante.objects.filter(participanteevento__fk_evento=evento) 366 context['form2'] = self.form_participante(queryset=participante_evento) 367 return context 368 369 def post(self, request, *args, **kwargs): 370 print('entra en el valid') 371 evento = int(self.kwargs['pk']) 372 update_participante = self.form_participante(request.POST) 373 print(update_participante) 374 if self.form_class(request.POST).is_valid() and update_participante.is_valid(): 375 evento = self.model.objects.get(pk=evento) 376 update_evento = self.form_class(request.POST, instance=evento).save(commit=False) 377 update_evento.save() 378 379 # Control para guardar y asignar participantes al evento 380 381 for form in update_participante: 382 if form.cleaned_data.get('DELETE') and form.instance.pk: 383 form.instance.delete() 384 else: 385 instance = form.save(commit=False) 386 parametros = { 387 'nombres': instance.nombres, 388 'apellidos': instance.apellidos, 389 'correo': instance.correo 390 } 391 update_participante, create = Participante.objects.update_or_create(pasaporte=instance.pasaporte, defaults=parametros) 392 asigna_evento = ParticipanteEvento( 393 fk_participante=update_participante, 394 fk_evento=update_evento) 395 #asigna_evento.save() 396 397 messages.success(request, "Se actualizó el evento %s" % (update_evento)) 398 return redirect(self.success_url) 399 #return super(UpdateEventView, self).form_valid(form) 400 401 #def form_invalid(self, form, **kwargs): 402 # return super(UpdateEventView, self).form_invalid(form)
Note: See TracChangeset
for help on using the changeset viewer.