X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=views.py;h=f5de3571f291ddae266db653b0792b10f547fbde;hb=ed577d79ed2ae85bfb820a025969feb573c6d45a;hp=0e3082e036158336ae125275843c58f938082dc8;hpb=77290a6509f16277dff60b9c6bb8d0a37b5102fe;p=cascardo%2Feventmanager.git diff --git a/views.py b/views.py index 0e3082e..f5de357 100644 --- a/views.py +++ b/views.py @@ -22,7 +22,9 @@ from django.template import RequestContext, Context, loader from django.contrib.auth.decorators import login_required, user_passes_test from django.contrib.auth.models import Group, User from django.contrib.auth import authenticate, login +from django.contrib.admin.views.decorators import staff_member_required from django.newforms import form_for_instance +from django.core.exceptions import ObjectDoesNotExist from django.core.mail import EmailMessage from django.db import transaction from django.http import get_host @@ -32,6 +34,7 @@ from eventmanager.decorators import enable_login_form from eventmanager.conteudo.models import Noticia, Menu, Secao from eventmanager.eventos.models import * from eventmanager.forms import * +from eventmanager.controllers import * from datetime import datetime import sha @@ -321,11 +324,34 @@ 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) +@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,7 +377,6 @@ def editar_trabalho(request, codigo): c = {'formulario': form} return build_response(request, 'editar_trabalho.html', c) - @login_required def meus_dados(request): try: @@ -374,6 +399,42 @@ def meus_dados(request): return build_response(request, 'editar_usuario.html', c) +@enable_login_form +def dados_palestrante(request, codigo): + d = {} + try: + d = {'dados_usuario': Palestrante.objects.get(id=codigo)} + except ObjectDoesNotExist: + d = {} + return build_response(request, 'dados_palestrante.html', d) + + +@enable_login_form +def dados_palestra(request, codigo): + try: + d = {'dados_palestra': Trabalho.objects.get(id=codigo)} + except ObjectDoesNotExist: + d = {} + return build_response(request, 'dados_palestra.html',d) + + +@enable_login_form +def programacao(request): + try: + d = {'aprovadas': Trabalho.objects.filter(aprovado=True).order_by('dia','time_start')} + except ObjectDoesNotExist: + d = {} + return build_response(request, 'programacao.html',d) + +@enable_login_form +@staff_member_required +def grade(request): + try: + d = {'aprovadas': Trabalho.objects.filter(aprovado=True).order_by('dia', 'time_start')} + except ObjectDoesNotExist: + d = {} + return build_response(request, 'grade.html', d) + @enable_login_form def chamada_trabalhos(request): return build_response(request, 'chamada_trabalhos.html')