From: Thadeu Lima de Souza Cascardo Date: Fri, 28 Sep 2007 11:49:45 +0000 (-0300) Subject: Merge branch 'master' of /var/www/emsl2007/eventmanager/ X-Git-Url: http://git.cascardo.info/?p=cascardo%2Feventmanager.git;a=commitdiff_plain;h=d0f8a3ab75f2c71f442beb5fd5cb9852ac75a4d9 Merge branch 'master' of /var/www/emsl2007/eventmanager/ Conflicts: forms.py settings.py templates/meus_trabalhos.html views.py --- d0f8a3ab75f2c71f442beb5fd5cb9852ac75a4d9 diff --cc views.py index 58e9a37,077786f..b74f4fc --- a/views.py +++ b/views.py @@@ -17,19 -17,26 +17,35 @@@ License along with this program; if not Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. """ ++<<<<<<< HEAD/views.py +from django.shortcuts import render_to_response, get_object_or_404 +from django.template import RequestContext, Context ++======= + from django.shortcuts import render_to_response, get_object_or_404 + from django.template import RequestContext, Context, loader ++>>>>>>> 11faa820abeb69b688db5076aa4c1cc663dfeb53/views.py from django.contrib.auth.decorators import login_required, user_passes_test from django.contrib.auth.models import Group, User - from django.contrib.auth.forms import AuthenticationForm - from django.contrib.auth import login + from django.contrib.auth import authenticate, login + from django.newforms import form_for_instance + from django.core.mail import EmailMessage from django.db import transaction + from django.http import get_host + from django.conf import settings from eventmanager.decorators import enable_login_form - from eventmanager.forms import * 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={}): """ @@@ -179,6 -325,6 +334,32 @@@ def meus_trabalhos(request) 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): @@@ -204,24 -350,51 +385,52 @@@ 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) + + form = Formulario(request.POST or None) + if request.POST and 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) + + c = {'formulario': form} + return build_response(request, 'editar_trabalho.html', c) + ++>>>>>>> 11faa820abeb69b688db5076aa4c1cc663dfeb53/views.py + @login_required def meus_dados(request): - form = EditarPalestrante(request.POST or None) - palestrante = request.user.palestrante_set.get() - ok = False + try: + entity = request.user.palestrante_set.get() + except Palestrante.DoesNotExist: + entity = request.user.participante_set.get() + + FormKlass = form_for_instance(entity) - for name, field in form.fields.items(): - field.initial = getattr(palestrante, name) + # ugly hammer to hide some fields... + del FormKlass.base_fields['usuario'] + ok = False + 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(palestrante, name, cd[name]) - palestrante.save() + form.save() ok = True - c = {'form': form, 'ok': ok} - return build_response(request, 'editar_palestrante.html', c) + c = {'form': form, 'ok': ok, 'title': entity.__class__.__name__} + return build_response(request, 'editar_usuario.html', c) @enable_login_form