X-Git-Url: http://git.cascardo.info/?p=cascardo%2Feventmanager.git;a=blobdiff_plain;f=views.py;h=41223aab1246b0d54e0e7c9c9464ce53c3cd4654;hp=245b0bd98d9dacf4b44c26ae931b2a89825ba77a;hb=95c63a1a88c14308f58db9504b94fd1844be624f;hpb=838f1585f18722b3913b70363ca73a84305802f9 diff --git a/views.py b/views.py index 245b0bd..41223aa 100644 --- a/views.py +++ b/views.py @@ -31,12 +31,16 @@ from django.conf import settings from eventmanager.decorators import enable_login_form from eventmanager.conteudo.models import Noticia, Menu, Secao from eventmanager.eventos.models import * +<<<<<<< HEAD/views.py +from django.newforms import form_for_instance +======= from eventmanager.forms import * from datetime import datetime import sha FROM_EMAIL = 'Emsl 2007 ' +>>>>>>> 11faa820abeb69b688db5076aa4c1cc663dfeb53/views.py def build_response(request, template, extra={}): """ @@ -321,11 +325,60 @@ def meus_trabalhos(request): # 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) +<<<<<<< HEAD/views.py +@login_required +@user_passes_test(lambda u:u.palestrante_set.count() == 1, login_url='/') +def editar_trabalho(request,codigo): + 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) + trabalho = get_object_or_404(Trabalho, id=codigo,palestrante=p) + Formulario = form_for_instance(trabalho) + if request.method == 'POST': + form = Formulario(request.POST) + if form.is_valid(): + form.save() + t = Trabalho.objects.filter(palestrante=p) + c = {'trabalhos': t, 'palestrante': 1} + c['editado_sucesso']=trabalho.titulo + return build_response(request, 'meus_trabalhos.html', c) + else: + form = Formulario() + + c = {'formulario':form} + return build_response(request, 'editar_trabalho.html', c) +======= +@login_required +@user_passes_test(lambda u:u.palestrante_set.count() == 1, login_url='/') +def editar_trabalho(request,codigo): + 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) + trabalho = get_object_or_404(Trabalho, id=codigo,palestrante=p) + Formulario = form_for_instance(trabalho) + if request.method == 'POST': + form = Formulario(request.POST) + if form.is_valid(): + form.save() + t = Trabalho.objects.filter(palestrante=p) + c = {'trabalhos': t, 'palestrante': 1} + c['editado_sucesso']=trabalho.titulo + return build_response(request, 'meus_trabalhos.html', c) + else: + form = Formulario() + + c = {'formulario':form} + return build_response(request, 'editar_trabalho.html', c) @login_required @user_passes_test(lambda u:u.palestrante_set.count() == 1, login_url='/') @@ -351,6 +404,7 @@ def editar_trabalho(request, codigo): c = {'formulario': form} return build_response(request, 'editar_trabalho.html', c) +>>>>>>> 11faa820abeb69b688db5076aa4c1cc663dfeb53/views.py @login_required def meus_dados(request): @@ -364,17 +418,10 @@ def meus_dados(request): # ugly hammer to hide some fields... del FormKlass.base_fields['usuario'] - form = FormKlass(request.POST or None) ok = False - - for name, field in form.fields.items(): - field.initial = getattr(entity, name) - + form = FormKlass(request.POST or None) if request.POST and form.is_valid(): - cd = form.cleaned_data - for name, field in form.fields.items(): - setattr(entity, name, cd[name]) - entity.save() + form.save() ok = True c = {'form': form, 'ok': ok, 'title': entity.__class__.__name__}