X-Git-Url: http://git.cascardo.info/?p=cascardo%2Fema.git;a=blobdiff_plain;f=eventos%2Fviews.py;h=98a1f9286e744db1a27f0427690cb834e82e0fb8;hp=755d091fe53822ee3f140be4336e79def911a3d4;hb=dba30d749f678328c1aded3e7d2813bf27646152;hpb=79952cb192823de33542fe2f950474e3882ae9c4 diff --git a/eventos/views.py b/eventos/views.py index 755d091..98a1f92 100644 --- a/eventos/views.py +++ b/eventos/views.py @@ -18,7 +18,7 @@ from django.http import HttpResponseRedirect, HttpResponseForbidden from django.contrib import auth from django.contrib.auth.forms import AuthenticationForm -from django.newforms import form_for_instance, form_for_model +from django.newforms import form_for_instance, form_for_model, HiddenInput from django.shortcuts import render_to_response, get_object_or_404 from django.template import RequestContext, Context, loader from eventos.models import Palestrante, Trabalho @@ -117,14 +117,11 @@ def talk_delete(request, tid): return forbidden entity = request.user.palestrante_set.get() - if entity.id != int(lid): - return forbidden - - owner = Trabalho.objects.filter(pk=tid, palestrante=entity) - if not owner: + talk = Trabalho.objects.filter(pk=tid, palestrante=entity) + if not talk: return forbidden - entity.delete() + talk.delete() return HttpResponseRedirect('/lecturer/%d/talks/' % entity.id) def talk_add(request): @@ -135,16 +132,18 @@ def talk_add(request): entity = request.user.palestrante_set.get() FormKlass = form_for_model(Trabalho) - form = FormKlass(request.POST or None) + form = FormKlass(request.POST or None, + initial={'palestrante': entity.id}) + + # This field should not be shown to the user. + form.fields['palestrante'].widget = HiddenInput() + # hidding the owner in the other lecturers list other = Palestrante.objects.exclude(pk=entity.id) - form.fields['palestrante'].label = u'Outros Palestrantes' - form.fields['palestrante'].required = False - form.fields['palestrante']._set_queryset(other) + form.fields['outros_palestrantes']._set_queryset(other) if request.POST and form.is_valid(): instance = form.save() - instance.palestrante.add(entity) return HttpResponseRedirect('/lecturer/%d/talks/' % entity.id) c = {'form': form}