Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ count(*) as replicates,
stddev(viralLoad) as stdDeviation,
group_concat(distinct v.qcflag, ';') as qcflags,
group_concat(distinct v.comment, ';') as comments,
cast(min(v.well) as varchar) as lowestWell,~
cast(min(v.well) as varchar) as lowestWell,
v.run,
v.folder,
v.workbook
Expand Down
14 changes: 11 additions & 3 deletions ehr/resources/web/ehr/data/DataEntryServerStore.js
Original file line number Diff line number Diff line change
Expand Up @@ -64,9 +64,17 @@ Ext4.define('EHR.data.DataEntryServerStore', {
}
}, this);

if (ret){
return ret;
}
// An empty key cannot identify an existing record, so stop here rather than falling
// through to findExact() below -- an empty value matches ANY earlier unsaved record
// whose key is likewise empty, so the 2nd and later new rows all resolve to the 1st
// and collapse onto it, leaving only the last row's values. Returning nothing lets
// processServerRecords() create a server record bound to this client model instead.
//
// Only tables keyed on a server-assigned identity column hit this: study datasets key
// on objectid, which is generated client-side per row and so is never empty. A table
// whose sole key is a SERIAL (nbri_ehr.Conception.rowId) has an empty key on every new
// row, making it impossible to add more than one row per save.
return ret;
}

var idx = this.findExact(fieldName, value);
Expand Down
Loading
Loading