diff --git a/LDK/api-src/org/labkey/api/ldk/table/ContainerScopedTable.java b/LDK/api-src/org/labkey/api/ldk/table/ContainerScopedTable.java index 975f117e..9a946cfe 100644 --- a/LDK/api-src/org/labkey/api/ldk/table/ContainerScopedTable.java +++ b/LDK/api-src/org/labkey/api/ldk/table/ContainerScopedTable.java @@ -122,7 +122,7 @@ public DataIteratorBuilder persistRows(DataIteratorBuilder data, DataIteratorCon protected class UpdateService extends SimpleQueryUpdateService { - private KeyManager _keyManager = new KeyManager(); + private final KeyManager _keyManager = new KeyManager(); public UpdateService(SimpleUserSchema.SimpleTable ti) { @@ -307,7 +307,7 @@ public Object call() private class KeyManager { - private Set _encounteredKeys = new HashSet<>(); + private final Set _encounteredKeys = new HashSet<>(); public KeyManager() { @@ -337,7 +337,7 @@ public boolean rowExists(Container c, Object key) Container target = c.getContainerFor(ContainerType.DataType.sharedSchemaOwner); SimpleFilter filter = new SimpleFilter(FieldKey.fromString(_pseudoPk), key, CompareType.EQUAL); - filter.addClause(ContainerFilter.current(target).createFilterClause(_rootTable.getSchema(), getContainerFieldKey())); + filter.addClause(ContainerFilter.current(target, getUserSchema().getUser()).createFilterClause(_rootTable.getSchema(), getContainerFieldKey())); TableSelector ts = new TableSelector(_rootTable, Collections.singleton(_pseudoPk), filter, null); return ts.getRowCount() > 0; diff --git a/LDK/src/org/labkey/ldk/notification/SiteSummaryNotification.java b/LDK/src/org/labkey/ldk/notification/SiteSummaryNotification.java index 64bc49e5..3bddf0b4 100644 --- a/LDK/src/org/labkey/ldk/notification/SiteSummaryNotification.java +++ b/LDK/src/org/labkey/ldk/notification/SiteSummaryNotification.java @@ -677,11 +677,11 @@ private void getAssayRunSummary(Container c, User u, final StringBuilder msg, fi if (protocolMap == null) protocolMap = new TreeMap<>(); - ExpRunTable tiRun = AssayService.get().createRunTable(p, ap, u, p.getContainer(), ContainerFilter.EVERYTHING); + ExpRunTable tiRun = AssayService.get().createRunTable(p, ap, u, p.getContainer(), ContainerFilter.EVERYTHING_UNSAFE); TableSelector tsRun = new TableSelector(tiRun); AssayProtocolSchema schema = ap.createProtocolSchema(u, p.getContainer(), p, null); - TableInfo tiResult = schema.createDataTable(ContainerFilter.EVERYTHING); + TableInfo tiResult = schema.createDataTable(ContainerFilter.EVERYTHING_UNSAFE); TableSelector tsResult = new TableSelector(tiResult); protocolMap.put(p, new Long[]{tsRun.getRowCount(), tsResult.getRowCount()}); diff --git a/laboratory/api-src/org/labkey/api/laboratory/QueryCountNavItem.java b/laboratory/api-src/org/labkey/api/laboratory/QueryCountNavItem.java index 1662c4a2..8c802af7 100644 --- a/laboratory/api-src/org/labkey/api/laboratory/QueryCountNavItem.java +++ b/laboratory/api-src/org/labkey/api/laboratory/QueryCountNavItem.java @@ -47,17 +47,17 @@ public Long getRowCount(Container c, User u) if (ti == null) return Long.valueOf(0); - SimpleFilter filter = getFilter(c, ti); + SimpleFilter filter = getFilter(c, u, ti); TableSelector ts = new TableSelector(ti, ti.getPkColumns(), filter, null); return ts.getRowCount(); } - protected SimpleFilter getFilter(Container c, TableInfo ti) + protected SimpleFilter getFilter(Container c, User u, TableInfo ti) { SimpleFilter filter = new SimpleFilter(); - if (ti.getColumn("container") != null && !(ti.supportsContainerFilter() && ContainerFilter.current(c).equals(ti.getContainerFilter()))) - filter.addClause(ContainerFilter.current(c).createFilterClause(ti.getSchema(), FieldKey.fromString("container"))); + if (ti.getColumn("container") != null && !(ti.supportsContainerFilter() && ContainerFilter.current(c, u).equals(ti.getContainerFilter()))) + filter.addClause(ContainerFilter.current(c, u).createFilterClause(ti.getSchema(), FieldKey.fromString("container"))); if (_filter != null) { diff --git a/laboratory/src/org/labkey/laboratory/SamplesCountNavItem.java b/laboratory/src/org/labkey/laboratory/SamplesCountNavItem.java index c22e4c08..88953025 100644 --- a/laboratory/src/org/labkey/laboratory/SamplesCountNavItem.java +++ b/laboratory/src/org/labkey/laboratory/SamplesCountNavItem.java @@ -8,6 +8,7 @@ import org.labkey.api.laboratory.LaboratoryService; import org.labkey.api.laboratory.QueryCountNavItem; import org.labkey.api.query.FieldKey; +import org.labkey.api.security.User; /** * User: bimber @@ -22,9 +23,9 @@ public SamplesCountNavItem(DataProvider provider, String schema, String query, L } @Override - protected SimpleFilter getFilter(Container c, TableInfo ti) + protected SimpleFilter getFilter(Container c, User u, TableInfo ti) { - SimpleFilter filter = super.getFilter(c, ti); + SimpleFilter filter = super.getFilter(c, u, ti); filter.addCondition(FieldKey.fromString("dateremoved"), null, CompareType.ISBLANK); return filter; } diff --git a/laboratory/src/org/labkey/laboratory/query/LaboratoryTableCustomizer.java b/laboratory/src/org/labkey/laboratory/query/LaboratoryTableCustomizer.java index af8a869d..d37f31e2 100644 --- a/laboratory/src/org/labkey/laboratory/query/LaboratoryTableCustomizer.java +++ b/laboratory/src/org/labkey/laboratory/query/LaboratoryTableCustomizer.java @@ -982,7 +982,7 @@ public void customizeButtonBar(AbstractTableInfo ti) newIncludes.addAll(Arrays.asList(includes)); } - ti.getButtonBarConfig().setScriptIncludes(newIncludes.toArray(new String[newIncludes.size()])); + ti.getButtonBarConfig().setScriptIncludes(newIncludes.toArray(new String[0])); } } @@ -993,7 +993,7 @@ private void customzieSamplesTable(AbstractTableInfo ti) { Container c = ti.getUserSchema().getContainer(); c = c.isWorkbook() ? c.getParent() : c; - SQLFragment containerSql = ContainerFilter.current(c).getSQLFragment(LaboratorySchema.getInstance().getSchema(), new SQLFragment(ti.getContainerFieldKey().toString())); + SQLFragment containerSql = ContainerFilter.current(c, ti.getUserSchema().getUser()).getSQLFragment(LaboratorySchema.getInstance().getSchema(), new SQLFragment(ti.getContainerFieldKey().toString())); SQLFragment sql = new SQLFragment("(SELECT count(*) as _expr FROM laboratory.samples s WHERE " + " (s.").append(containerSql).append(")" + " AND ").