1161 lines
48 KiB
Python
1161 lines
48 KiB
Python
# -*- coding: utf8 -*-
|
||
from pyramid.view import (
|
||
view_config,
|
||
)
|
||
from pyramid.httpexceptions import (
|
||
HTTPFound,
|
||
)
|
||
from pyramid.security import (
|
||
remember,
|
||
forget,
|
||
)
|
||
|
||
from datetime import *
|
||
import json
|
||
|
||
from ..models.inscriptions import *
|
||
from ..models.default import (
|
||
get_eleve_agence,
|
||
)
|
||
|
||
from ..views.default import (
|
||
to_date,
|
||
to_time,
|
||
to_int,
|
||
to_percent,
|
||
ajax_dept_nais,
|
||
envoyerMail,
|
||
getConfirmText,
|
||
getMessageText,
|
||
isMinor,
|
||
)
|
||
|
||
@view_config(route_name='pap_cde', renderer='../templates/inscriptions/pap_cde.pt')
|
||
def pap_cde(request):
|
||
|
||
cd_prospect = request.matchdict['cd_prospect']
|
||
stage_id = request.matchdict['stage_id']
|
||
url = request.route_url('pap_cde', cd_prospect = cd_prospect, stage_id = stage_id)
|
||
|
||
# lire le stage demandé
|
||
stage = get_stage_by_id(request, stage_id)
|
||
if not stage:
|
||
request.session.flash(u"Le stage demandé : %s, est non valide." % stage_id, 'danger')
|
||
return HTTPFound(location=request.route_url("pap_dispo"))
|
||
# reste place disponible ?
|
||
if stage.dispo <= 0:
|
||
request.session.flash(u"Le stage du %s est complet. Veuillez choisir un autre." % stage.debut.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("pap_dispo"))
|
||
|
||
message = ''
|
||
# préparer les listes déroulantes
|
||
civilites = ["M.","Mme","Mlle"]
|
||
origines = get_origines(request)
|
||
montant = get_tarifs(request, 'POINT')
|
||
dept = get_departements(request)
|
||
|
||
# lire le prospect
|
||
contact = get_prospects_by_code(request, cd_prospect)
|
||
if not contact:
|
||
civilite = 'M.'
|
||
nom = ''
|
||
prenom = ''
|
||
adres1 = ''
|
||
adres2 = ''
|
||
code_postal = ''
|
||
no_tel = ''
|
||
mail = ''
|
||
agence_no = 6
|
||
else:
|
||
# prospect cloture ?
|
||
if contact.cloture_le:
|
||
request.session.flash('Dossier déjà traité.', 'danger')
|
||
return HTTPFound(location=request.route_url("affiche_message", login='0'))
|
||
|
||
civilite = contact.civilite
|
||
nom = contact.nom
|
||
prenom = contact.prenom
|
||
adres1 = contact.adresse
|
||
adres2 = contact.adresse2
|
||
code_postal = '%s - %s' % (contact.cp, contact.ville)
|
||
no_tel = contact.tel_portable
|
||
mail = contact.email
|
||
agence_no = contact.agence
|
||
|
||
nom_jf = ''
|
||
date_nais = ''
|
||
lieu_nais = ''
|
||
dept_nais = '069'
|
||
no_permis = ''
|
||
obtenu_le = ''
|
||
lieu_permis = 'RHONE'
|
||
type_stage = ''
|
||
origine = ''
|
||
infraction_lieu = ''
|
||
infraction_le = ''
|
||
infraction_a = ''
|
||
infractionle = to_date(infraction_le)
|
||
infractiona = to_time(infraction_a)
|
||
cb_spam = "oui"
|
||
etape = 1
|
||
|
||
if 'form.next1' in request.params or 'form.next2' in request.params or 'form.submitted' in request.params:
|
||
civilite = request.params['civilite']
|
||
nom = request.params['nom'].upper()
|
||
nom_jf = request.params['nom_jf'].upper()
|
||
prenom = request.params['prenom']
|
||
date_nais = request.params['date_nais']
|
||
datenais = to_date(date_nais) # convertir en format date
|
||
lieu_nais = request.params['lieu_nais']
|
||
dept_nais = request.params['dept_nais']
|
||
adres1 = request.params['adres1']
|
||
adres2 = request.params['adres2']
|
||
code_postal = request.params['code_postal']
|
||
no_tel = request.params['no_tel']
|
||
mail = request.params['mail']
|
||
no_permis = request.params['no_permis']
|
||
obtenu_le = request.params['obtenu_le']
|
||
obtenule = to_date(obtenu_le) # convertir en format date
|
||
lieu_permis = request.params['lieu_permis']
|
||
|
||
if 'type_stage' in request.params:
|
||
type_stage = request.params['type_stage']
|
||
else:
|
||
type_stage = ''
|
||
|
||
# si accepte recevoir info coché ?
|
||
if 'cb_spam' in request.params:
|
||
cb_spam = "oui"
|
||
NePasSpammer = 0
|
||
else:
|
||
cb_spam = "non"
|
||
NePasSpammer = -1
|
||
|
||
infraction_lieu = request.params['infraction_lieu']
|
||
infraction_le = request.params['infraction_le']
|
||
infraction_a = request.params['infraction_a']
|
||
infractionle = to_date(infraction_le)
|
||
infractiona = to_time(infraction_a)
|
||
|
||
message = ctl_saisies(1, code_postal, datenais, obtenule)
|
||
if message == '':
|
||
# pas erreur saisie
|
||
cp = code_postal.split(' - ')
|
||
codpost = cp[0]
|
||
ville = cp[1]
|
||
|
||
etape = 2
|
||
if 'form.next2' in request.params:
|
||
message = ctl_saisies(2, code_postal, datenais, obtenule)
|
||
if message == '':
|
||
if type_stage == 'CAS-2':
|
||
infractionle = to_date(infraction_le)
|
||
infractiona = to_time(infraction_a)
|
||
if infractionle == False or infractiona == False:
|
||
message = "Pour le CAS 2, veuillez saisir une date et une heure d'infraction valides."
|
||
else:
|
||
etape = 3
|
||
else:
|
||
infractionle = None
|
||
infractiona = None
|
||
etape = 3
|
||
|
||
# Bouton terminé
|
||
if 'form.submitted' in request.params:
|
||
etape = 4
|
||
origine = request.params['origine']
|
||
|
||
# On enregistre la fiche élève et on récupère son code
|
||
cd_cli = ins_eleve_by_formule(request, 'POINT', civilite, nom, nom_jf, prenom, datenais, lieu_nais, dept_nais, \
|
||
adres1, adres2, codpost, ville, '', '', no_tel, mail, \
|
||
no_permis, obtenule, lieu_permis, type_stage.replace('-',' '), origine, \
|
||
infraction_lieu,infractionle,infractiona,NePasSpammer, agence_no)
|
||
|
||
# si prospect, mettre son statut = GAGNE
|
||
if contact:
|
||
update_prospect_gagne(request, cd_prospect, cd_cli, contact.cd_uti, agence_no)
|
||
|
||
# inscrire l'élève dans le stage pap
|
||
debut_stage = ins_stage_eleve(request, 'POINT', stage_id, cd_cli, nom, prenom)
|
||
if debut_stage != None:
|
||
# si déjà inscrit, retourne aux dispo
|
||
request.session.flash(u"Vous êtes déjà inscrit(e) au stage du %s. Veuillez consulter votre messagerie pour la confirmation de cette inscription." % debut_stage.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("pap_dispo"))
|
||
else:
|
||
nompren = "%s %s %s" % (civilite, nom, prenom)
|
||
body = getConfirmText(request, 'POINT', nompren, cd_cli,
|
||
'%s au %s à %s' % (stage.debut.strftime("%d-%m-%Y"), stage.fin.strftime("%d-%m-%Y"), stage.debut.strftime("%Hh%M")),
|
||
stage.lieu1, stage.lieu2)
|
||
|
||
# envoyer un message à l'élève et la secrétaire
|
||
agence_email = get_eleve_agence(request, cd_cli).email
|
||
destinataires = [mail, agence_email,]
|
||
envoyerMail(request, destinataires, "Votre réservation pour le stage de RECUPERATION DE POINTS", body)
|
||
|
||
# connecter le client à l'espace Marietton
|
||
request.session.invalidate()
|
||
headers = forget(request)
|
||
headers = remember(request, cd_cli)
|
||
request.session.flash(u"Votre réservation a bien été enregistrée. Elle sera ferme lorsque le réglement sera effectué.", 'info')
|
||
return HTTPFound(location=request.route_url('reglement', ref='PAP', mttotal=montant, nfois='1'), headers=headers)
|
||
|
||
return {
|
||
'page_title': "Stage de Récupération de points - Inscription",
|
||
'url': url,
|
||
'message': message,
|
||
'etape': etape,
|
||
'stage': stage,
|
||
'origines': origines,
|
||
'civilites': civilites,
|
||
'dept': dept,
|
||
'civilite': civilite,
|
||
'nom': nom,
|
||
'nom_jf': nom_jf,
|
||
'prenom': prenom,
|
||
'date_nais': date_nais,
|
||
'lieu_nais': lieu_nais,
|
||
'dept_nais': dept_nais,
|
||
'adres1': adres1,
|
||
'adres2': adres2,
|
||
'code_postal': code_postal,
|
||
'no_tel': no_tel,
|
||
'mail': mail,
|
||
'no_permis': no_permis,
|
||
'obtenu_le': obtenu_le,
|
||
'lieu_permis': lieu_permis,
|
||
'type_stage': type_stage,
|
||
'origine': origine,
|
||
'infraction_lieu': infraction_lieu,
|
||
'infraction_le': infraction_le,
|
||
'infraction_a': infraction_a,
|
||
'cb_spam': cb_spam,
|
||
'montant': montant,
|
||
}
|
||
|
||
@view_config(route_name='code_dispo', renderer='../templates/inscriptions/code_dispo.pt')
|
||
@view_config(route_name='code_dispo2', renderer='../templates/inscriptions/code_dispo.pt')
|
||
def code_dispo(request):
|
||
tarif = get_tarifs(request, '3JC')
|
||
items = get_stages_code(request)
|
||
|
||
if 'code_dispo2' in request.current_route_path():
|
||
url_cde = 'code_cde/%s/' % request.matchdict['cd_prospect']
|
||
else:
|
||
url_cde = '/code_cde/0'
|
||
|
||
return {
|
||
'page_title': 'Stages code disponibles',
|
||
'tarif': tarif,
|
||
'items': items,
|
||
'url_cde': url_cde,
|
||
}
|
||
|
||
|
||
@view_config(route_name='pap_dispo', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='pem_dispo', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='pasa2_dispo', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='b96_dispo', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='post_dispo', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='pap_dispo2', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='pem_dispo2', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='pasa2_dispo2', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='b96_dispo2', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
@view_config(route_name='post_dispo2', renderer='../templates/inscriptions/pem_dispo.pt')
|
||
def pem_dispo(request):
|
||
|
||
lieu1_label = 'Lieu'
|
||
lieu1 = 'Agence Marietton Vaugneray : RD 30 - LES AIGUILLONS - 69670 VAUGNERAY'
|
||
lieu2 = ''
|
||
# provenance de la requete
|
||
route_path = request.current_route_path()
|
||
if 'pap_dispo' in route_path or 'pap_dispo2' in route_path:
|
||
tarif = get_tarifs(request, 'POINT')
|
||
rows = get_stages_by_type(request, 'PAP')
|
||
page_title = "Récupération de points"
|
||
lieu1_label = 'Lieu A'
|
||
lieu1 = 'Agence Marietton Charpennes : 26 COURS EMILE ZOLA - 69100 VILLEURBANNE'
|
||
lieu2 = 'Agence Marietton Vaugneray : RD 30 - LES AIGUILLONS - 69670 VAUGNERAY'
|
||
# récupérer le code prospect
|
||
if 'pap_dispo2' in route_path:
|
||
url_cde = '/pap_cde/%s/' % request.matchdict['cd_prospect']
|
||
else:
|
||
url_cde = '/pap_cde/0/'
|
||
elif 'pem_dispo' in route_path or 'pem_dispo2' in route_path:
|
||
tarif = get_tarifs(request, 'PEM125')
|
||
rows = get_stages_by_type(request, 'PEM125')
|
||
page_title = "Prise en main 125"
|
||
# récupérer le code prospect
|
||
if 'pem_dispo2' in route_path:
|
||
url_cde = '/pem_cde/%s/' % request.matchdict['cd_prospect']
|
||
else:
|
||
url_cde = '/pem_cde/0/'
|
||
elif 'pasa2_dispo' in route_path or 'pasa2_dispo2' in route_path:
|
||
tarif = get_tarifs(request, 'PASSERELLE')
|
||
rows = get_stages_by_type(request, 'PASA2')
|
||
page_title = "Passerelle A2"
|
||
# récupérer le code prospect
|
||
if 'pasa2_dispo2' in route_path:
|
||
url_cde = '/pasa2_cde/%s/' % request.matchdict['cd_prospect']
|
||
else:
|
||
url_cde = '/pasa2_cde/0/'
|
||
else:
|
||
tarif = get_tarifs(request, 'B96')
|
||
rows = get_stages_by_type(request, 'B96')
|
||
page_title = "B96"
|
||
# récupérer le code prospect
|
||
if 'b96_dispo2' in route_path:
|
||
url_cde = '/b96_cde/%s/' % request.matchdict['cd_prospect']
|
||
else:
|
||
url_cde = '/b96_cde/0/'
|
||
if 'post_dispo' in route_path or 'post_dispo2' in route_path:
|
||
tarif = get_tarifs(request, 'POST_PERMI')
|
||
rows = get_stages_by_type(request, 'POST')
|
||
page_title = "Post-Permis"
|
||
lieu1_label = 'Lieu A'
|
||
lieu1 = 'Agence Marietton Charpennes : 26 COURS EMILE ZOLA - 69100 VILLEURBANNE'
|
||
lieu2 = 'Agence Marietton Vaise : 31 RUE MARIETTON - 69009 LYON'
|
||
# récupérer le code prospect
|
||
if 'pap_dispo2' in route_path:
|
||
url_cde = '/post_cde/%s/' % request.matchdict['cd_prospect']
|
||
else:
|
||
url_cde = '/post_cde/0/'
|
||
|
||
dateMin = date.today() + timedelta(days=365) # today + 1 year
|
||
# construire la liste des events
|
||
events = []
|
||
for row in rows:
|
||
event_url = '%s%s' % (url_cde, row.stage_id)
|
||
event_title = row.dispo
|
||
# déterminer la date la plus récente
|
||
if row.debut.date() < dateMin:
|
||
dateMin = row.debut.date()
|
||
|
||
# déterminer la couleur de l'event
|
||
if event_title == "Complet":
|
||
color = "#CC0000" # rouge danger
|
||
event_url = "" # interdire inscription
|
||
elif event_title == "Disponible":
|
||
color = "#007E33" # vert success
|
||
else:
|
||
color = "#FF8800" # orange warning
|
||
|
||
if 'pap_dispo' in request.current_route_path():
|
||
date_fin = row.fin.strftime('%Y-%m-%d 16:30:00')
|
||
if row.groupe == 'A':
|
||
event_title = '%s - %s' % ('Charpennes', event_title)
|
||
else:
|
||
event_title = '%s - %s' % ('Vaugneray', event_title)
|
||
elif 'post_dispo' in request.current_route_path():
|
||
date_fin = row.fin.strftime('%Y-%m-%d 16:30:00')
|
||
if 'CHARP' in row.libelle:
|
||
event_title = '%s - %s' % ('Charpennes', event_title)
|
||
else:
|
||
event_title = '%s - %s' % ('Vaise', event_title)
|
||
else:
|
||
date_fin = row.fin.strftime('%Y-%m-%d 18:00:00')
|
||
|
||
json_event = {
|
||
'title': event_title,
|
||
'start': row.debut.strftime('%Y-%m-%d %H:%M:%S'),
|
||
'end': date_fin,
|
||
'color': color,
|
||
'url': event_url,
|
||
}
|
||
events.append(json_event)
|
||
|
||
|
||
return {
|
||
'page_title': 'Stage de %s - Places disponibles' % page_title,
|
||
'lieu1_label': lieu1_label,
|
||
'lieu1': lieu1,
|
||
'lieu2': lieu2,
|
||
'tarif': tarif,
|
||
'fullcalendar_events': json.dumps(events),
|
||
'datePlan': dateMin.strftime('%Y-%m-%d'),
|
||
}
|
||
|
||
|
||
@view_config(route_name='pem_cde', renderer='../templates/inscriptions/pem_cde.pt')
|
||
def pem_cde(request):
|
||
|
||
cd_prospect = request.matchdict['cd_prospect']
|
||
stage_id = request.matchdict['stage_id']
|
||
url = request.route_url('pem_cde', cd_prospect = cd_prospect, stage_id = stage_id)
|
||
|
||
# lire le stage demandé
|
||
stage = get_stage_by_id(request, stage_id)
|
||
if not stage:
|
||
request.session.flash(u"Le stage demandé : %s, est non valide" % stage_id, 'danger')
|
||
return HTTPFound(location=request.route_url("pem_dispo"))
|
||
# reste place disponible ?
|
||
if stage.dispo <= 0:
|
||
request.session.flash(u"Le stage du %s est complet. Veuillez choisir un autre." % stage.debut.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("pem_dispo"))
|
||
|
||
message = ''
|
||
# préparer les listes déroulantes
|
||
civilites = ["M.","Mme","Mlle"]
|
||
origines = get_origines(request)
|
||
montant = get_tarifs(request, 'PEM125')
|
||
dept = get_departements(request)
|
||
|
||
# lire le prospect
|
||
contact = get_prospects_by_code(request, cd_prospect)
|
||
if not contact:
|
||
civilite = 'M.'
|
||
nom = ''
|
||
prenom = ''
|
||
adres1 = ''
|
||
adres2 = ''
|
||
code_postal = ''
|
||
no_tel = ''
|
||
mail = ''
|
||
agence_no = 6
|
||
else:
|
||
# prospect cloture ?
|
||
if contact.cloture_le:
|
||
request.session.flash('Dossier déjà traité.', 'danger')
|
||
return HTTPFound(location=request.route_url("affiche_message", login='0'))
|
||
|
||
civilite = contact.civilite
|
||
nom = contact.nom
|
||
prenom = contact.prenom
|
||
adres1 = contact.adresse
|
||
adres2 = contact.adresse2
|
||
code_postal = '%s - %s' % (contact.cp, contact.ville)
|
||
no_tel = contact.tel_portable
|
||
mail = contact.email
|
||
agence_no = contact.agence
|
||
|
||
nom_jf = ''
|
||
date_nais = ''
|
||
lieu_nais = ''
|
||
dept_nais = 'RHONE | 069'
|
||
no_permis = ''
|
||
obtenu_le = ''
|
||
lieu_permis = 'RHONE | 069'
|
||
origine = ''
|
||
cb_spam = '0'
|
||
etape = 1
|
||
|
||
if 'form.next1' in request.params or 'form.next2' in request.params or 'form.submitted' in request.params:
|
||
civilite = request.params['civilite']
|
||
nom = request.params['nom'].upper()
|
||
nom_jf = request.params['nom_jf'].upper()
|
||
prenom = request.params['prenom']
|
||
date_nais = request.params['date_nais']
|
||
datenais = to_date(date_nais) # convertir en format date
|
||
lieu_nais = request.params['lieu_nais']
|
||
dept_nais = request.params['dept_nais']
|
||
adres1 = request.params['adres1']
|
||
adres2 = request.params['adres2']
|
||
code_postal = request.params['code_postal']
|
||
no_tel = request.params['no_tel']
|
||
mail = request.params['mail']
|
||
no_permis = request.params['no_permis']
|
||
obtenu_le = request.params['obtenu_le']
|
||
obtenule = to_date(obtenu_le) # convertir en format date
|
||
lieu_permis = request.params['lieu_permis']
|
||
|
||
# si accepte recevoir info coché ?
|
||
if 'cb_spam' in request.params:
|
||
cb_spam = "oui"
|
||
NePasSpammer = 0
|
||
else:
|
||
cb_spam = "non"
|
||
NePasSpammer = -1
|
||
|
||
message = ctl_saisies(1, code_postal, datenais, obtenule)
|
||
if message == '':
|
||
# pas erreur saisie
|
||
cp = code_postal.split(' - ')
|
||
codpost = cp[0]
|
||
ville = cp[1]
|
||
|
||
etape = 2
|
||
if 'form.next2' in request.params:
|
||
# On teste pour voir si l'un des trois numéros a été renseigné ?
|
||
message = ctl_saisies(2, code_postal, datenais, obtenule)
|
||
if message == '':
|
||
etape = 3
|
||
|
||
# Bouton terminé
|
||
if 'form.submitted' in request.params:
|
||
etape = 4
|
||
origine = request.params['origine']
|
||
|
||
# On enregistre la fiche élève et on récupère son code
|
||
cd_cli = ins_eleve_by_formule(request, 'PEM125', civilite, nom, nom_jf, prenom, datenais, lieu_nais, dept_nais, \
|
||
adres1, adres2, codpost, ville, '', '', no_tel, mail, \
|
||
no_permis, obtenule, lieu_permis, 'CAS 1', origine,'','','',NePasSpammer, agence_no)
|
||
|
||
# si prospect, mettre son statut = GAGNE
|
||
if contact:
|
||
update_prospect_gagne(request, cd_prospect, cd_cli, contact.cd_uti, agence_no)
|
||
|
||
# inscrire l'élève dans le stage
|
||
debut_stage = ins_stage_eleve(request, 'PEM125', stage_id, cd_cli, nom, prenom)
|
||
if debut_stage != None:
|
||
# si echec, retourne aux dispo
|
||
request.session.flash(u"Vous êtes déjà inscrit(e) au stage du %s. Veuillez consulter votre messagerie pour la confirmation de cette inscription." % debut_stage.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("pem_dispo"))
|
||
else:
|
||
nompren = "%s %s %s" % (civilite, nom, prenom)
|
||
body = getConfirmText(request, 'PEM125', nompren, cd_cli,
|
||
'%s à %s' % (stage.debut.strftime("%d-%m-%Y"), stage.debut.strftime("%Hh%M")),
|
||
stage.lieu1, stage.lieu2)
|
||
|
||
# envoyer un message à l'élève et la secrétaire
|
||
agence_email = get_eleve_agence(request, cd_cli).email
|
||
destinataires=[mail, agence_email,]
|
||
envoyerMail(request, destinataires, "Votre réservation pour le stage de PRISE EN MAIN 125", body)
|
||
|
||
# connecter le client à l'espace Marietton
|
||
request.session.invalidate()
|
||
headers = forget(request)
|
||
headers = remember(request, cd_cli)
|
||
request.session.flash(u"Votre réservation a bien été enregistrée. Elle sera ferme lorsque le réglement sera effectué.", 'info')
|
||
return HTTPFound(location=request.route_url('reglement', ref='PEM', mttotal=montant, nfois='1'), headers=headers)
|
||
|
||
return {
|
||
'page_title': "Stage de Prise en main 125 - Inscription",
|
||
'url': url,
|
||
'message': message,
|
||
'etape': etape,
|
||
'stage': stage,
|
||
'origines': origines,
|
||
'civilites': civilites,
|
||
'dept': dept,
|
||
'civilite': civilite,
|
||
'nom': nom,
|
||
'nom_jf': nom_jf,
|
||
'prenom': prenom,
|
||
'date_nais': date_nais,
|
||
'lieu_nais': lieu_nais,
|
||
'dept_nais': dept_nais,
|
||
'adres1': adres1,
|
||
'adres2': adres2,
|
||
'code_postal': code_postal,
|
||
'no_tel': no_tel,
|
||
'mail': mail,
|
||
'no_permis': no_permis,
|
||
'obtenu_le': obtenu_le,
|
||
'lieu_permis': lieu_permis,
|
||
'origine': origine,
|
||
'cb_spam': cb_spam,
|
||
'montant': montant,
|
||
}
|
||
|
||
@view_config(route_name='pasa2_cde', renderer='../templates/inscriptions/pasa2_cde.pt')
|
||
def pasa2_cde(request):
|
||
|
||
cd_prospect = request.matchdict['cd_prospect']
|
||
stage_id = request.matchdict['stage_id']
|
||
url = request.route_url('pasa2_cde', cd_prospect = cd_prospect, stage_id = stage_id)
|
||
|
||
# lire le stage demandé
|
||
stage = get_stage_by_id(request, stage_id)
|
||
if not stage:
|
||
request.session.flash(u"Le stage demandé : %s, est non valide" % stage_id, 'danger')
|
||
return HTTPFound(location=request.route_url("pasa2_dispo"))
|
||
# reste place disponible ?
|
||
if stage.dispo <= 0:
|
||
request.session.flash(u"Le stage du %s est complet. Veuillez choisir un autre." % stage.debut.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("pasa2_dispo"))
|
||
|
||
message = ''
|
||
# préparer les listes déroulantes
|
||
civilites = ["M.","Mme","Mlle"]
|
||
origines = get_origines(request)
|
||
montant = get_tarifs(request, 'PASSERELLE')
|
||
dept = get_departements(request)
|
||
|
||
# lire le prospect
|
||
contact = get_prospects_by_code(request, cd_prospect)
|
||
if not contact:
|
||
civilite = 'M.'
|
||
nom = ''
|
||
prenom = ''
|
||
adres1 = ''
|
||
adres2 = ''
|
||
code_postal = ''
|
||
no_tel = ''
|
||
mail = ''
|
||
agence_no = 6
|
||
else:
|
||
# prospect cloture ?
|
||
if contact.cloture_le:
|
||
request.session.flash('Dossier déjà traité.', 'danger')
|
||
return HTTPFound(location=request.route_url("affiche_message", login='0'))
|
||
|
||
civilite = contact.civilite
|
||
nom = contact.nom
|
||
prenom = contact.prenom
|
||
adres1 = contact.adresse
|
||
adres2 = contact.adresse2
|
||
code_postal = '%s - %s' % (contact.cp, contact.ville)
|
||
no_tel = contact.tel_portable
|
||
mail = contact.email
|
||
agence_no = contact.agence
|
||
|
||
nom_jf = ''
|
||
date_nais = ''
|
||
lieu_nais = ''
|
||
dept_nais = '069'
|
||
no_permis = ''
|
||
obtenu_le = ''
|
||
lieu_permis = 'RHONE'
|
||
origine = ''
|
||
cb_spam = "oui"
|
||
etape = 1
|
||
|
||
if 'form.next1' in request.params or 'form.next2' in request.params or 'form.submitted' in request.params:
|
||
civilite = request.params['civilite']
|
||
nom = request.params['nom'].upper()
|
||
nom_jf = request.params['nom_jf'].upper()
|
||
prenom = request.params['prenom']
|
||
date_nais = request.params['date_nais']
|
||
datenais = to_date(date_nais) # convertir en format date
|
||
lieu_nais = request.params['lieu_nais']
|
||
dept_nais = request.params['dept_nais']
|
||
adres1 = request.params['adres1']
|
||
adres2 = request.params['adres2']
|
||
code_postal = request.params['code_postal']
|
||
no_tel= request.params['no_tel']
|
||
mail = request.params['mail']
|
||
no_permis = request.params['no_permis']
|
||
obtenu_le = request.params['obtenu_le']
|
||
obtenule = to_date(obtenu_le) # convertir en format date
|
||
lieu_permis = request.params['lieu_permis']
|
||
|
||
# si accepte recevoir info coché ?
|
||
if 'cb_spam' in request.params:
|
||
cb_spam = "oui"
|
||
NePasSpammer = 0
|
||
else:
|
||
cb_spam = "non"
|
||
NePasSpammer = -1
|
||
|
||
message = ctl_saisies(1, code_postal, datenais, obtenule)
|
||
if message == '':
|
||
# pas erreur saisie
|
||
cp = code_postal.split(' - ')
|
||
codpost = cp[0]
|
||
ville = cp[1]
|
||
|
||
etape = 2
|
||
if 'form.next2' in request.params:
|
||
# On teste pour voir si l'un des trois numéros a été renseigné ?
|
||
if obtenule == False:
|
||
message = "Veuillez saisir une date de délivrance valide."
|
||
else:
|
||
etape = 3
|
||
|
||
# Bouton terminé
|
||
if 'form.submitted' in request.params:
|
||
etape = 4
|
||
origine = request.params['origine']
|
||
|
||
# On enregistre la fiche élève et on récupère son code
|
||
cd_cli = ins_eleve_by_formule(request, 'PASSERELLE', civilite, nom, nom_jf, prenom, datenais, lieu_nais, dept_nais, \
|
||
adres1, adres2, codpost, ville, '', '', no_tel, mail, \
|
||
no_permis, obtenule, lieu_permis, 'CAS 1', origine,'','','',NePasSpammer,agence_no)
|
||
|
||
# si prospect, mettre son statut = GAGNE
|
||
if contact:
|
||
update_prospect_gagne(request, cd_prospect, cd_cli, contact.cd_uti, agence_no)
|
||
|
||
# inscrire l'élève dans le stage pap
|
||
debut_stage = ins_stage_eleve(request, 'PASSERELLE', stage_id, cd_cli, nom, prenom)
|
||
if debut_stage != None:
|
||
# si echec, retourne aux dispo
|
||
request.session.flash(u"Vous êtes déjà inscrit(e) au stage du %s. Veuillez consulter votre messagerie pour la confirmation de cette inscription." % debut_stage.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("pasa2_dispo"))
|
||
else:
|
||
nompren = "%s %s %s" % (civilite, nom, prenom)
|
||
body = getConfirmText(request, 'PASSERELLE', nompren, cd_cli,
|
||
'%s à %s' % (stage.debut.strftime("%d-%m-%Y"), stage.debut.strftime("%Hh%M")),
|
||
stage.lieu1, stage.lieu2)
|
||
|
||
# envoyer un message à l'élève et la secrétaire
|
||
agence_email = get_eleve_agence(request, cd_cli).email
|
||
destinataires=[mail, agence_email,]
|
||
envoyerMail(request, destinataires, "Votre réservation pour le stage de PASSERELLE A2 à A", body)
|
||
|
||
# connecter le client à l'espace Marietton
|
||
request.session.invalidate()
|
||
headers = forget(request)
|
||
headers = remember(request, cd_cli)
|
||
request.session.flash(u"Votre réservation a bien été enregistrée. Elle sera ferme lorsque le réglement sera effectué.", 'info')
|
||
return HTTPFound(location=request.route_url('reglement', ref='PAS', mttotal=montant, nfois='1'), headers=headers)
|
||
|
||
|
||
return {
|
||
'page_title': "Stage de Passerelle A2 vers A - Inscription",
|
||
'url': url,
|
||
'message': message,
|
||
'etape': etape,
|
||
'stage': stage,
|
||
'origines': origines,
|
||
'civilites': civilites,
|
||
'dept': dept,
|
||
'civilite': civilite,
|
||
'nom': nom,
|
||
'nom_jf': nom_jf,
|
||
'prenom': prenom,
|
||
'date_nais': date_nais,
|
||
'lieu_nais': lieu_nais,
|
||
'dept_nais': dept_nais,
|
||
'adres1': adres1,
|
||
'adres2': adres2,
|
||
'code_postal': code_postal,
|
||
'no_tel': no_tel,
|
||
'mail': mail,
|
||
'no_permis': no_permis,
|
||
'obtenu_le': obtenu_le,
|
||
'lieu_permis': lieu_permis,
|
||
'origine': origine,
|
||
'cb_spam': cb_spam,
|
||
'montant': montant,
|
||
}
|
||
|
||
@view_config(route_name='passr_cde', renderer='../templates/inscriptions/passr_cde.pt')
|
||
def passr_cde(request):
|
||
|
||
url = request.route_url('passr_cde')
|
||
|
||
# contrôler la disponibilité des PASS Rousseau
|
||
#dispo = get_pass_dispo(request)
|
||
#if dispo == None:
|
||
# request.session.flash(u"Il n'y a plus de PASS ROUSSEAU disponible. Veuillez réessayer plus tard.")
|
||
# return HTTPFound(location=request.route_url('affiche_message', login='x'))
|
||
|
||
message = ''
|
||
# préparer les listes déroulantes
|
||
civilites = ["M.","Mme","Mlle"]
|
||
permis = get_permis(request)
|
||
montant = get_tarifs(request, 'PASS_ROUSS')
|
||
|
||
civilite = 'M.'
|
||
nom = ''
|
||
prenom = ''
|
||
date_nais = ''
|
||
codpost = ''
|
||
no_tel_dom = ''
|
||
mail = ''
|
||
permis_demande = 'B'
|
||
cb_spam = '0'
|
||
|
||
if 'form.submitted' in request.params:
|
||
civilite = request.params['civilite']
|
||
nom = request.params['nom'].upper()
|
||
prenom = request.params['prenom']
|
||
date_nais = request.params['date_nais']
|
||
datenais = to_date(date_nais) # convertir en format date
|
||
codpost= request.params['codpost']
|
||
no_tel_dom = request.params['no_tel_dom']
|
||
mail = request.params['mail']
|
||
permis_demande = request.params['permis_demande']
|
||
|
||
# si accepte recevoir info coché ?
|
||
if 'cb_spam' in request.params:
|
||
cb_spam = "oui"
|
||
NePasSpammer = 0
|
||
else:
|
||
cb_spam = "non"
|
||
NePasSpammer = -1
|
||
|
||
if datenais == False:
|
||
message = "Veuillez saisir une date de naissance valide."
|
||
else:
|
||
if datenais < datetime(1900,1,1):
|
||
message = "Veuillez saisir une date de naissance supérieure à 01/01/1900."
|
||
elif no_tel_dom=='' :
|
||
message = "Veuillez saisir un numéro de téléphone."
|
||
else:
|
||
# contrôler la disponibilité des PASS Rousseau
|
||
dispo = get_pass_dispo(request)
|
||
if dispo == None:
|
||
request.session.flash(u"Il n'y a plus de PASS ROUSSEAU disponible. Veuillez réessayer plus tard.")
|
||
return HTTPFound(location=url)
|
||
|
||
# On enregistre la fiche élève et on récupère son code
|
||
cd_cli = ins_eleve_by_formule(request, 'ROUSSEAU', civilite, nom, '', prenom, datenais, 'X', '069', 'X', 'X', codpost,
|
||
'X', no_tel_dom, '', '', mail, permis_demande, '', '', 'CAS 1', 'Site Web','','','',NePasSpammer)
|
||
|
||
nompren = "%s %s %s" % (civilite, nom, prenom)
|
||
body = getConfirmText(request, 'PASS_ROUSS', nompren, cd_cli, '', '', '', '')
|
||
|
||
destinataires = [mail, request.registry.settings['monaem.comm_email'],]
|
||
envoyerMail(request, destinataires, "Votre inscription au code en ligne", body)
|
||
|
||
# connecter le client à l'espace Marietton
|
||
request.session.invalidate()
|
||
headers = forget(request)
|
||
headers = remember(request, cd_cli)
|
||
request.session.flash(u"Votre inscription a bien été enregistrée. Elle sera ferme lorsque le réglement sera effectué.", 'info')
|
||
return HTTPFound(location=request.route_url('reglement', ref='PRS', mttotal=montant, nfois='1'), headers=headers)
|
||
|
||
return {
|
||
'page_title': "Inscription : Code en ligne",
|
||
'url': url,
|
||
'message': message,
|
||
'civilites': civilites,
|
||
'civilite': civilite,
|
||
'permis': permis,
|
||
'permis_demande': permis_demande,
|
||
'nom': nom,
|
||
'prenom': prenom,
|
||
'date_nais': date_nais,
|
||
'codpost': codpost,
|
||
'no_tel_dom': no_tel_dom,
|
||
'mail': mail,
|
||
'cb_spam': cb_spam,
|
||
'montant': montant,
|
||
}
|
||
|
||
@view_config(route_name='b96_cde', renderer='../templates/inscriptions/b96_cde.pt')
|
||
def b96_cde(request):
|
||
|
||
cd_prospect = request.matchdict['cd_prospect']
|
||
stage_id = request.matchdict['stage_id']
|
||
url = request.route_url('b96_cde', cd_prospect = cd_prospect, stage_id = stage_id)
|
||
|
||
# lire le stage demandé
|
||
stage = get_stage_by_id(request, stage_id)
|
||
if not stage:
|
||
request.session.flash(u"Le stage demandé : %s, est non valide" % stage_id, 'danger')
|
||
return HTTPFound(location=request.route_url("code_dispo"))
|
||
# reste place disponible ?
|
||
if stage.dispo <= 0:
|
||
request.session.flash(u"Le stage du %s est complet. Veuillez choisir un autre." % stage.debut.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("code_dispo"))
|
||
|
||
message = ''
|
||
# préparer les listes déroulantes
|
||
civilites = ["M.","Mme","Mlle"]
|
||
origines = get_origines(request)
|
||
montant = get_tarifs(request, 'B96')
|
||
dept = get_departements(request)
|
||
|
||
# lire le prospect
|
||
contact = get_prospects_by_code(request, cd_prospect)
|
||
if not contact:
|
||
civilite = 'M.'
|
||
nom = ''
|
||
prenom = ''
|
||
adres1 = ''
|
||
adres2 = ''
|
||
code_postal = ''
|
||
no_tel = ''
|
||
mail = ''
|
||
agence_no = 6
|
||
else:
|
||
# prospect cloture ?
|
||
if contact.cloture_le:
|
||
request.session.flash('Dossier déjà traité.', 'danger')
|
||
return HTTPFound(location=request.route_url("affiche_message", login='0'))
|
||
|
||
civilite = contact.civilite
|
||
nom = contact.nom
|
||
prenom = contact.prenom
|
||
adres1 = contact.adresse
|
||
adres2 = contact.adresse2
|
||
code_postal = '%s - %s' % (contact.cp, contact.ville)
|
||
no_tel = contact.tel_portable
|
||
mail = contact.email
|
||
agence_no = contact.agence
|
||
|
||
nom_jf = ''
|
||
date_nais = ''
|
||
lieu_nais = ''
|
||
dept_nais = '069'
|
||
no_permis = ''
|
||
obtenu_le = ''
|
||
lieu_permis = 'RHONE'
|
||
origine = ''
|
||
cb_spam = '0'
|
||
etape = 1
|
||
|
||
if 'form.next1' in request.params or 'form.next2' in request.params or 'form.submitted' in request.params:
|
||
civilite = request.params['civilite']
|
||
nom = request.params['nom'].upper()
|
||
nom_jf = request.params['nom_jf'].upper()
|
||
prenom = request.params['prenom']
|
||
date_nais = request.params['date_nais']
|
||
datenais = to_date(date_nais) # convertir en format date
|
||
lieu_nais = request.params['lieu_nais']
|
||
dept_nais = request.params['dept_nais']
|
||
adres1 = request.params['adres1']
|
||
adres2 = request.params['adres2']
|
||
code_postal = request.params['code_postal']
|
||
no_tel = request.params['no_tel']
|
||
mail = request.params['mail']
|
||
no_permis = request.params['no_permis']
|
||
obtenu_le = request.params['obtenu_le']
|
||
obtenule = to_date(obtenu_le) # convertir en format date
|
||
lieu_permis = request.params['lieu_permis']
|
||
|
||
# si accepte recevoir info coché ?
|
||
if 'cb_spam' in request.params:
|
||
cb_spam = "oui"
|
||
NePasSpammer = 0
|
||
else:
|
||
cb_spam = "non"
|
||
NePasSpammer = -1
|
||
|
||
message = ctl_saisies(1, code_postal, datenais, obtenule)
|
||
if message == '':
|
||
# pas erreur saisie
|
||
cp = code_postal.split(' - ')
|
||
codpost = cp[0]
|
||
ville = cp[1]
|
||
|
||
etape = 2
|
||
if 'form.next2' in request.params:
|
||
message = ctl_saisies(2, code_postal, datenais, obtenule)
|
||
if message == '':
|
||
etape = 3
|
||
|
||
# Bouton terminé
|
||
if 'form.submitted' in request.params:
|
||
etape = 4
|
||
origine = request.params['origine']
|
||
|
||
# On enregistre la fiche élève et on récupère son code
|
||
cd_cli = ins_eleve_by_formule(request, 'B96', civilite, nom, nom_jf, prenom, datenais, lieu_nais, dept_nais, \
|
||
adres1, adres2, codpost, ville, '', '', no_tel, mail, \
|
||
no_permis, obtenule, lieu_permis, 'CAS 1', origine,'','','',NePasSpammer,agence_no)
|
||
|
||
# si prospect, mettre son statut = GAGNE
|
||
if contact:
|
||
update_prospect_gagne(request, cd_prospect, cd_cli, contact.cd_uti, agence_no)
|
||
|
||
# inscrire l'élève dans le stage
|
||
debut_stage = ins_stage_eleve(request, 'B96', stage_id, cd_cli, nom, prenom)
|
||
if debut_stage != None:
|
||
# si echec, retourne aux dispo
|
||
request.session.flash(u"Vous êtes déjà inscrit(e) au stage du %s. Veuillez consulter votre messagerie pour la confirmation de cette inscription." % debut_stage.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("code_dispo"))
|
||
else:
|
||
nompren = "%s %s %s" % (civilite, nom, prenom)
|
||
body = getConfirmText(request, 'B96', nompren, cd_cli,
|
||
'%s à %s' % (stage.debut.strftime("%d-%m-%Y"), stage.debut.strftime("%Hh%M")),
|
||
stage.lieu1, stage.lieu2)
|
||
# envoyer un message à l'élève et la secrétaire
|
||
agence_email = get_eleve_agence(request, cd_cli).email
|
||
destinataires=[mail, agence_email,]
|
||
envoyerMail(request, destinataires, "Votre réservation pour le stage de B96", body)
|
||
|
||
# connecter le client à l'espace Marietton
|
||
request.session.invalidate()
|
||
headers = forget(request)
|
||
headers = remember(request, cd_cli)
|
||
request.session.flash(u"Votre réservation a bien été enregistrée. Elle sera ferme lorsque le réglement sera effectué.", 'info')
|
||
return HTTPFound(location=request.route_url('reglement', ref='B96', mttotal=montant, nfois='1'), headers=headers)
|
||
|
||
return {
|
||
'page_title': "Stage de B96 - Inscription",
|
||
'url': url,
|
||
'message': message,
|
||
'etape': etape,
|
||
'stage': stage,
|
||
'origines': origines,
|
||
'civilites': civilites,
|
||
'dept': dept,
|
||
'civilite': civilite,
|
||
'nom': nom,
|
||
'nom_jf': nom_jf,
|
||
'prenom': prenom,
|
||
'date_nais': date_nais,
|
||
'lieu_nais': lieu_nais,
|
||
'dept_nais': dept_nais,
|
||
'adres1': adres1,
|
||
'adres2': adres2,
|
||
'code_postal': code_postal,
|
||
'no_tel': no_tel,
|
||
'mail': mail,
|
||
'no_permis': no_permis,
|
||
'obtenu_le': obtenu_le,
|
||
'lieu_permis': lieu_permis,
|
||
'origine': origine,
|
||
'cb_spam': cb_spam,
|
||
'montant': montant,
|
||
}
|
||
|
||
@view_config(route_name='code_cde', renderer='../templates/inscriptions/code_cde.pt')
|
||
def code_cde(request):
|
||
|
||
cd_prospect = request.matchdict['cd_prospect']
|
||
stage_id = request.matchdict['stage_id']
|
||
url = request.route_url('code_cde', cd_prospect = cd_prospect, stage_id = stage_id)
|
||
|
||
# lire le stage code demandé
|
||
stage = get_moto_by_id(request, stage_id)
|
||
if not stage:
|
||
request.session.flash(u"Le stage demandé : %s, est non valide" % stage_id, 'danger')
|
||
return HTTPFound(location=request.route_url("code_dispo"))
|
||
# reste place disponible ?
|
||
if stage.DISPO <= 0:
|
||
request.session.flash(u"Le stage du %s est complet. Veuillez choisir un autre." % stage.DATE.strftime("%d-%m-%Y"), 'danger')
|
||
return HTTPFound(location=request.route_url("code_dispo"))
|
||
|
||
message = ''
|
||
# préparer les listes déroulantes
|
||
civilites = ["M.","Mme","Mlle"]
|
||
origines = get_origines(request)
|
||
montant = get_tarifs(request, '3JC')
|
||
|
||
|
||
# lire le prospect
|
||
contact = get_prospects_by_code(request, cd_prospect)
|
||
if not contact:
|
||
civilite = 'M.'
|
||
nom = ''
|
||
prenom = ''
|
||
adres1 = ''
|
||
adres2 = ''
|
||
code_postal = ''
|
||
no_tel = ''
|
||
mail = ''
|
||
agence = 6
|
||
else:
|
||
# prospect cloture ?
|
||
if contact.cloture_le:
|
||
request.session.flash('Dossier déjà traité.', 'danger')
|
||
return HTTPFound(location=request.route_url("affiche_message", login='0'))
|
||
|
||
civilite = contact.civilite
|
||
nom = contact.nom
|
||
prenom = contact.prenom
|
||
adres1 = contact.adresse
|
||
adres2 = contact.adresse2
|
||
code_postal = '%s - %s' % (contact.cp, contact.ville)
|
||
no_tel = contact.tel_portable
|
||
mail = contact.email
|
||
agence = contact.agence
|
||
|
||
nom_jf = ''
|
||
date_nais = ''
|
||
lieu_nais = ''
|
||
dept_nais = ''
|
||
origine = ''
|
||
cb_spam = '0'
|
||
etape = 1
|
||
|
||
if 'form.submitted' in request.params:
|
||
civilite = request.params['civilite']
|
||
nom = request.params['nom'].upper()
|
||
nom_jf = request.params['nom_jf'].upper()
|
||
prenom = request.params['prenom']
|
||
date_nais = request.params['date_nais']
|
||
datenais = to_date(date_nais) # convertir en format date
|
||
lieu_nais = request.params['lieu_nais']
|
||
dept_nais = request.params['dept_nais']
|
||
adres1 = request.params['adres1']
|
||
adres2 = request.params['adres2']
|
||
code_postal = request.params['code_postal']
|
||
no_tel = request.params['no_tel']
|
||
mail = request.params['mail']
|
||
origine = request.params['origine']
|
||
|
||
# si accepte recevoir info coché ?
|
||
if 'cb_spam' in request.params:
|
||
cb_spam = "oui"
|
||
NePasSpammer = 0
|
||
else:
|
||
cb_spam = "non"
|
||
NePasSpammer = -1
|
||
|
||
obtenule = False # date non saisie
|
||
message = ctl_saisies(1, code_postal, datenais, obtenule)
|
||
if message == '':
|
||
# pas erreur saisie
|
||
dept = dept_nais.split(' | ')
|
||
|
||
cp = code_postal.split(' - ')
|
||
codpost = cp[0]
|
||
ville = cp[1]
|
||
# eleve mineur ?
|
||
if isMinor(datenais):
|
||
# créer éventuellement un prospect selon le code postal
|
||
observation = "Mineur ayant entamé une démarche d’inscription stage code en ligne"
|
||
ins_prospect(request, 0, civilite, nom, prenom, adres1, adres2, codpost, ville, no_tel, mail, 'NR', \
|
||
'NR', origine, observation)
|
||
|
||
request.session.flash("Les élèves mineurs doivent être inscrits en agence accompagnés d'un représentant légal", 'danger')
|
||
return HTTPFound(location=request.route_url("affiche_message", login='0'))
|
||
else:
|
||
# On enregistre la fiche élève et on récupère son code
|
||
cd_cli = ins_eleve_by_formule(request, 'ST_CODE_3J', civilite, nom, nom_jf, prenom, datenais, lieu_nais, dept[1], \
|
||
adres1, adres2, codpost, ville, '', '', no_tel, mail, '', '', '', 'CAS 1', origine,'','','',NePasSpammer,agence)
|
||
|
||
# si prospect, mettre son statut = GAGNE
|
||
if contact:
|
||
update_prospect_gagne(request, cd_prospect, cd_cli, contact.cd_uti, agence)
|
||
|
||
# inscrire l'élève dans le stage
|
||
ins_stage_code(request, 'PREPACODE', stage_id, cd_cli)
|
||
|
||
nompren = "%s %s %s" % (civilite, nom, prenom)
|
||
body = getConfirmText(request, 'PREPACODE', nompren, cd_cli,
|
||
'%s, %s et %s' % (stage.date1, stage.date2, stage.date3),
|
||
stage.lieu1, ' %s, %s' % (stage.lieu2, stage.lieu3))
|
||
|
||
# envoyer un message à la secrétaire
|
||
agence_email = get_eleve_agence(request, cd_cli).email
|
||
destinataires=[mail, agence_email,]
|
||
envoyerMail(request, destinataires, "Votre réservation pour le stage de CODE", body)
|
||
|
||
# connecter le client à l'espace Marietton
|
||
request.session.invalidate()
|
||
headers = forget(request)
|
||
headers = remember(request, cd_cli)
|
||
request.session.flash(u"Votre réservation a bien été enregistrée. Elle sera ferme lorsque le réglement sera effectué.", 'info')
|
||
return HTTPFound(location=request.route_url('reglement', ref='3JC', mttotal=montant, nfois='1'), headers=headers)
|
||
|
||
return {
|
||
'page_title': "Stage de CODE - Réservation",
|
||
'url': url,
|
||
'message': message,
|
||
'etape': etape,
|
||
'stage': stage,
|
||
'origines': origines,
|
||
'civilites': civilites,
|
||
'civilite': civilite,
|
||
'nom': nom,
|
||
'nom_jf': nom_jf,
|
||
'prenom': prenom,
|
||
'date_nais': date_nais,
|
||
'lieu_nais': lieu_nais,
|
||
'dept_nais': dept_nais,
|
||
'adres1': adres1,
|
||
'adres2': adres2,
|
||
'code_postal': code_postal,
|
||
'no_tel': no_tel,
|
||
'mail': mail,
|
||
'origine': origine,
|
||
'cb_spam': cb_spam,
|
||
'montant': montant,
|
||
}
|
||
|
||
def ctl_saisies(etape, code_postal, datenais, obtenule):
|
||
message = ''
|
||
if etape == 1:
|
||
# controler le code postal + ville
|
||
cp = code_postal.split(' - ')
|
||
if len(cp) < 2:
|
||
message = "Veuillez saisir un code postal valide."
|
||
else:
|
||
if datenais == False:
|
||
message = "Veuillez saisir une date de naissance valide."
|
||
else:
|
||
if datenais < datetime(1900,1,1):
|
||
message = "Veuillez saisir une date de naissance supérieure à 01/01/1900."
|
||
elif etape == 2:
|
||
# date permis a été renseigné ?
|
||
if obtenule == False:
|
||
message = "Veuillez saisir une date de délivrance valide."
|
||
|
||
|
||
return message |