From 5ae2690dc377adbe1de9090aab7d4ffd33c3e42d Mon Sep 17 00:00:00 2001 From: Sebastien Robin <seb@nexedi.com> Date: Mon, 19 Sep 2005 13:40:12 +0000 Subject: [PATCH] check that fields are editable before editing the cell git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@3800 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Form/MatrixBox.py | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/product/ERP5Form/MatrixBox.py b/product/ERP5Form/MatrixBox.py index 36270de1c9..261770b01b 100755 --- a/product/ERP5Form/MatrixBox.py +++ b/product/ERP5Form/MatrixBox.py @@ -401,20 +401,21 @@ class MatrixBoxValidator(Validator.Validator): my_field_id = '%s_%s' % (field.id, attribute_id) if form.has_field(my_field_id): my_field = form.get_field(my_field_id) - key = 'field_' + my_field.id + '_cell_%s_%s_%s' % (i,j, k) - attribute_value = my_field.get_value('default', cell = cell, cell_index = kw, - cell_position = (i,j, k)) - value = my_field.validator.validate(my_field, key, REQUEST) - - if (attribute_value != value or attribute_value not in('',None,(),[])) \ - and not my_field.get_value('hidden'): - # Only validate modified values from visible fields - if not result.has_key(kw): - result[kw] = {} - result[kw][attribute_id] = value - else: - if result.has_key(kw): + if my_field.get_value('editable'): + key = 'field_' + my_field.id + '_cell_%s_%s_%s' % (i,j, k) + attribute_value = my_field.get_value('default', cell = cell, cell_index = kw, + cell_position = (i,j, k)) + value = my_field.validator.validate(my_field, key, REQUEST) + + if (attribute_value != value or attribute_value not in('',None,(),[])) \ + and not my_field.get_value('hidden'): + # Only validate modified values from visible fields + if not result.has_key(kw): + result[kw] = {} result[kw][attribute_id] = value + else: + if result.has_key(kw): + result[kw][attribute_id] = value j += 1 i += 1 k += 1 -- 2.30.9