adicionando formulário de inscrição
authorLincoln de Sousa <pythonwarrior@pidinti.localdomain>
Thu, 9 Aug 2007 17:32:06 +0000 (14:32 -0300)
committerLincoln de Sousa <pythonwarrior@pidinti.localdomain>
Thu, 9 Aug 2007 17:32:06 +0000 (14:32 -0300)
forms.py
templates/inscricao.html [new file with mode: 0644]
urls.py
views.py

index b2f8111..bd94a5f 100644 (file)
--- 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 (file)
index 0000000..edb3a22
--- /dev/null
@@ -0,0 +1,19 @@
+{% extends "base.html" %}
+{% block content %}
+
+{% if ok %}
+
+<div class="confirmation">
+    <p>Cadastro efetuado com sucesso, você já foi autenticado.</p>
+</div>
+
+{% else %}
+
+<form id="cadastro" method="post" action=".">
+    {{ form.as_p }}
+    <input type="submit" value="Ok!" />
+</form>
+
+{% endif %}
+
+{% endblock %}
diff --git a/urls.py b/urls.py
index 8fe1e45..e378804 100644 (file)
--- 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',
index 1d97374..5e29b40 100644 (file)
--- 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})