def detail_candidato(request, id): candidato = get_object_or_404(Candidato, id=id) data = { 'candidato': candidato, 'formCandidato': CandidatoForm(instance=candidato), 'formPersona': PersonaForm(instance=candidato.persona) } ## Update info candidato if request.method == 'POST': formPersona = PersonaForm(data=request.POST, instance=candidato.persona) formCandidato = CandidatoForm(data=request.POST, instance=candidato) if formPersona.is_valid() and formCandidato.is_valid(): formPersona.save() formCandidato.save() messages.success(request, "Se han actualizado los datos correctamente") return redirect(to="detalle_candidato", id=id) else: data["formPersona"] = formPersona data["formCandidato"] = formCandidato return render(request, 'candidatos/modificar.html', data)
def persona_view(request): if request.method == 'POST': form = PersonaForm(request.POST) if form.is_valid(): form.save() return redirect('persona:persona_listar') else: form = PersonaForm return render(request, 'persona/persona_form.html', {'form': form})
def persona_edit(request, id_persona): persona = Persona.objects.get(id=id_persona) if request.method == 'GET': form = PersonaForm(instance=persona) else: form = PersonaForm(request.POST, instance=persona) if form.is_valid(): form.save() return redirect('persona:persona_listar') return render(request, 'persona/persona_form.html', {'form': form})
def register(request): data = { 'form': CustomUserCreationForm(), 'formPersona': PersonaForm(), 'formAgregarEmpresa': AgregarEmpresaForm(), } if request.method == 'POST': formUsuario = CustomUserCreationForm(data=request.POST) formPersona = PersonaForm(data=request.POST) formAgregarEmpresa = AgregarEmpresaForm(data=request.POST) if formUsuario.is_valid() and formPersona.is_valid( ) and formAgregarEmpresa.is_valid(): user = formUsuario.save() persona = formPersona.save() empresa = Empresa(persona=persona, usuario=user) formAgregarEmpresa = AgregarEmpresaForm(data=request.POST, instance=empresa) formAgregarEmpresa.save() user = authenticate( username=formUsuario.cleaned_data["username"], password=formUsuario.cleaned_data["password1"]) login(request, user) messages.success(request, "Se ha creado el usuario correctamente") return redirect(to="candidatos") else: data["form"] = formUsuario data["formPersona"] = formPersona data["formAgregarEmpresa"] = formAgregarEmpresa return render(request, 'registration/registro.html', data)
def post(self, request, *args, **kwargs): try: if request.method == "POST": form = PersonaForm(request.POST) if form.is_valid(): post = form.save(commit=False) post.save() return redirect('persona:detalle', pk=post.pk) except UnboundLocalError: form = PersonaForm() messages.success(self.request, self.success_error) return render(request, "persona/persona_form.html", {'form': form})
def settings(request): empresa = Empresa.objects.filter(usuario=request.user)[0] formEmpresa = EmpresaForm(instance=empresa) ##formUsuario = UserCreationForm(instance=empresa.usuario) formPersona = PersonaForm(instance=empresa.persona) data = { "empresa": empresa, "formEmpresa": formEmpresa, "formPersona": formPersona, ##"formUsuario": formUsuario } if request.method == 'POST': formEmpresa = EmpresaForm(data=request.POST, instance=empresa) formPersona = PersonaForm(data=request.POST, instance=empresa.persona) ##formUsuario = UserCreationForm(data=request.POST, instance=empresa.usuario) if formPersona.is_valid(): formPersona.save() messages.success( request, "Se ha guardado la informacion correctamente") else: data["formPersona"] = formPersona if formEmpresa.is_valid(): formEmpresa.save() messages.success( request, "Se ha guardado la informacion correctamente") else: data["formEmpresa"] = formEmpresa ##if formUsuario.is_valid(): ##formUsuario.save() ##messages.success(request, "Se ha guardado la informacion correctamente") ##else: ## data["formUsuario"] = formUsuario return render(request, 'empresa/settings.html', data)
def add_candidato(request): data = { 'formPersona': PersonaForm(), 'formCandidato': AgregarCandidatoForm() } if request.method == 'POST': formularioCandidato = AgregarCandidatoForm(data=request.POST) formularioPersona = PersonaForm(data=request.POST) ## Se guarda la informacion del candidato if formularioPersona.is_valid() and formularioCandidato.is_valid(): persona = formularioPersona.save() formularioCandidato = AgregarCandidatoForm( data=request.POST, instance=Candidato(persona=persona)) candidato = formularioCandidato.save() messages.success( request, "Se ha registrado el candidato correctamente") return redirect(to="detalle_candidato", id=candidato.id) else: data["formPersona"] = formularioPersona data["formCandidato"] = formularioCandidato return render(request, 'candidatos/agregar.html', data)