if (existing) { // we have a mapping
// if the existing mapping matches the new one,
- // there' nothing left to do
+ // there's nothing left to do
if (existing.stat_cat_entry() == value) return;
- // mappings differ. delete the old one and create
- // a new one below.
- existing.isdeleted(true);
+ // mappings differ. Update existing.
+ existing.stat_cat_entry(value);
+ existing.ischanged(true);
+ }
+ else{
+ // create new mapping
+ var newmap = new egCore.idl.actscecm();
+ newmap.target_usr(patron.id());
+ newmap.isnew(true);
+ newmap.stat_cat(cat_id);
+ newmap.stat_cat_entry(value);
+ patron.stat_cat_entries().push(newmap);
}
-
- var newmap = new egCore.idl.actscecm();
- newmap.target_usr(patron.id());
- newmap.isnew(true);
- newmap.stat_cat(cat_id);
- newmap.stat_cat_entry(value);
- patron.stat_cat_entries().push(newmap);
});
var waiver_hashes = patron.waiver_entries();