Some trouble with 'mass update' at Cases module

after ListViews ‘mass update’->State->‘close’ (or ‘open’) we got some trash in fields ‘status’ and ‘subtype’.
Look: screen1,screen2
We added custom field named ‘subtype_c’ in module ‘Cases’ as child of ‘type’ (dynamicDropDown). Like this module ‘state’ and ‘status’ fields are.
In DetailedView fields show the correct data. Incorrect in ListView only. Standard way to change state through the EditView passes without problems.
Nothing in logs. Whats wrong?
Using 7.7.2 edition

I don’t know… on an old version, with customizations, it’s impossible for me to test locally…

Maybe try reproducing this on this live demo, it allows admin access:

1 Like

Thanks a lot. I did it again )
bug on demo
Without any customization.
Has created acc and case.
In Cases ‘mass update’ -> state -> ‘closed’ worked correctly
And right the reverse state -> ‘open’ got the bug

That’s a bug, I can reproduce it on 7.10.5.

Please report the bug on GitHub.

Remember to mention also the custom field problem.

Thanks for reporting!

First trouble had resolved with GitHub team.
Status field updates correctly! Many thanks and link to Fix.
But my custom fields still behave incorrectly with massupdate. The values in the dynamic fields did not change correctly when the case was closed/opened by massupdate. They should not have changed at all!! :slight_smile:
I found and corrected 2 reasons:

  1. We have “Functional_support” item in our parent combobox “type” and the massupdate function stumbled on the symbol “" in it.
    Just renamed to “FunctionalSupport” solved this one :slight_smile:
    So NEVER use "
    ” in the parent combo item name because the massupdate function parse name strings by this character!
  2. Our dynamic fields, unlike the status field, can be empty and the new GitHub function starts assigning them the first values of the list for each (any) massupdates.
    To solve this i just added a verification $dynamic_field_value != ‘’ in massupdate.php:

if(($dynamic_field_value != '')&&($parentenum_value != $dynamic_field_value)) {   // It was simple 'if ($parentenum_value != $dynamic_field_value)'

That’s all. The problem is solved. Maybe someone will be helpful.

Nice finds.

Do you think these improvements would benefit everyone? Maybe they should just be put into the code?

Where exactly is SuiteCRM using the “_” character to parse, do you know?