Closed
Description
Version
10.5.5
Expected behavior
Child / Variant overwrites parent object brick value(s) and no exception is thrown.
Actual behavior
Child / Variant seems to overwrites parent object brick value(s) but an exception is thrown and DB records are not removed / deleted.
Steps to reproduce
Create a class ( FooEntity )
- Create a field in the class to place an objectbrick in ( FooObjectBrickField )
- Enable allow inheritance
- Enable variants
- Enable show variants in tree
- Set max items to 1
Create an objectbrick ( FooObjectBrick )
- Create an input field field ( FooObjectBrickInputField ) and place it in the newly created FooObjectBrick.
- "Bind" the new brick to the ( FooEntity ) class and field.
Create another objectbrick (BarObjectBrick)
- Create an input field field ( BarObjectBrickInputField ) and place it in the newly created BarObjectBrick.
- "Bind" the new brick to the ( FooEntity ) class and field.
Create a object with class (FooEntity)
Select the (FooObjectBrick) in the field (FooObjectBrickField)
Set a random string into the FooObjectBrickInputField
Save the object
Create a child / variant of the just created object with the same class (FooEntity)
- The child / variant should have inherited the values in (FooObjectBrickField) from it's parent ( this is good )
- Remove FooObjectBrick from FooObjectBrickField and replace it with BarObjectBrick fill in some random string in the (BarObjectBrickInputField)
- Save the child / variant
- Reload the child / variant
- An exception is thrown
Also if the limit items in FooEntity is set to 2, you can't remove the parent objectbrick from the child.