FLUID-3729: Further recurrence of "pen.root is undefined" error within changeApplier

Metadata

Source
FLUID-3729
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Justin Obara
Reporter
Antranig Basman
Created
2010-09-10T03:52:29.914-0400
Updated
2010-10-28T15:03:50.360-0400
Versions
  1. 1.2
Fixed Versions
  1. 1.3
Component
  1. Data Binder

Description

Whilst this was thought fixed a while ago, there is another code path via which it can be triggered. See http://issues.collectionspace.org/browse/CSPACE-2795 - the relevant case is where model is, say:

fields: {
lenders: []
}

and we receive a change request for "fields.lenders.0.lender". Currently the 2nd branch of fluid.model.applyChangeRequest attempts pen.root[pen.last] = request.value. However, pen contains
{ last: "lender",
root: undefined
}
Should almost certainly be using "getPenultimate" with "create = true" so that lender is at least instantiated to an empty object. Make sure to write a test case for this hole to firmly prevent regression.

Comments

  • Justin Obara commented 2010-10-04T14:41:54.009-0400

    "Bug Parade Infusion 1.3"

  • Antranig Basman commented 2010-10-20T00:27:46.280-0400

    Fixed at revision 10150 - please review.

  • Michelle D'Souza commented 2010-10-28T15:03:50.358-0400

    The tests pass and the code looks good.