From 3c401a7a403620593db02441a6cb5fce0cd88985 Mon Sep 17 00:00:00 2001 From: Lincoln de Sousa Date: Thu, 9 Aug 2007 14:32:06 -0300 Subject: [PATCH] =?utf8?q?adicionando=20formul=C3=A1rio=20de=20inscri?= =?utf8?q?=C3=A7=C3=A3o?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- forms.py | 12 ++++++++++++ templates/inscricao.html | 19 +++++++++++++++++++ urls.py | 1 + views.py | 39 +++++++++++++++++++++------------------ 4 files changed, 53 insertions(+), 18 deletions(-) create mode 100644 templates/inscricao.html diff --git a/forms.py b/forms.py index b2f8111..bd94a5f 100644 --- a/forms.py +++ b/forms.py @@ -66,3 +66,15 @@ class CadastroPalestrante(forms.Form): uf = forms.ChoiceField(choices=STATE_CHOICES) area_interesse = forms.MultipleChoiceField(label='Áreas de Interesse') + + +class Inscricao(forms.Form): + nome_completo = forms.CharField(max_length=100) + cpf = forms.CharField(max_length=100) + email = forms.CharField(max_length=100) + + rua = forms.CharField(max_length=100) + numero = forms.CharField(max_length=10, label='Número') + bairro = forms.CharField(max_length=100) + cidade = forms.CharField(max_length=100) + uf = forms.ChoiceField(choices=STATE_CHOICES) diff --git a/templates/inscricao.html b/templates/inscricao.html new file mode 100644 index 0000000..edb3a22 --- /dev/null +++ b/templates/inscricao.html @@ -0,0 +1,19 @@ +{% extends "base.html" %} +{% block content %} + +{% if ok %} + +
+

Cadastro efetuado com sucesso, você já foi autenticado.

+
+ +{% else %} + +
+ {{ form.as_p }} + +
+ +{% endif %} + +{% endblock %} diff --git a/urls.py b/urls.py index 8fe1e45..e378804 100644 --- a/urls.py +++ b/urls.py @@ -28,6 +28,7 @@ urlpatterns = patterns('', (r'^admin/', include('django.contrib.admin.urls')), (r'^logout/', 'django.contrib.auth.views.logout', {'next_page': '/'}), + (r'^inscricao/', views.inscricao), (r'^inscrever_palestra/', views.inscrever_palestra), (r'^cadastro/', views.cadastro), (r'^site_media/(.*)$', 'django.views.static.serve', diff --git a/views.py b/views.py index 1d97374..5e29b40 100644 --- a/views.py +++ b/views.py @@ -25,27 +25,28 @@ from django.contrib.auth.forms import AuthenticationForm from django.contrib.auth import login from eventmanager.decorators import enable_login_form -from eventmanager.forms import InscreverPalestra, CadastroPalestrante +from eventmanager.forms import * from eventmanager.conteudo.models import Noticia, Menu, Secao from eventmanager.eventos.models import * -@enable_login_form -def index(request): +def build_response(request, template, extra={}): news = Noticia.objects.order_by('-data_criacao') menus = Menu.objects.all() index_sections = Secao.objects.filter(index=True) - - c = Context({'news': news, 'menu': menus, - 'index_sections': index_sections}) - return render_to_response('index.html', c, + c = {'news': news, 'menu': menus, + 'index_sections': index_sections} + c.update(extra) + return render_to_response(template, Context(c), context_instance=RequestContext(request)) @enable_login_form -def cadastro(request): - # context extension - c = {} +def index(request): + return build_response(request, 'index.html') + +@enable_login_form +def cadastro(request): if request.POST: # django's newforms lib requires a new instance of a form to be bounded # with data, to be validated and used. @@ -109,15 +110,20 @@ def cadastro(request): login(request, got_user) else: form = CadastroPalestrante() + return build_response(request, 'cadastro.html', {'form': form}) - c.update({'form': form}) - return render_to_response('cadastro.html', Context(c), - context_instance=RequestContext(request)) + +@enable_login_form +def inscricao(request): + if request.POST: + form = Inscricao(request.POST) + else: + form = Inscricao() + return build_response(request, 'inscricao.html', {'form': form}) @login_required def inscrever_palestra(request): - c = {} if request.POST: form = InscreverPalestra(request.POST) if form.is_valid(): @@ -135,7 +141,4 @@ def inscrever_palestra(request): p.palestrante.add() else: form = InscreverPalestra() - c.update({'form': form}) - - return render_to_response('inscrever_palestra.html', Context(c), - context_instance=RequestContext(request)) + return build_response(request, 'inscrever_palestra.html', {'form': form}) -- 2.20.1