X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=eventos%2Fviews.py;h=18bc5e6f097c639e6f04cfd9e50bd96c65c7465f;hb=747324b8988116548f6e4f6670bdadd3c4dbe2eb;hp=275958c7b359d379f58e45d0102e5b83ddf31a71;hpb=bb1123fcfeb4cfc430e1bb4d4f3797df09147e19;p=cascardo%2Fema.git diff --git a/eventos/views.py b/eventos/views.py index 275958c..18bc5e6 100644 --- a/eventos/views.py +++ b/eventos/views.py @@ -158,11 +158,6 @@ def talk_details(request, tid): entity = get_object_or_404(Trabalho, pk=tid) form = TalkForm(request.POST or None, instance=entity) - # avoiding smart people trying to se talks of other speakers. - speaker = request.user.palestrante_set.get() - if speaker.id != entity.palestrante.id: - return forbidden - # These fields should not be shown to the user. form.fields['palestrante'].widget = HiddenInput() form.fields['evento'].widget = HiddenInput() @@ -183,6 +178,12 @@ def talk_details(request, tid): form.fields['outros_palestrantes'].initial = '' form.fields['outros_palestrantes'].widget = HiddenInput() + # avoiding smart people trying to se talks of other speakers. + speaker = request.user.palestrante_set.get() + if speaker.id != entity.palestrante.id \ + and speaker not in entity.outros_palestrantes.all(): + return forbidden + if request.POST and form.is_valid(): form.save() @@ -251,3 +252,17 @@ def talk_add(request): c = {'form': form} return render_to_response('eventos/talk-add.html', Context(c), context_instance=RequestContext(request)) + +def list_all_talks(request): + event = Evento.objects.get(site__id__exact=settings.SITE_ID) + trilhas = Trilha.objects.filter(evento=event) + + improve = [] + for t in trilhas: + talks = Trabalho.objects.filter(trilha=t) + aux = {'trilha':t.nome, 'talks':talks} + improve.append(aux) + + c = {'improve': improve,} + return render_to_response('eventos/improve.html', Context(c), + context_instance=RequestContext(request))