aboutsummaryrefslogtreecommitdiffstats
path: root/jm2l/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'jm2l/views.py')
-rw-r--r--jm2l/views.py45
1 files changed, 22 insertions, 23 deletions
diff --git a/jm2l/views.py b/jm2l/views.py
index 28d34b7..6fe3e4a 100644
--- a/jm2l/views.py
+++ b/jm2l/views.py
@@ -6,6 +6,7 @@ from pyramid.response import Response
from pyramid.view import notfound_view_config, forbidden_view_config
from pyramid.view import view_config
from pyramid_mailer import get_mailer
+from pyramid_mailer.message import Attachment, Message
from mako.template import Template
# Import Web Forms
from .forms import *
@@ -18,10 +19,8 @@ from slugify import slugify
from icalendar import Calendar
from pytz import timezone
from icalendar import Event as Evt
-from pyramid_mailer import get_mailer
-from pyramid_mailer.message import Attachment, Message
# Then, standard libs
-import webhelpers.paginate as paginate
+import paginate
import unicodedata
import time
import datetime
@@ -87,8 +86,8 @@ def JSON_User_Request(request):
# Query database
Users = DBSession.query(User.uid, User.nom, User.prenom)\
.filter(User.slug.contains( remove_accents(UserQuery) ))
- page_url = paginate.PageURL_WebOb(request)
- records = paginate.Page(Users, current_page, url=page_url, items_per_page=pageSize)
+ records = paginate.Page(Users, current_page, items_per_page=pageSize,
+ url_maker=lambda p: "%s?page=%s" % (request.application_url, p))
ListMatchUser = map( lambda u:{"id": u.uid, "text":"%s %s" % ( u.prenom, u.nom )}, records )
return { "Results": ListMatchUser, "Total":records.item_count,
"logged_in":request.authenticated_userid }
@@ -112,8 +111,8 @@ def JSON_Tiers_Request(request):
# Query database
JTiers = DBSession.query(Tiers.uid, Tiers.name)\
.filter(Tiers.slug.contains( remove_accents(TiersQuery) ))
- page_url = paginate.PageURL_WebOb(request)
- records = paginate.Page(JTiers, current_page, url=page_url, items_per_page=pageSize)
+ records = paginate.Page(JTiers, current_page, items_per_page=pageSize,
+ url_maker=lambda p: "%s?page=%s" % (request.application_url, p))
ListMatchTiers = map( lambda t:{"id": t.uid, "text": t.name }, records )
return { "Results": ListMatchTiers, "Total":records.item_count,
"logged_in":request.authenticated_userid }
@@ -580,20 +579,20 @@ def Modal(request):
form.populate_obj(Exch)
if modtype in ['AskC', 'PropC']:
Exch.itin_id = Itinerary.itin_id
- if form._fields.has_key("Hour_start"):
+ if "Hour_start" in form._fields:
TargetTime = datetime.datetime.strptime('%d %d %d %s' % (year, int(Week), \
int(form.Day_start.data), form.Hour_start.data), "%Y %W %w %H:%M")
Exch.start_time = TargetTime
- elif form._fields.has_key("Day_start"):
+ elif "Day_start" in form._fields:
TargetTime = datetime.datetime.strptime('%d %d %d' % (year, int(Week), \
int(form.Day_start.data)), "%Y %W %w")
Exch.start_time = TargetTime
- if form._fields.has_key("Hour_end"):
+ if "Hour_end" in form._fields:
TargetTime = datetime.datetime.strptime('%d %d %d %s' % (year, int(Week), \
int(form.Day_end.data), form.Hour_end.data), "%Y %W %w %H:%M")
Exch.end_time = TargetTime
- elif form._fields.has_key("Day_end"):
+ elif "Day_end" in form._fields:
TargetTime = datetime.datetime.strptime('%d %d %d' % (year, int(Week), \
int(form.Day_end.data)), "%Y %W %w")
Exch.end_time = TargetTime
@@ -816,7 +815,7 @@ def edit_event(request):
]
if not duration in [15, 30, 60, 90]:
form.duration.choices.append( (duration,u'Conférence (%d min)' % duration) )
- if not form._fields.has_key("uid"):
+ if not "uid" in form._fields:
form.duration.data=60
elif intervention=="Stand":
form.duration.choices =[
@@ -826,12 +825,12 @@ def edit_event(request):
elif intervention=="Atelier":
form.duration.choices = map( lambda d:(d, u'Atelier (%dh%.2d)' % (d/60, d%60) ), \
[60, 90, 120, 150, 180, 210, 240] )
- if not duration in map(lambda (d,y): d, form.duration.choices):
+ if not duration in map(lambda d,y: d, form.duration.choices):
form.duration.choices.append( (duration,u'Atelier (%dh%.2d)' % (duration/60, duration%60) ) )
elif intervention=="Table_Ronde":
form.duration.choices = map( lambda d:(d, u'Table ronde (%dh%.2d)' % (d/60, d%60) ), \
[60, 90, 120, 150] )
- if not duration in map(lambda (d,y): d, form.duration.choices):
+ if not duration in map(lambda d,y: d, form.duration.choices):
form.duration.choices.append( (duration,u'Table ronde (%dh%.2d)' % (duration/60, duration%60) ) )
else:
return HTTPForbidden(u"Pas encore disponible.")
@@ -848,7 +847,7 @@ def edit_event(request):
TheEvent.start_time = TheYear[0].AvailableTimeSlots[form.start_sel.data]
TheEvent.end_time = TheEvent.start_time + datetime.timedelta(minutes=form.duration.data)
# Ok, time to put in database
- if not form._fields.has_key("uid"):
+ if not "uid" in form._fields:
TheEvent.slug = slugify(TheEvent.name)
DBSession.add(TheEvent)
# Append creator by default
@@ -954,7 +953,7 @@ def edit_tiers(request):
form.populate_obj(TheTiers)
# Handle Remove of accents
TheTiers.slug = slugify(form.name.data)
- if not form._fields.has_key('uid'):
+ if not "uid" in form._fields:
TheTiers.creator_id = request.user.uid
DBSession.add(TheTiers)
DBSession.flush()
@@ -981,32 +980,32 @@ def edit_tiers_category(request):
regT= RegTitle.match(key)
reg = RegExist.match(key)
if reg:
- if not DicResult.has_key(reg.group('slug')):
+ if not reg.group('slug') in DicResult:
DicResult[reg.group('slug')] = dict()
- if DicResult[reg.group('slug')].has_key('items'):
+ if 'items' in DicResult[reg.group('slug')]:
DicResult[reg.group('slug')]['items'].append( ( int(reg.group('id')), value ) )
else:
DicResult[reg.group('slug')]['items'] = [ ( int(reg.group('id')), value ) ]
elif regN:
- if not DicResult.has_key(regN.group('slug')):
+ if not regN.group('slug') in DicResult:
DicResult[regN.group('slug')] = dict()
- if DicResult[regN.group('slug')].has_key('items'):
+ if 'items' in DicResult[regN.group('slug')]:
DicResult[regN.group('slug')]['items'].append( ( 'id', value ) )
else:
DicResult[regN.group('slug')]['items'] = [ ( 'id', value ) ]
ListChanges.append(('add', 0, DicResult[regN.group('slug')]['title'], value))
elif regT:
- if not DicResult.has_key(regT.group('slug')):
+ if not regT.group('slug') in DicResult:
DicResult[regT.group('slug')] = dict()
DicResult[regT.group('slug')]['title'] = value
else:
raise
for opt in DBSession.query(TiersOpt).all():
- if DicResult.has_key(opt.slug_entity_type):
- found = filter( lambda (x,y): opt.uid==x,
+ if opt.slug_entity_type in DicResult:
+ found = filter( lambda x,y: opt.uid==x,
DicResult[opt.slug_entity_type].get('items', []))
if not found:
ListChanges.append(('remove', opt.uid, opt.entity_type, opt.entity_subtype))