def inscricao(request): form = None if request.method == 'GET': form = InscricaoForm(initial={'estado':'PB', 'cidade': 'Campina Grande'}) else: form = InscricaoForm(request.POST) if form.is_valid(): inscricao = form.save(commit=False) inscricao.pago = True inscricao.save() return HttpResponseRedirect(reverse('lti.jatic.views.confirma', args=[inscricao.id,])) #Retirando os acentos devido a restricoes do PagSeguro # inscricao.nome = limpa_texto(inscricao.nome) # inscricao.endereco = limpa_texto(inscricao.endereco) # inscricao.numero = limpa_texto(inscricao.numero) # inscricao.complemento = limpa_texto(inscricao.complemento) # inscricao.bairro = limpa_texto(inscricao.bairro) # inscricao.cidade = limpa_texto(inscricao.cidade) # params = { # 'dados': inscricao, # 'cep': inscricao.cep.replace('-', ''), # 'ddd': split_telefone(inscricao.telefone)[0], # 'telefone': split_telefone(inscricao.telefone)[1] # } # return direct_to_template(request, 'jatic/pagamento.html', params) return direct_to_template(request, 'jatic/inscricao.html', {'form': form,})
def confirma(request, id_inscricao): inscricao = Inscricao.objects.get(id=id_inscricao) form = InscricaoForm(instance=inscricao) if request.POST: form = InscricaoForm(request.POST, instance=inscricao) if form.is_valid(): inscricao = form.save() atracoes_disponiveis = [atracao for atracao in Atracao.objects.filter(vagas__gte=0).order_by('horaInicio', 'horaFim')] atracoes_selecionadas = [alocacao.atracao for alocacao in Alocacao.objects.filter(inscricao=inscricao)] # Removendo as atracoes que ja foram selecionadas for atracao in atracoes_selecionadas: atracoes_disponiveis.remove(atracao) # Removendo as atracoes com choques de horario for i in range(4): for a1 in atracoes_selecionadas: for a2 in atracoes_disponiveis: if a2.horaInicio >= a1.horaInicio and a2.horaInicio <= a1.horaFim: atracoes_disponiveis.remove(a2) return direct_to_template(request, 'jatic/confirma.html', {'form': form, 'inscricao': inscricao, 'atracoes_disponiveis': atracoes_disponiveis, 'atracoes_selecionadas': atracoes_selecionadas})