Skip to content

Commit fc35889

Browse files
committed
Further refactor
1 parent 69cea2b commit fc35889

1 file changed

Lines changed: 17 additions & 10 deletions

File tree

nirc_ehr/src/org/labkey/nirc_ehr/table/NIRC_EHRSharedDatasetTrigger.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -22,26 +22,33 @@ private void transformAnimalIdToUpperCase(Map<String, Object> row)
2222
}
2323
}
2424

25-
@Override
26-
public void beforeInsert(TableInfo table, Container c, User user, @Nullable Map<String, Object> newRow, ValidationException errors, Map<String, Object> extraContext) throws ValidationException
25+
private void verifyPerformedBy(TableInfo table, @Nullable Map<String, Object> newRow, ValidationException errors)
2726
{
28-
transformAnimalIdToUpperCase(newRow);
2927
if (newRow != null && newRow.containsKey("performedby") && newRow.get("performedby") == null)
3028
{
31-
if (newRow.containsKey("QCStateLabel") && newRow.get("QCStateLabel").equals("Completed"))
32-
errors.addFieldError("performedby", "Performed by must be entered in all " + table.getTitle() + " records before submitting final.");
29+
if (!newRow.containsKey("QCStateLabel") || newRow.get("QCStateLabel") == null)
30+
{
31+
errors.addFieldError("performedby", "Record in " + table.getTitle() + " cannot be submitted without Performed By if QCStateLabel is not found. Contact your administrator.");
32+
}
33+
else if (newRow.containsKey("QCStateLabel") && newRow.get("QCStateLabel").equals("Completed"))
34+
{
35+
errors.addFieldError("performedby", "Performed By must be entered in all records before submitting final. Table: " + table.getTitle());
36+
}
3337
}
3438
}
3539

40+
@Override
41+
public void beforeInsert(TableInfo table, Container c, User user, @Nullable Map<String, Object> newRow, ValidationException errors, Map<String, Object> extraContext) throws ValidationException
42+
{
43+
transformAnimalIdToUpperCase(newRow);
44+
verifyPerformedBy(table, newRow, errors);
45+
}
46+
3647
@Override
3748
public void beforeUpdate(TableInfo table, Container c,
3849
User user, @Nullable Map<String, Object> newRow, @Nullable Map<String, Object> oldRow,
3950
ValidationException errors, Map<String, Object> extraContext) throws ValidationException
4051
{
41-
if (newRow != null && newRow.containsKey("performedby") && newRow.get("performedby") == null)
42-
{
43-
if (newRow.containsKey("QCStateLabel") && newRow.get("QCStateLabel").equals("Completed"))
44-
errors.addFieldError("performedby", "Performed by must be entered in all " + table.getTitle() + " records before submitting final.");
45-
}
52+
verifyPerformedBy(table, newRow, errors);
4653
}
4754
}

0 commit comments

Comments
 (0)