summaryrefslogtreecommitdiff
path: root/addons/website_form/models/models.py
diff options
context:
space:
mode:
authorDavid Monjoie <dmo@odoo.com>2015-09-11 09:59:00 +0200
committerDavid Monjoie <dmo@odoo.com>2015-09-15 14:00:36 +0200
commitd210744ef01f10f88fcd482f9cdbe3273a05281c (patch)
treef246a4f86bcae8ac621f725ddc488e1ff5396419 /addons/website_form/models/models.py
parent09025549539b15eda850889ea83f3a308156c474 (diff)
[IMP] website_form: various improvements
- Fixed the module name and category in manifest - Fixed website_form_blacklisted being ignored - Unauthorized readonly and magic fields - Reset the form on successfull submit - Added missing date field - Added date and datetime validation
Diffstat (limited to 'addons/website_form/models/models.py')
-rw-r--r--addons/website_form/models/models.py9
1 files changed, 7 insertions, 2 deletions
diff --git a/addons/website_form/models/models.py b/addons/website_form/models/models.py
index 8fdc5e4bf9a..e6e769f59e5 100644
--- a/addons/website_form/models/models.py
+++ b/addons/website_form/models/models.py
@@ -1,6 +1,7 @@
from openerp import tools
from openerp import models, fields, api
+MAGIC_FIELDS = ["id", "create_uid", "create_date", "write_uid", "write_date", "__last_update"]
class website_form_config(models.Model):
_inherit = 'website'
@@ -23,9 +24,8 @@ class website_form_model(models.Model):
def get_authorized_fields(self):
model = self.env[self.model]
fields_get = model.fields_get()
- domain = [('model_id', 'in', self.all_inherited_model_ids()), ('website_form_blacklisted', '=', False)]
- for elem in self.env['ir.model.fields'].search(domain):
+ for elem in self.env['ir.model.fields'].search([('model_id', 'in', self.all_inherited_model_ids())]):
if elem.website_form_blacklisted:
fields_get.pop(elem.name, None)
for key, val in model._inherits.iteritems():
@@ -36,6 +36,11 @@ class website_form_model(models.Model):
for field in [f for f in fields_get if f in default_values]:
fields_get[field]['required'] = False
+ # Remove readonly and magic fields
+ for field in fields_get.keys():
+ if fields_get[field]['readonly'] or field in MAGIC_FIELDS:
+ del fields_get[field]
+
return fields_get