Skip to content

Commit 5a3ad56

Browse files
committed
Add error message for a duplicate animal id.
1 parent fdb8379 commit 5a3ad56

2 files changed

Lines changed: 17 additions & 0 deletions

File tree

nirc_ehr/resources/queries/study/arrival.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@ function onInit(event, helper){
1212
}
1313
EHR.Server.TriggerManager.registerHandlerForQuery(EHR.Server.TriggerManager.Events.BEFORE_UPSERT, 'study', 'Arrival', function(helper, scriptErrors, row, oldRow) {
1414

15+
if (triggerHelper.animalIdExists(row.Id)) {
16+
EHR.Server.Utils.addError(scriptErrors, 'Id', 'Animal Id ' + row.Id + ' is already in use. Please use a different Id.', 'ERROR');
17+
}
18+
1519
if (row.eventDate) {
1620
row.date = row.eventDate;
1721
}

nirc_ehr/src/org/labkey/nirc_ehr/query/NIRC_EHRTriggerHelper.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -264,6 +264,18 @@ public String saveBirthRecord(String id, Map<String, Object> row) throws QueryUp
264264
return null;
265265
}
266266

267+
public boolean animalIdExists(String id)
268+
{
269+
TableInfo ti = getTableInfo("study", "demographics");
270+
if (ti != null)
271+
{
272+
SimpleFilter filter = new SimpleFilter(FieldKey.fromString("Id"), id);
273+
TableSelector ts = new TableSelector(ti, PageFlowUtil.set("lsid"), filter, null);
274+
return ts.exists();
275+
}
276+
return false;
277+
}
278+
267279
public boolean birthExists(String id)
268280
{
269281
TableInfo ti = getTableInfo("study", "birth");
@@ -275,6 +287,7 @@ public boolean birthExists(String id)
275287
}
276288
return false;
277289
}
290+
278291
public boolean deathExists(String id)
279292
{
280293
TableInfo ti = getTableInfo("study", "deaths");

0 commit comments

Comments
 (0)