|
|
@ -1,18 +1,63 @@ |
|
|
|
# -*- coding: utf-8 -*- |
|
|
|
from odoo import http,_ |
|
|
|
from odoo.http import request |
|
|
|
import logging |
|
|
|
from odoo import models, fields, api |
|
|
|
import werkzeug |
|
|
|
from datetime import datetime |
|
|
|
from odoo.tools import format_datetime, format_date, is_html_empty |
|
|
|
from dateutil.relativedelta import relativedelta |
|
|
|
from odoo.exceptions import UserError |
|
|
|
|
|
|
|
from odoo.addons.web.controllers.main import ensure_db, Home |
|
|
|
from odoo.addons.website_event.controllers.main import WebsiteEventController |
|
|
|
from odoo.addons.payment.controllers.portal import PaymentProcessing |
|
|
|
from odoo.addons.sale.controllers.portal import CustomerPortal |
|
|
|
from odoo.addons.portal.controllers.portal import pager as portal_pager, get_records_pager |
|
|
|
from odoo.addons.auth_signup.models.res_users import SignupError |
|
|
|
from odoo.addons.auth_signup.controllers.main import AuthSignupHome |
|
|
|
import json |
|
|
|
|
|
|
|
_logger = logging.getLogger(__name__) |
|
|
|
|
|
|
|
class KalaAuthSignupHome(Home): |
|
|
|
@http.route('/web/signup', type='http', auth='public', website=True, sitemap=False) |
|
|
|
def kalachakra_web_auth_signup(self, *args, **kw): |
|
|
|
qcontext = self.get_auth_signup_qcontext() |
|
|
|
|
|
|
|
if not qcontext.get('token') and not qcontext.get('signup_enabled'): |
|
|
|
raise werkzeug.exceptions.NotFound() |
|
|
|
|
|
|
|
if 'error' not in qcontext and request.httprequest.method == 'POST': |
|
|
|
try: |
|
|
|
self.do_signup(qcontext) |
|
|
|
# Send an account creation confirmation email |
|
|
|
if qcontext.get('token'): |
|
|
|
User = request.env['res.users'] |
|
|
|
user_sudo = User.sudo().search( |
|
|
|
User._get_login_domain(qcontext.get('login')), order=User._get_login_order(), limit=1 |
|
|
|
) |
|
|
|
template = request.env.ref('auth_signup.mail_template_user_signup_account_created', raise_if_not_found=False) |
|
|
|
if user_sudo and template: |
|
|
|
template.sudo().send_mail(user_sudo.id, force_send=True) |
|
|
|
return self.web_login(*args, **kw) |
|
|
|
except UserError as e: |
|
|
|
qcontext['error'] = e.args[0] |
|
|
|
except (SignupError, AssertionError) as e: |
|
|
|
if request.env["res.users"].sudo().search([("login", "=", qcontext.get("login"))]): |
|
|
|
qcontext["error"] = _("Another user is already registered using this email address.") |
|
|
|
else: |
|
|
|
_logger.error("%s", e) |
|
|
|
if e=='Invalid email': |
|
|
|
qcontext['error'] = _("Invalid email") |
|
|
|
else: |
|
|
|
qcontext['error'] = _(e) |
|
|
|
|
|
|
|
|
|
|
|
response = request.render('auth_signup.signup', qcontext) |
|
|
|
response.headers['X-Frame-Options'] = 'DENY' |
|
|
|
return response |
|
|
|
|
|
|
|
class kalachakra_event(WebsiteEventController,PaymentProcessing): |
|
|
|
|
|
|
|
def _extract_searched_event_tags(self, searches): |
|
|
|