Skip to content

Commit 713eb4a

Browse files
Merge 25.7 to 25.9
2 parents 4d3c7ef + 19a32c1 commit 713eb4a

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

nirc_ehr/resources/queries/study/arrival.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ function onInit(event, helper){
1010
skipAssignmentCheck: true,
1111
});
1212
}
13+
14+
EHR.Server.TriggerManager.registerHandlerForQuery(EHR.Server.TriggerManager.Events.BEFORE_INSERT, 'study', 'Arrival', function(helper, scriptErrors, row, oldRow) {
15+
16+
if (triggerHelper.animalIdExists(row.Id)) {
17+
EHR.Server.Utils.addError(scriptErrors, 'Id', 'Animal Id ' + row.Id + ' is already in use. Please use a different Id.', 'ERROR');
18+
}
19+
});
20+
1321
EHR.Server.TriggerManager.registerHandlerForQuery(EHR.Server.TriggerManager.Events.BEFORE_UPSERT, 'study', 'Arrival', function(helper, scriptErrors, row, oldRow) {
1422

1523
if (row.eventDate) {

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)