Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deleting all of the existing nm relations of a field doesn't work #1

Open
luigitni opened this issue Mar 21, 2016 · 0 comments
Open

Comments

@luigitni
Copy link

Say I have a model with the following field defined as:

$fields['nm_name'] = [
'label' => 'label',
'rtype' => 'multi',
'dtype' => 'array',
'ropts' => ['refer'=>'Refer_name'],
'nmtab' => 'nm_table_name',
'rtab' => false,
];

An "instance" of the model has associated N values of that field.
If I try to remove all the values of that field, the system doesn't cast an exception but the values are still there.
I would expect values to be removed.
If instead I remove just SOME of the values, it works without problems.

More in depth, if I delete ALL the values of an nm field, no array is sent in POST with the field name as key, whereas if I delete SOME of the values of an nm field, an array with the field name as key is sent to POST with the remaining field values as values.
Our guess is that since no array is sent, the system skips the update.

We tracked down the issue to Model.php:

protected function _insertOrEdit($pk, & $post, & $files) {
[...]
foreach( $related as $k => $v ) {
                    if( $v === null )
                        continue;

if we remove the null check, the field is updated as intended.

We are currently working with version at commit 9778416

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant