When generating grid fields from an IDL class in the AngJS grid, avoid
adding any fields that match fields already defined in the markup.
An example of such a grid is the Pending Item Buckets page.
To test
-------
[1] Go to Item Buckets and add an item to the Pending Items page.
[2] Note that in the column picker there are two barcode fields,
one that hyperlinks the item and one that does not.
[3] Apply the patch and repeat steps 1-2.
[4] This time, there is only one barcode column (the one that
hyperlinks the results).
Signed-off-by: Bill Erickson <berickxx@gmail.com>
Signed-off-by: Galen Charlton <gmc@equinoxinitiative.org>
idl_class.fields,
function(field) {
if (field.virtual) return;
+ // Columns declared in the markup take precedence
+ // of matching auto-columns.
+ if (cols.findColumn(field.name)) return;
if (field.datatype == 'link' || field.datatype == 'org_unit') {
// if the field is a link and the linked class has a
// "selector" field specified, use the selector field