Skip to content

Commit 169ebfc

Browse files
committed
Merge discvr-25.3 to develop
2 parents f5c94df + 0956b83 commit 169ebfc

File tree

6 files changed

+103
-47
lines changed

6 files changed

+103
-47
lines changed

.github/workflows/build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
name: Build DISCVR
22
on:
3+
workflow_dispatch:
34
push:
45
pull_request:
56
jobs:

LDK/api-src/org/labkey/api/ldk/table/ContainerScopedTable.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,8 @@ public Object call()
287287
Object pesudoPkVal = it.getInputColumnValue(inputColMap.get(_pseudoPk));
288288
if (pesudoPkVal != null)
289289
{
290-
if (_context.getInsertOption() != QueryUpdateService.InsertOption.MERGE && keyManager.rowExists(c, pesudoPkVal))
290+
// NOTE: this code is called for both inserts and updates:
291+
if (_context.getInsertOption() == QueryUpdateService.InsertOption.INSERT && keyManager.rowExists(c, pesudoPkVal))
291292
{
292293
_context.getErrors().addRowError(new ValidationException("A record is already present with value: " + pesudoPkVal));
293294
}

LDK/src/org/labkey/ldk/LDKController.java

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -847,14 +847,10 @@ public ModelAndView getView(QueryForm form, BindException errors) throws Excepti
847847

848848
if (keyField != null)
849849
{
850+
// Note: the ContainerContext will need to be set within QueryView
850851
DetailsURL importUrl = DetailsURL.fromString("/query/importData.view?schemaName=" + schemaName + "&query.queryName=" + queryName + "&keyField=" + keyField);
851-
importUrl.setContainerContext(getContainer());
852-
853852
DetailsURL updateUrl = DetailsURL.fromString("/ldk/manageRecord.view?schemaName=" + schemaName + "&query.queryName=" + queryName + "&keyField=" + keyField + "&key=${" + keyField + "}");
854-
updateUrl.setContainerContext(getContainer());
855-
856853
DetailsURL deleteUrl = DetailsURL.fromString("/query/deleteQueryRows.view?schemaName=" + schemaName + "&query.queryName=" + queryName);
857-
deleteUrl.setContainerContext(getContainer());
858854

859855
url.addParameter("importURL", importUrl.toString());
860856
url.addParameter("updateURL", updateUrl.toString());
@@ -866,7 +862,7 @@ public ModelAndView getView(QueryForm form, BindException errors) throws Excepti
866862
url.addParameter("queryName", queryName);
867863
url.addParameter("allowChooseQuery", false);
868864

869-
WebPartFactory factory = Portal.getPortalPartCaseInsensitive("Query");
865+
WebPartFactory factory = Portal.getPortalPart("Query");
870866
Portal.WebPart part = factory.createWebPart();
871867
part.setProperties(url.getQueryString());
872868

LDK/test/src/org/labkey/test/tests/external/labModules/LabModulesTest.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,15 @@
1616
package org.labkey.test.tests.external.labModules;
1717

1818
import org.apache.commons.lang3.StringUtils;
19+
import org.apache.commons.lang3.time.DateFormatUtils;
20+
import org.apache.commons.lang3.time.DateUtils;
1921
import org.apache.commons.lang3.tuple.Pair;
2022
import org.apache.poi.ss.usermodel.Sheet;
2123
import org.apache.poi.ss.usermodel.Workbook;
2224
import org.junit.Assert;
2325
import org.junit.Test;
2426
import org.junit.experimental.categories.Category;
27+
import org.labkey.api.util.DateUtil;
2528
import org.labkey.remoteapi.CommandException;
2629
import org.labkey.remoteapi.Connection;
2730
import org.labkey.remoteapi.collections.CaseInsensitiveHashMap;
@@ -1415,6 +1418,7 @@ private void samplesTableTest() throws Exception
14151418
columnLabels.add(getColumnLabel(srr, name));
14161419
}
14171420

1421+
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
14181422
List<List<String>> rows = new ArrayList<>();
14191423
for (Map<String, Object> row : srr.getRows())
14201424
{
@@ -1425,7 +1429,7 @@ private void samplesTableTest() throws Exception
14251429
String val = row.get(name) == null ? "" : String.valueOf(row.get(name));
14261430
if (name.toLowerCase().contains("date"))
14271431
{
1428-
val = StringUtils.isEmpty(val) ? "" : ExcelHelper.getDateTimeFormat().format(new Date(val));
1432+
val = StringUtils.isEmpty(val) ? "" : dateFormat.format(Date.parse(val));
14291433
}
14301434

14311435
target.add(val);
@@ -1440,10 +1444,10 @@ private void samplesTableTest() throws Exception
14401444
List<List<String>> lines = ExcelHelper.getFirstNRows(sheet, 5);
14411445

14421446
Assert.assertEquals(columnLabels, lines.get(0));
1443-
Assert.assertEquals(rows.get(0), lines.get(1));
1444-
Assert.assertEquals(rows.get(0), lines.get(2));
1445-
Assert.assertEquals(rows.get(1), lines.get(3));
1446-
Assert.assertEquals(rows.get(1), lines.get(4));
1447+
Assert.assertEquals("Row did not match. ExcelHelper pattern: " + ExcelHelper.getDateTimeFormat().toPattern(), rows.get(0), lines.get(1));
1448+
Assert.assertEquals("Row did not match. ExcelHelper pattern: " + ExcelHelper.getDateTimeFormat().toPattern(), rows.get(0), lines.get(2));
1449+
Assert.assertEquals("Row did not match. ExcelHelper pattern: " + ExcelHelper.getDateTimeFormat().toPattern(), rows.get(1), lines.get(3));
1450+
Assert.assertEquals("Row did not match. ExcelHelper pattern: " + ExcelHelper.getDateTimeFormat().toPattern(), rows.get(1), lines.get(4));
14471451
}
14481452

14491453
refresh();

laboratory/api-src/org/labkey/api/laboratory/query/ContainerIncrementingTable.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public ContainerIncrementingTable(UserSchema us, TableInfo st, ContainerFilter c
5959
}
6060

6161
@Override
62-
public SimpleUserSchema.SimpleTable init()
62+
public SimpleUserSchema.SimpleTable<?> init()
6363
{
6464
super.init();
6565

0 commit comments

Comments
 (0)