27 lines
1.0 KiB
Python
27 lines
1.0 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
import json
|
|
|
|
from odoo import _
|
|
from odoo.http import request
|
|
from odoo.addons.website.controllers.form import WebsiteForm
|
|
|
|
|
|
class WebsiteNewsletterForm(WebsiteForm):
|
|
|
|
def _handle_website_form(self, model_name, **kwargs):
|
|
if model_name == 'mailing.contact':
|
|
list_ids = kwargs.get('list_ids')
|
|
if not list_ids:
|
|
return json.dumps({'error': _('Mailing List(s) not found!')})
|
|
list_ids = [int(x) for x in list_ids.split(',')]
|
|
private_list_ids = request.env['mailing.list'].sudo().search([
|
|
('id', 'in', list_ids), ('is_public', '=', False)])
|
|
if private_list_ids:
|
|
return json.dumps({
|
|
'error': _('You cannot subscribe to the following list anymore : %s',
|
|
', '.join(private_list_ids.mapped('name')))
|
|
})
|
|
return super()._handle_website_form(model_name, **kwargs)
|