-def inscrever_palestra(request):
- c = {}
- if request.POST:
- form = InscreverPalestra(request.POST)
- if form.is_valid():
- cd = form.cleaned_data
- p = Palestra()
- p.titulo = cd['titulo']
- p.tema = cd['tema']
- p.categoria = CategoriaPalestra.objects.get(pk=cd['categoria'])
- p.descricao_curta = cd['descricao_curta']
- p.descricao_longa = cd['descricao_longa']
- p.evento = Evento.objects.get(pk=1) # let the hammer play arround!
- p.save()
+@user_passes_test(lambda u:u.palestrante_set.count() == 1, login_url='/')
+def submeter_trabalho(request):
+ form = SubmeterTrabalho(request, request.POST or None)
+ ok = False
+
+ if request.POST and form.is_valid():
+ cd = form.cleaned_data
+ t = Trabalho()
+ t.titulo = cd['titulo']
+ t.tipo = TipoTrabalho.objects.get(pk=cd['tipo'])
+ t.categoria = CategoriaTrabalho.objects.get_or_create(nome='Pendente')[0]
+ t.descricao_curta = cd['descricao_curta']
+ t.descricao_longa = cd['descricao_longa']
+ t.recursos = cd['recursos']
+ t.evento = Evento.objects.get(pk=1) # let the hammer play arround!
+ t.save()
+
+ logged_in = request.user.palestrante_set.get()
+ t.palestrante.add(logged_in)
+ for i in cd.get('outros_palestrantes', []):
+ up = Palestrante.objects.get(pk=int(i))
+ t.palestrante.add(up)
+ ok = True
+
+ c = {'form': form, 'ok': ok}
+ return build_response(request, 'inscrever_palestra.html', c)
+
+
+@login_required
+@user_passes_test(lambda u:u.palestrante_set.count() == 1, login_url='/')
+def meus_trabalhos(request):
+ try:
+ p = Palestrante.objects.get(usuario=request.user)
+ except Palestrante.DoesNotExist:
+ # não palestrante...
+ c = {'palestrante': 0}
+ return build_response(request, 'meus_trabalhos.html', c)
+
+ t = Trabalho.objects.filter(palestrante=p)
+ c = {'trabalhos': t, 'palestrante': 1}
+ return build_response(request, 'meus_trabalhos.html', c)