This corrects processing of multiple-selection hotspots, which was not correct. These questions use a CATA model. Code originally used buildCATAPart routine to build part, but that routine only builds a provisional part which requires considerable post-processing in the main cata-question building routine. Hotspot-building code reproduced some but not all of this post-processing so was not correct. For example response rules were not translated.
This recodes to reuse entire cata-building processing by building a temp cata question for model purposes and extracting hotspot model pieces from there. This should ensure complete and identical model processing, and similarly for single-selection model using temp mcq.
This also fixes MER-1929, a course-digest crash on processing multi-select hotspot questions.
This corrects processing of multiple-selection hotspots, which was not correct. These questions use a CATA model. Code originally used buildCATAPart routine to build part, but that routine only builds a provisional part which requires considerable post-processing in the main cata-question building routine. Hotspot-building code reproduced some but not all of this post-processing so was not correct. For example response rules were not translated.
This recodes to reuse entire cata-building processing by building a temp cata question for model purposes and extracting hotspot model pieces from there. This should ensure complete and identical model processing, and similarly for single-selection model using temp mcq.
This also fixes MER-1929, a course-digest crash on processing multi-select hotspot questions.