diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5816605b..26976a1e 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,6 +10,11 @@ jobs: if: github.repository == 'BimberLabInternal/LabDevKitModules' runs-on: ubuntu-latest steps: + # Note: use slight delay in case there are associated commits across repos + - name: "Sleep for 30 seconds" + run: sleep 30s + shell: bash + - name: "Build DISCVR" uses: bimberlabinternal/DevOps/githubActions/discvr-build@master with: diff --git a/LDK/src/org/labkey/ldk/query/DefaultTableCustomizer.java b/LDK/src/org/labkey/ldk/query/DefaultTableCustomizer.java index c49ec53d..2b16fa5b 100644 --- a/LDK/src/org/labkey/ldk/query/DefaultTableCustomizer.java +++ b/LDK/src/org/labkey/ldk/query/DefaultTableCustomizer.java @@ -118,13 +118,19 @@ private void setDetailsUrl(AbstractTableInfo ti) } String schemaName = ti.getUserSchema().getSchemaName(); - assert schemaName != null; - String queryName = ti.getPublicName(); - assert queryName != null; + if (queryName == null) + { + _log.error("TableInfo.getPublicName() was null", new Exception()); + return; + } List keyFields = ti.getPkColumnNames(); - assert !keyFields.isEmpty() : "No key fields found for the table: " + ti.getPublicSchemaName() + "." + ti.getPublicName(); + if (keyFields.isEmpty()) + { + _log.debug("No key fields found for the table, cannot set details URL: " + ti.getPublicSchemaName() + "." + ti.getPublicName()); + return; + } if (_settings.getPrimaryKeyField() != null) { @@ -169,13 +175,25 @@ else if (_settings.isSetEditLinkOverrides()) { //otherwise apply custom urls String schemaName = ti.getUserSchema().getSchemaName(); - assert schemaName != null; - String queryName = ti.getPublicName(); - assert queryName != null; + if (queryName == null) + { + _log.error("TableInfo.getPublicName() was null", new Exception()); + return; + } List keyFields = ti.getPkColumnNames(); - assert !keyFields.isEmpty() : "No key fields found for the table: " + ti.getPublicSchemaName() + "." + ti.getPublicName(); + if (keyFields.isEmpty()) + { + // There does not seem to be a more direct test for 'is editable' + if (ti.getUpdateService() == null) + { + return; + } + + _log.debug("No key fields found for the table, cannot customize edit UI: " + ti.getPublicSchemaName() + "." + ti.getPublicName()); + return; + } if (_settings.getPrimaryKeyField() != null) {