If you edit a patron and it has (or gets added) a stat cat entry,
then from the registration form click on its inline patron search
link, fetch a patron that has no stat cats, then edit it, the
first patron's stat cats can show up in the registration form.
If the second patron does have stat cats, but not values set
for all of them, then the first patron's stat cat entries can
fill in cases where no entry was previously set.
This patch fixes patronRegSvc's initialization when loading
an existing patron record to avoid this.
To test
-------
[1] Edit a patron and ensure that it has at least one
statistical category set.
[2] From the patron search link in the patron app tab
bar, NOT the Search | Patron menu item, search for
and retrieve a patron that has no stat cats assigned.
[3] Edit the patron. Observe that the first patron's
stat cat entry displays in the second patron's
registration form.
[4] Apply the patch and repeats steps 1-3. This time,
the previous patron's stat cats should not infect
the second patron's registration form.
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
Signed-off-by: Mike Risher <mrisher@catalyte.io>
// toss entries for existing stat cat maps into our living
// stat cat entry map, which is modified within the template.
+ service.stat_cat_entry_maps = [];
angular.forEach(patron.stat_cat_entries, function(map) {
service.stat_cat_entry_maps[map.stat_cat.id] = map.stat_cat_entry;
});