aboutsummaryrefslogtreecommitdiffstats
path: root/jm2l/views.py
diff options
context:
space:
mode:
authortr4ck3ur <tr4ck3ur@style-python.fr>2015-02-14 03:40:14 +0100
committertr4ck3ur <tr4ck3ur@style-python.fr>2015-02-14 03:40:14 +0100
commitbf7fdc00bfecee47a3d5025de077bb0640dd3146 (patch)
treeb0d0a8e004540bc4f1ca375f13903e7947657253 /jm2l/views.py
parentc7a0ac5eb2b879d98c986d5c3583ef34737f0a61 (diff)
downloadjm2l-bf7fdc00bfecee47a3d5025de077bb0640dd3146.tar.gz
jm2l-bf7fdc00bfecee47a3d5025de077bb0640dd3146.tar.bz2
jm2l-bf7fdc00bfecee47a3d5025de077bb0640dd3146.tar.xz
jm2l-bf7fdc00bfecee47a3d5025de077bb0640dd3146.zip
Many changes to reorganize third party javascript
Diffstat (limited to 'jm2l/views.py')
-rw-r--r--jm2l/views.py55
1 files changed, 34 insertions, 21 deletions
diff --git a/jm2l/views.py b/jm2l/views.py
index f838dcf..8cb5387 100644
--- a/jm2l/views.py
+++ b/jm2l/views.py
@@ -1,9 +1,9 @@
# -*- coding: utf8 -*-
-from pyramid.httpexceptions import HTTPNotFound, HTTPFound, HTTPForbidden
+from pyramid.httpexceptions import HTTPFound, HTTPNotFound, HTTPForbidden
from pyramid.httpexceptions import HTTPBadRequest, HTTPUnauthorized
from pyramid.renderers import render_to_response
from pyramid.response import Response
-
+from pyramid.view import notfound_view_config, forbidden_view_config
from pyramid.view import view_config
# Import Web Forms
from .forms import *
@@ -286,7 +286,7 @@ def tasks(request):
if task_id:
Task = Tasks.by_id(int(task_id))
if not Task:
- return HTTPNotFound()
+ raise HTTPNotFound()
form = EditStaffTasks(request.POST, Task, meta={'csrf_context': request.session})
else:
Task = Tasks()
@@ -388,7 +388,7 @@ def jm2l_page(request):
if UserNum:
profil = User.by_id(int(UserNum))
if not profil:
- return HTTPNotFound()
+ raise HTTPNotFound()
else:
profil = request.user
# Build Form
@@ -439,7 +439,7 @@ def Modal(request):
if uid>0:
place = Place.by_id(uid)
if not place:
- return HTTPNotFound()
+ raise HTTPNotFound()
form = PlaceUpdateForm(request.POST, place, meta={'csrf_context': request.session})
else:
place = Place()
@@ -462,7 +462,7 @@ def Modal(request):
if uid>0:
Exch = Exchange.by_id(uid)
if not Exch:
- return HTTPNotFound()
+ raise HTTPNotFound()
if modtype in ['AskC','PropC']:
form = globals()["Update%sForm" % modtype](request.POST, Exch,
start_place = Exch.Itin.start_place,
@@ -584,9 +584,9 @@ def Modal(request):
if uid>0:
Exch = Exchange.by_id(uid)
if not Exch:
- return HTTPNotFound()
+ raise HTTPNotFound()
else:
- return HTTPNotFound()
+ raise HTTPNotFound()
# Show Details around the Current Exchange
return {'modtype':modtype, 'Exch':Exch, 'logged_in':request.authenticated_userid }
@@ -641,11 +641,11 @@ def show_event(request):
if event_id.isdigit():
TheEvent = Event.by_id(event_id)
if TheEvent is None:
- return HTTPNotFound()
+ raise HTTPNotFound()
else:
TheEvent = Event.by_slug(event_id, year)
if TheEvent is None:
- return HTTPNotFound()
+ raise HTTPNotFound()
MainTab = {'programme':'','presse':'', 'plan':'', 'participer':'',
'event':TheEvent, 'logged_in':request.authenticated_userid }
return MainTab
@@ -686,13 +686,13 @@ def edit_event(request):
IntervLabel = u'conférence'
# Check intervention
if not intervention in ['Stand', 'Table ronde', 'Atelier', 'Conference']:
- return HTTPNotFound(u"Ce type d'évenement n'est pas reconnu")
+ raise HTTPNotFound(u"Ce type d'évenement n'est pas reconnu")
TheYear = DBSession.query(JM2L_Year)\
.filter(JM2L_Year.year_uid==year)\
- .one()
+ .all()
# Check year avaibility
if not TheYear:
- return HTTPNotFound(u"Cette année n'est pas pris en charge")
+ raise HTTPNotFound(u"Cette année n'est pas pris en charge")
# Generate Timeslots for current year
TimeSlots = list(enumerate( [ x.strftime('%a %d %b %H:%M') for x in
TheYear.AvailableTimeSlots ] ))
@@ -702,11 +702,11 @@ def edit_event(request):
if event_id.isdigit():
TheEvent = Event.by_id(event_id)
if TheEvent is None:
- return HTTPNotFound(u"Cette réference n'existe pas")
+ raise HTTPNotFound(u"Cette réference n'existe pas")
else:
TheEvent = Event.by_slug(event_id, year)
if TheEvent is None:
- return HTTPNotFound(u"Cette réference n'existe pas")
+ raise HTTPNotFound(u"Cette réference n'existe pas")
if not (request.user.uid==1 or request.user in TheEvent.intervenants):
return HTTPForbidden(u"Vous n'êtes pas identifié comme étant un participant à cette intervention.")
@@ -822,11 +822,11 @@ def show_tiers(request):
if entity_id.isdigit():
TheTiers = Tiers.by_id(entity_id)
if TheTiers is None:
- return HTTPNotFound()
+ raise HTTPNotFound()
else:
TheTiers = Tiers.by_slug(entity_id)
if TheTiers is None:
- return HTTPNotFound()
+ raise HTTPNotFound()
MainTab = {'programme':'','presse':'', 'plan':'', 'participer':'',
'entity':TheTiers, 'logged_in':request.authenticated_userid }
return MainTab
@@ -847,11 +847,11 @@ def edit_tiers(request):
if entity_id.isdigit():
TheTiers = Tiers.by_id(entity_id)
if TheTiers is None:
- return HTTPNotFound()
+ raise HTTPNotFound()
else:
TheTiers = Tiers.by_slug(entity_id)
if TheTiers is None:
- return HTTPNotFound()
+ raise HTTPNotFound()
form = UpdateTiersForm(request.POST, TheTiers, meta={'csrf_context': request.session})
UserOptions = DBSession.query(TiersOpt)\
.filter(TiersOpt.entity_type==TheTiers.tiers_type)\
@@ -990,7 +990,7 @@ def link_user_entity(request):
user_id = int(request.matchdict.get('uid', -1))
TheTiers = Tiers.by_id(uid)
if TheTiers is None:
- return HTTPNotFound()
+ raise HTTPNotFound()
return HTTPFound(location=request.route_url('edit_entity', uid=uid) )
#@view_config(route_name='link_role_entity')
@@ -1000,6 +1000,19 @@ def link_role_entity(request):
role_id = int(request.matchdict.get('role_id', -1))
TheTiers = Tiers.by_id(uid)
if TheTiers is None:
- return HTTPNotFound()
+ raise HTTPNotFound()
return HTTPFound(location=request.route_url('edit_entity', uid=uid) )
+@notfound_view_config()
+def notfound(reason, request):
+ request.response.status = 404
+ return render_to_response('jm2l:templates/Errors/404.mak', { "reason":reason },
+ request=request)
+
+
+@forbidden_view_config()
+def forbidden(reason, request):
+ return Response('forbidden')
+ request.response.status = 404
+ return render_to_response('jm2l:templates/Errors/404.mak', { "reason":reason },
+ request=request) \ No newline at end of file