| @@ -5,6 +5,8 @@ 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 | |||
| from pyramid_mailer import get_mailer | |||
| from mako.template import Template | |||
| # Import Web Forms | |||
| from .forms import * | |||
| # Database access imports | |||
| @@ -16,6 +18,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 unicodedata | |||
| @@ -32,13 +36,6 @@ def remove_accents(input_str): | |||
| only_ascii = nkfd_form.encode('ASCII', 'ignore') | |||
| return only_ascii | |||
| @view_config(route_name='tester', renderer="jm2l:templates/tester.mako") | |||
| def Tester(request): | |||
| JTiers = DBSession.query(Tiers).all() | |||
| MainTab = {'programme':'','presse':'', 'plan':'', 'participer':'', | |||
| 'Tiers':JTiers, "logged_in":request.authenticated_userid } | |||
| return MainTab | |||
| ## =-=- Here, We handle ICal requests -=-= | |||
| @view_config(route_name='progr_iCal', renderer="string") | |||
| def ICal_Progamme_Request(request): | |||
| @@ -211,11 +208,7 @@ def JSON_TimeLine_Request(request): | |||
| ## =-=- Here, We handle HTTP requests - Public Part -=-= | |||
| @view_config(route_name='home', renderer="jm2l:templates/NewIndex.mako") | |||
| def index_page(request): | |||
| page = int(request.params.get('page', 1)) | |||
| paginator = Entry.get_paginator(request, page) | |||
| profil = User.by_id(4) | |||
| profil_form = ProfilForm(request.POST, profil, meta={'csrf_context': request.session}) | |||
| MainTab = {'programme':'','presse':'', 'plan':'', 'participer':'', 'paginator':paginator, | |||
| MainTab = {'programme':'','presse':'', 'plan':'', 'participer':'', | |||
| "logged_in":request.authenticated_userid } | |||
| return MainTab | |||
| @@ -631,6 +624,7 @@ def participer(request): | |||
| form = UserRegisterForm(request.POST, TmpUsr, meta={'csrf_context': request.session}) | |||
| MyLink=None | |||
| if request.method == 'POST' and form.validate(): | |||
| # Prepare mailer | |||
| form.populate_obj(TmpUsr) | |||
| TmpUsr.nom = TmpUsr.nom.capitalize() | |||
| TmpUsr.prenom = TmpUsr.prenom.capitalize() | |||
| @@ -648,6 +642,31 @@ def participer(request): | |||
| DBSession.add(TmpUsr) | |||
| DBSession.flush() | |||
| MyLink = TmpUsr.my_hash | |||
| mailer = request.registry['mailer'] | |||
| # Send the Welcome Mail | |||
| NewUser = TmpUsr | |||
| # Prepare Plain Text Message : | |||
| Mail_template = Template(filename='jm2l/templates/mail_plain.mako') | |||
| mail_plain = Mail_template.render(User=NewUser, action="Welcome") | |||
| body = Attachment(data=mail_plain, transfer_encoding="quoted-printable") | |||
| # Prepare HTML Message : | |||
| Mail_template = Template(filename='jm2l/templates/mail_html.mako') | |||
| mail_html = Mail_template.render(User=NewUser, action="Welcome") | |||
| html = Attachment(data=mail_html, transfer_encoding="quoted-printable") | |||
| # Prepare Message | |||
| message = Message(subject="[JM2L] Mon inscription au site web JM2L", | |||
| sender="contact@jm2l.linux-azur.org", | |||
| recipients=[NewUser.mail], | |||
| body=body, html=html) | |||
| message.add_bcc("spam@style-python.fr") | |||
| mailer.send(message) | |||
| MainTab = {'programme':'','presse':'', 'plan':'', | |||
| 'participer':'active', 'form':form, "link": MyLink, | |||
| 'logged_in':request.authenticated_userid } | |||