Files
odoo_source/odoo/addons/test_testing_utilities/ir.model.access.csv
T
Xavier Morel 9d74b1f73a [FIX] core: saving of o2m value init'd via onchange
In the SSF, o2m updates get initialized with no values (1, id,
{}). The record data is only fetched when the "record" gets updated
explicitly from which updates will hopefully get properly tracked &
saved.

However if the "record" was first initialized through an onchange
values which are updated by the onchange (diverging from the db) those
would not get tracked and thus wouldn't get saved when the record is
saved.

* use more specific placeholder (None) for "o2m records to update but
  we don't have values yet"
* once we have values, always store them as an update-tracking dict
* if we don't have values yet for an o2m and an onchange is trying to
  write to it, initialize with values from database first (might
  eventually be a good idea to initialize upfront though there's the
  question of what happens for default values and recursive views)
* mark anything coming back from the onchange and differing from local
  values as changed (so they get sent out on save)
* properly reify parent values for onchange instead of sending them
  as-is
* the evaluation context for contexts (and domains) needs properly
  formatted values so use `_values_to_save` to get them, however it
  cares about neither required-ing nor filtering out e.g. unmodified
  fields, therefore add an awful toggle to handle this

Task 2150302

Probably todo in the future:

* better UI for change-tracking dict, should have "snapshot"
  support (to freeze / discard previous changes)
* cleanup save, it's unclear that it properly resets the form

closes odoo/odoo#43235

X-original-commit: 6c99fe3ffec3aeb8d210e3b943ccef81d62d44ce
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2020-01-13 16:24:17 +00:00

2.8 KiB

1idnamemodel_id:idgroup_id:idperm_readperm_writeperm_createperm_unlink
2access_test_testing_utilities_aaccess_test_testing_utilities_amodel_test_testing_utilities_a1000
3access_test_testing_utilities_readonlyaccess_test_testing_utilities_readonlymodel_test_testing_utilities_readonly1000
4access_test_testing_utilities_caccess_test_testing_utilities_cmodel_test_testing_utilities_c1000
5access_test_testing_utilities_daccess_test_testing_utilities_dmodel_test_testing_utilities_d1000
6access_test_testing_utilities_eaccess_test_testing_utilities_emodel_test_testing_utilities_e1000
7access_test_testing_utilities_faccess_test_testing_utilities_fmodel_test_testing_utilities_f1000
8access_test_testing_utilities_gaccess_test_testing_utilities_gmodel_test_testing_utilities_g1000
9access_test_testing_utilities_m2oaccess_test_testing_utilities_m2omodel_test_testing_utilities_m2o1000
10access_test_testing_utilities_defaultaccess_test_testing_utilities_defaultmodel_test_testing_utilities_default1000
11access_test_testing_utilities_parentaccess_test_testing_utilities_parentmodel_test_testing_utilities_parent1000
12access_test_testing_utilities_subaccess_test_testing_utilities_submodel_test_testing_utilities_sub1000
13access_test_testing_utilities_sub2access_test_testing_utilities_sub2model_test_testing_utilities_sub21000
14access_test_testing_utilities_sub3access_test_testing_utilities_sub3model_test_testing_utilities_sub31000
15access_test_testing_utilities_recursiveaccess_test_testing_utilities_recursivemodel_test_testing_utilities_recursive1000
16access_test_testing_utilities_onchange_parentaccess_test_testing_utilities_onchange_parentmodel_test_testing_utilities_onchange_parent1000
17access_test_testing_utilities_onchange_lineaccess_test_testing_utilities_onchange_linemodel_test_testing_utilities_onchange_line1000
18access_model_test_testing_utilities_onchange_countaccess_model_test_testing_utilities_onchange_countmodel_test_testing_utilities_onchange_count1111
19access_test_testing_utilities_onchange_count_subaccess_test_testing_utilities_onchange_count_submodel_test_testing_utilities_onchange_count_sub1111
20access_o2m_readonly_subfield_parentaccess_o2m_readonly_subfield_parentmodel_o2m_readonly_subfield_parent1111
21access_o2m_readonly_subfield_childaccess_o2m_readonly_subfield_childmodel_o2m_readonly_subfield_child1111
22access_test_testing_utilities_req_boolaccess_test_testing_utilities_req_boolmodel_test_testing_utilities_req_bool1000
23access_o2m_changes_childrenaccess_o2m_changes_childrenmodel_o2m_changes_childrenbase.group_user1000
24access_o2m_changes_children_linesaccess_o2m_changes_children_linesmodel_o2m_changes_children_linesbase.group_user1000