adding a new field to maintain which is the owner of
[cascardo/ema.git] / eventos / views.py
index 755d091..98a1f92 100644 (file)
@@ -18,7 +18,7 @@
 from django.http import HttpResponseRedirect, HttpResponseForbidden
 from django.contrib import auth
 from django.contrib.auth.forms import AuthenticationForm
 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
 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()
         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
 
         return forbidden
 
-    entity.delete()
+    talk.delete()
     return HttpResponseRedirect('/lecturer/%d/talks/' % entity.id)
 
 def talk_add(request):
     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)
 
     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)
     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()
 
     if request.POST and form.is_valid():
         instance = form.save()
-        instance.palestrante.add(entity)
         return HttpResponseRedirect('/lecturer/%d/talks/' % entity.id)
 
     c = {'form': form}
         return HttpResponseRedirect('/lecturer/%d/talks/' % entity.id)
 
     c = {'form': form}