summaryrefslogtreecommitdiff
path: root/addons/mass_mailing/controllers/main.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2014-11-03 16:00:50 +0100
committerRaphael Collet <rco@openerp.com>2014-11-04 13:47:57 +0100
commitf2e4a10e1a58c932f9a989e642771f5ae75d756a (patch)
treeb5d933afe79088ecf5b8a5bc9eae957fb8898b0b /addons/mass_mailing/controllers/main.py
parent0f52e22906a969a8ca3b2c38acddf5bf8a6386be (diff)
[IMP] use model._fields instead of model._all_columns to cover all fields
The old-api model._all_columns contains information about model._columns and inherited columns. This dictionary is missing new-api computed non-stored fields, and the new field objects provide a more readable api... This commit contains the following changes: - adapt several methods of BaseModel to use fields instead of columns and _all_columns - copy all semantic-free attributes of related fields from their source - add attribute 'group_operator' on integer and float fields - base, base_action_rule, crm, edi, hr, mail, mass_mailing, pad, payment_acquirer, share, website, website_crm, website_mail: simply use _fields instead of _all_columns - base, decimal_precision, website: adapt qweb rendering methods to use fields instead of columns
Diffstat (limited to 'addons/mass_mailing/controllers/main.py')
-rw-r--r--addons/mass_mailing/controllers/main.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/addons/mass_mailing/controllers/main.py b/addons/mass_mailing/controllers/main.py
index 2fcc6afd946..69317cb08c9 100644
--- a/addons/mass_mailing/controllers/main.py
+++ b/addons/mass_mailing/controllers/main.py
@@ -31,14 +31,15 @@ class MassMailController(http.Controller):
request.registry[mailing.mailing_model].write(cr, SUPERUSER_ID, record_ids, {'opt_out': True}, context=context)
else:
email_fname = None
- if 'email_from' in request.registry[mailing.mailing_model]._all_columns:
+ model = request.registry[mailing.mailing_model]
+ if 'email_from' in model._fields:
email_fname = 'email_from'
- elif 'email' in request.registry[mailing.mailing_model]._all_columns:
+ elif 'email' in model._fields:
email_fname = 'email'
if email_fname:
- record_ids = request.registry[mailing.mailing_model].search(cr, SUPERUSER_ID, [('id', '=', res_id), (email_fname, 'ilike', email)], context=context)
- if 'opt_out' in request.registry[mailing.mailing_model]._all_columns:
- request.registry[mailing.mailing_model].write(cr, SUPERUSER_ID, record_ids, {'opt_out': True}, context=context)
+ record_ids = model.search(cr, SUPERUSER_ID, [('id', '=', res_id), (email_fname, 'ilike', email)], context=context)
+ if 'opt_out' in model._fields:
+ model.write(cr, SUPERUSER_ID, record_ids, {'opt_out': True}, context=context)
return 'OK'
@http.route(['/website_mass_mailing/is_subscriber'], type='json', auth="public", website=True)