From d8904a6ba954e0aca6078662910ea37fc971d24a Mon Sep 17 00:00:00 2001 From: Daria Bodiakova <70635654+DariaBod@users.noreply.github.com> Date: Thu, 2 Jul 2026 11:10:48 -0700 Subject: [PATCH 1/2] Fix for notification menu 'View all activity' (#3080) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit #### Rationale Dropdown menu click isn't working sometimes because of re-rendering. #### Related Pull Requests - #### Changes - added retry --- .../notifications/ServerNotificationMenu.java | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/org/labkey/test/components/ui/notifications/ServerNotificationMenu.java b/src/org/labkey/test/components/ui/notifications/ServerNotificationMenu.java index 42fc0dc958..383c4435b7 100644 --- a/src/org/labkey/test/components/ui/notifications/ServerNotificationMenu.java +++ b/src/org/labkey/test/components/ui/notifications/ServerNotificationMenu.java @@ -5,6 +5,7 @@ import org.labkey.test.components.Component; import org.labkey.test.components.WebDriverComponent; import org.labkey.test.components.ui.pipeline.ImportsPage; +import org.openqa.selenium.NoSuchElementException; import org.openqa.selenium.StaleElementReferenceException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; @@ -157,10 +158,19 @@ public void clickMarkAll() public ImportsPage clickViewAll() { - expand(); - WebDriverWrapper.waitFor(elementCache().viewAllLink()::isDisplayed, - "View all link did not become visible.", 2_500); - elementCache().viewAllLink().click(); + // Retry for clicking 'View all activity' link because of stale element. + WebDriverWrapper.waitFor(() -> { + try + { + expand(); + elementCache().viewAllLink().click(); + return true; + } + catch (StaleElementReferenceException | NoSuchElementException retry) + { + return false; + } + }, "View all link did not become clickable.", 5_000); return new ImportsPage(getWrapper()); } @@ -259,7 +269,7 @@ protected class ElementCache extends Component.ElementCache { public final WebElement menuContent = Locator.byClass("navbar-menu__content").refindWhenNeeded(this); - public final WebElement toggle = Locator.byClass("navbar-menu-button").findWhenNeeded(this); + public final WebElement toggle = Locator.byClass("navbar-menu-button").refindWhenNeeded(this); public final WebElement statusIcon() { From 8c092186d8c8dc50acf4255bfad699aaa8c4c5fb Mon Sep 17 00:00:00 2001 From: Trey Chadick Date: Thu, 2 Jul 2026 15:29:20 -0700 Subject: [PATCH 2/2] Move editableModule to moduleEditor repository (#3085) #### Rationale Our ModuleEditorTest doesn't accurately reflect real usage. Instead of building a `.module` file, we should just copy the module into the server's externalModules directory. #### Related Pull Requests * https://github.com/LabKey/premiumModules/pull/596 * https://github.com/LabKey/platform/pull/7727 * https://github.com/LabKey/testAutomation/pull/3085 #### Changes - Delete `editableModule` (moved to premiumModules repo) - Add helper to locate externalModules directory - Increase timeout for `FileTree` toggle #### Tasks - [ ] Claude Code Review - [ ] TeamCity verification --- modules/editableModule/module.properties | 8 - .../resources/data/category.tsv | 4 - .../resources/data/item-categories.tsv | 3 - .../resources/data/milestone.tsv | 5 - .../resources/data/priority.tsv | 6 - .../editableModule/resources/data/samples.tsv | 12 - .../resources/data/todolist.tsv | 2 - .../EditableModuleTemplate.template.xml | 31 -- .../Editable Module Folder.folderType.xml | 28 -- modules/editableModule/resources/module.xml | 42 --- .../resources/queries/lists/People.js | 79 ---- .../lists/People/Crazy People.qview.xml | 12 - .../resources/queries/lists/TestQuery.sql | 16 - .../queries/vehicle/Models.query.xml | 21 -- .../queries/vehicle/ParamParamVehicles.sql | 19 - .../queries/vehicle/ParameterizedVehicles.sql | 20 -- .../resources/queries/vehicle/Toyotas.sql | 19 - .../queries/vehicle/UserDefinedEmissions.sql | 16 - .../queries/vehicle/Vehicles/.qview.xml | 11 - .../AlternateImportTemplate.qview.xml | 6 - .../Vehicles/EditableFileBasedView.qview.xml | 7 - .../Vehicles/Filter On Letter P.qview.xml | 10 - .../Vehicles/SortOnModelYear.qview.xml | 5 - .../VehiclesInCurrentAndSubfolders.qview.xml | 3 - .../vehicle/Vehicles/~~INSERT~~.qview.xml | 10 - .../vehicle/Vehicles/~~UPDATE~~.qview.xml | 10 - .../resources/queries/vehicle/colors.js | 171 --------- .../reports/schemas/editableModuleReport.r | 9 - .../schemas/LinkedVehicle.template.xml | 7 - .../resources/schemas/vehicle.xml | 336 ------------------ .../resources/scripts/editablemodule/Debug.js | 31 -- .../editablemodule/ScriptValidationExports.js | 23 -- .../Editable Module Web Part.webpart.xml | 6 - .../resources/views/_footer.html | 10 - .../editableModule/resources/views/begin.html | 1 - .../resources/views/webpart.html | 5 - .../resources/web/editablemodule/alert.png | Bin 1788 -> 0 bytes .../resources/web/editablemodule/testfile.js | 15 - .../resources/web/editablemodule/testfile2.js | 8 - .../EditableModuleController.java | 50 --- .../editablemodule/EditableModuleManager.java | 32 -- .../editablemodule/EditableModuleModule.java | 63 ---- .../org/labkey/editablemodule/view/hello.jsp | 25 -- src/org/labkey/test/TestFileUtils.java | 5 + .../test/components/ui/files/FileTree.java | 12 +- 45 files changed, 13 insertions(+), 1201 deletions(-) delete mode 100644 modules/editableModule/module.properties delete mode 100644 modules/editableModule/resources/data/category.tsv delete mode 100644 modules/editableModule/resources/data/item-categories.tsv delete mode 100644 modules/editableModule/resources/data/milestone.tsv delete mode 100644 modules/editableModule/resources/data/priority.tsv delete mode 100644 modules/editableModule/resources/data/samples.tsv delete mode 100644 modules/editableModule/resources/data/todolist.tsv delete mode 100644 modules/editableModule/resources/domain-templates/EditableModuleTemplate.template.xml delete mode 100644 modules/editableModule/resources/folderTypes/Editable Module Folder.folderType.xml delete mode 100644 modules/editableModule/resources/module.xml delete mode 100644 modules/editableModule/resources/queries/lists/People.js delete mode 100644 modules/editableModule/resources/queries/lists/People/Crazy People.qview.xml delete mode 100644 modules/editableModule/resources/queries/lists/TestQuery.sql delete mode 100644 modules/editableModule/resources/queries/vehicle/Models.query.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/ParamParamVehicles.sql delete mode 100644 modules/editableModule/resources/queries/vehicle/ParameterizedVehicles.sql delete mode 100644 modules/editableModule/resources/queries/vehicle/Toyotas.sql delete mode 100644 modules/editableModule/resources/queries/vehicle/UserDefinedEmissions.sql delete mode 100644 modules/editableModule/resources/queries/vehicle/Vehicles/.qview.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/Vehicles/AlternateImportTemplate.qview.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/Vehicles/EditableFileBasedView.qview.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/Vehicles/Filter On Letter P.qview.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/Vehicles/SortOnModelYear.qview.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/Vehicles/VehiclesInCurrentAndSubfolders.qview.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/Vehicles/~~INSERT~~.qview.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/Vehicles/~~UPDATE~~.qview.xml delete mode 100644 modules/editableModule/resources/queries/vehicle/colors.js delete mode 100644 modules/editableModule/resources/reports/schemas/editableModuleReport.r delete mode 100644 modules/editableModule/resources/schemas/LinkedVehicle.template.xml delete mode 100644 modules/editableModule/resources/schemas/vehicle.xml delete mode 100644 modules/editableModule/resources/scripts/editablemodule/Debug.js delete mode 100644 modules/editableModule/resources/scripts/editablemodule/ScriptValidationExports.js delete mode 100644 modules/editableModule/resources/views/Editable Module Web Part.webpart.xml delete mode 100644 modules/editableModule/resources/views/_footer.html delete mode 100644 modules/editableModule/resources/views/begin.html delete mode 100644 modules/editableModule/resources/views/webpart.html delete mode 100644 modules/editableModule/resources/web/editablemodule/alert.png delete mode 100644 modules/editableModule/resources/web/editablemodule/testfile.js delete mode 100644 modules/editableModule/resources/web/editablemodule/testfile2.js delete mode 100644 modules/editableModule/src/org/labkey/editablemodule/EditableModuleController.java delete mode 100644 modules/editableModule/src/org/labkey/editablemodule/EditableModuleManager.java delete mode 100644 modules/editableModule/src/org/labkey/editablemodule/EditableModuleModule.java delete mode 100644 modules/editableModule/src/org/labkey/editablemodule/view/hello.jsp diff --git a/modules/editableModule/module.properties b/modules/editableModule/module.properties deleted file mode 100644 index 3ab2c81872..0000000000 --- a/modules/editableModule/module.properties +++ /dev/null @@ -1,8 +0,0 @@ -ModuleClass: org.labkey.editablemodule.EditableModuleModule -Label: Module Editor Playground -Organization: LabKey -OrganizationURL: https://www.labkey.com/ -License: Apache 2.0 -LicenseURL: http://www.apache.org/licenses/LICENSE-2.0 -SupportedDatabases: mssql, pgsql -ManageVersion: true diff --git a/modules/editableModule/resources/data/category.tsv b/modules/editableModule/resources/data/category.tsv deleted file mode 100644 index 2dc7e749b7..0000000000 --- a/modules/editableModule/resources/data/category.tsv +++ /dev/null @@ -1,4 +0,0 @@ -category -dev -test -doc diff --git a/modules/editableModule/resources/data/item-categories.tsv b/modules/editableModule/resources/data/item-categories.tsv deleted file mode 100644 index b498ad3271..0000000000 --- a/modules/editableModule/resources/data/item-categories.tsv +++ /dev/null @@ -1,3 +0,0 @@ -item category -1 dev -1 test diff --git a/modules/editableModule/resources/data/milestone.tsv b/modules/editableModule/resources/data/milestone.tsv deleted file mode 100644 index 96eead16f0..0000000000 --- a/modules/editableModule/resources/data/milestone.tsv +++ /dev/null @@ -1,5 +0,0 @@ -m title -1000 Future -4 Milestone 4 -2 Milestone 2 - diff --git a/modules/editableModule/resources/data/priority.tsv b/modules/editableModule/resources/data/priority.tsv deleted file mode 100644 index 8c0415a8c2..0000000000 --- a/modules/editableModule/resources/data/priority.tsv +++ /dev/null @@ -1,6 +0,0 @@ -pri title -0 !! -1 p1 -2 p2 -3 p3 -4 p4 diff --git a/modules/editableModule/resources/data/samples.tsv b/modules/editableModule/resources/data/samples.tsv deleted file mode 100644 index 70c93da14a..0000000000 --- a/modules/editableModule/resources/data/samples.tsv +++ /dev/null @@ -1,12 +0,0 @@ -family index parent -A0 0 -A0 1 - -A1 0 A0-0 -A1 1 A0-0 - -A2 0 A0-1 - -B0 0 - -C0 0 A2-0,B0-0 diff --git a/modules/editableModule/resources/data/todolist.tsv b/modules/editableModule/resources/data/todolist.tsv deleted file mode 100644 index 1745533488..0000000000 --- a/modules/editableModule/resources/data/todolist.tsv +++ /dev/null @@ -1,2 +0,0 @@ -title text file pri alias -create xsd create xmlschema 1 xsd,domain templates diff --git a/modules/editableModule/resources/domain-templates/EditableModuleTemplate.template.xml b/modules/editableModule/resources/domain-templates/EditableModuleTemplate.template.xml deleted file mode 100644 index 1f9f496f64..0000000000 --- a/modules/editableModule/resources/domain-templates/EditableModuleTemplate.template.xml +++ /dev/null @@ -1,31 +0,0 @@ - - - - - - Testing a data class template from module. - - - integer - Test Column AA - http://www.w3.org/2001/XMLSchema#int - http://cpas.labkey.com/Experiment#Testing - - - varchar - Test Column BB - http://www.w3.org/2001/XMLSchema#string - - - - - - aa - - - - TEST-${genId}-${aa} - - - - diff --git a/modules/editableModule/resources/folderTypes/Editable Module Folder.folderType.xml b/modules/editableModule/resources/folderTypes/Editable Module Folder.folderType.xml deleted file mode 100644 index ee2a301b42..0000000000 --- a/modules/editableModule/resources/folderTypes/Editable Module Folder.folderType.xml +++ /dev/null @@ -1,28 +0,0 @@ - - Editable Module Folder - Workbook template for assay runs - - - Workbook Description - body - - - - - Experiment Runs - body - - - Files - body - - - - Pipeline - Experiment - Query - Core - - Core - true - \ No newline at end of file diff --git a/modules/editableModule/resources/module.xml b/modules/editableModule/resources/module.xml deleted file mode 100644 index 34c43e2e4f..0000000000 --- a/modules/editableModule/resources/module.xml +++ /dev/null @@ -1,42 +0,0 @@ - - - - false - - - true - DefaultValue - - UPDATE - - - - true - textArea - line1 line2 line3 - - - checkbox - - - select - - - - - combo - - - - - - - - - - - \ No newline at end of file diff --git a/modules/editableModule/resources/queries/lists/People.js b/modules/editableModule/resources/queries/lists/People.js deleted file mode 100644 index 307f5af025..0000000000 --- a/modules/editableModule/resources/queries/lists/People.js +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 2013-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 - */ - -var console = require("console"); -console.log("** evaluating: " + this['javax.script.filename'] + ", schema=" + schemaName + ", table=" + tableName); -if (extraContext) - console.log("extraContext:", extraContext); - -var LABKEY = require("labkey"); - -function beforeInsert(row, errors) -{ - // Test row map is case-insensitive - if (row.Name != row.nAmE) - throw new Error("beforeInsert row properties must be case-insensitive."); - - -// var result = LABKEY.Query.deleteRows({ -// schemaName: "lists", -// queryName: "People", -// rowDataArray: [{Key: 100}] -// }); -// console.log("Result of deleteRows: ", result); -} - -function afterInsert(row, errors) -{ - // Test row map is case-insensitive - if (row.Name != row.nAmE) - throw new Error("afterInsert row properties must be case-insensitive."); -} - -function beforeUpdate(row, oldRow, errors) -{ - // Test row map is case-insensitive - if (row.Name != row.nAmE) - throw new Error("beforeUpdate row properties must be case-insensitive."); - - // Test oldRow map is case-insensitive - if (oldRow.Name != oldRow.nAmE) - throw new Error("beforeUpdate oldRow properties must be case-insensitive."); -} - -function afterUpdate(row, oldRow, errors) -{ - // Test row map is case-insensitive - if (row.Name != row.nAmE) - throw new Error("afterUpdate row properties must be case-insensitive."); - - // Test oldRow map is case-insensitive - if (oldRow.Name != oldRow.nAmE) - throw new Error("afterUpdate oldRow properties must be case-insensitive."); -} - -function beforeDelete(row, errors) -{ - // Test row map is case-insensitive - if (row.Name != row.nAmE) - throw new Error("beforeDelete row properties must be case-insensitive."); -} - -function afterDelete(row, errors) -{ - // Test row map is case-insensitive - if (row.Name != row.nAmE) - throw new Error("afterDelete row properties must be case-insensitive."); -} - -var {Debug, trace} = require("editablemodule/Debug"); -beforeInsert = Debug.addBefore(beforeInsert, trace); -afterInsert = Debug.addBefore(afterInsert, trace); -beforeUpdate = Debug.addBefore(beforeUpdate, trace); -afterUpdate = Debug.addBefore(afterUpdate, trace); -beforeDelete = Debug.addBefore(beforeDelete, trace); -afterDelete = Debug.addBefore(afterDelete, trace); - diff --git a/modules/editableModule/resources/queries/lists/People/Crazy People.qview.xml b/modules/editableModule/resources/queries/lists/People/Crazy People.qview.xml deleted file mode 100644 index cab67ff209..0000000000 --- a/modules/editableModule/resources/queries/lists/People/Crazy People.qview.xml +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - diff --git a/modules/editableModule/resources/queries/lists/TestQuery.sql b/modules/editableModule/resources/queries/lists/TestQuery.sql deleted file mode 100644 index fedf85037d..0000000000 --- a/modules/editableModule/resources/queries/lists/TestQuery.sql +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2013-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -select People.Name, People.Age from People where People.Crazy=CONVERT(1, BIT) diff --git a/modules/editableModule/resources/queries/vehicle/Models.query.xml b/modules/editableModule/resources/queries/vehicle/Models.query.xml deleted file mode 100644 index 3af0ab5733..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Models.query.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - QueryTableValidator - urn:lsid:labkey.com:PropertyValidator:regex - - ^(.){0,20}$ - Failed Query Layer RegEx - - - - -
-
-
-
\ No newline at end of file diff --git a/modules/editableModule/resources/queries/vehicle/ParamParamVehicles.sql b/modules/editableModule/resources/queries/vehicle/ParamParamVehicles.sql deleted file mode 100644 index d0c18c3f2a..0000000000 --- a/modules/editableModule/resources/queries/vehicle/ParamParamVehicles.sql +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2013-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -PARAMETERS(STARTS_WITH VARCHAR, X VARCHAR DEFAULT 'Ford') -SELECT * -FROM ParameterizedVehicles diff --git a/modules/editableModule/resources/queries/vehicle/ParameterizedVehicles.sql b/modules/editableModule/resources/queries/vehicle/ParameterizedVehicles.sql deleted file mode 100644 index 8a8be96bfd..0000000000 --- a/modules/editableModule/resources/queries/vehicle/ParameterizedVehicles.sql +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Copyright (c) 2013-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -PARAMETERS(X VARCHAR DEFAULT 'Toyota', STARTS_WITH VARCHAR DEFAULT 'P') -SELECT * -FROM Models -WHERE Models.ManufacturerId IN (SELECT Manufacturers.RowId FROM Manufacturers WHERE Manufacturers.Name = X) AND Models.Name LIKE STARTS_WITH || '%' diff --git a/modules/editableModule/resources/queries/vehicle/Toyotas.sql b/modules/editableModule/resources/queries/vehicle/Toyotas.sql deleted file mode 100644 index 2b277cf5bb..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Toyotas.sql +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Copyright (c) 2013-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -SELECT Models.RowId AS _RowId, Models.Name -FROM Models -WHERE Models.ManufacturerId IN (SELECT Manufacturers.RowId FROM Manufacturers WHERE Manufacturers.Name = 'Toyota') - diff --git a/modules/editableModule/resources/queries/vehicle/UserDefinedEmissions.sql b/modules/editableModule/resources/queries/vehicle/UserDefinedEmissions.sql deleted file mode 100644 index 77725f55ce..0000000000 --- a/modules/editableModule/resources/queries/vehicle/UserDefinedEmissions.sql +++ /dev/null @@ -1,16 +0,0 @@ -/* - * Copyright (c) 2018-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -SELECT Name, Result FROM vehicle.EmissionTest diff --git a/modules/editableModule/resources/queries/vehicle/Vehicles/.qview.xml b/modules/editableModule/resources/queries/vehicle/Vehicles/.qview.xml deleted file mode 100644 index e9d4e98611..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Vehicles/.qview.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - diff --git a/modules/editableModule/resources/queries/vehicle/Vehicles/AlternateImportTemplate.qview.xml b/modules/editableModule/resources/queries/vehicle/Vehicles/AlternateImportTemplate.qview.xml deleted file mode 100644 index d12a4bb2f7..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Vehicles/AlternateImportTemplate.qview.xml +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/modules/editableModule/resources/queries/vehicle/Vehicles/EditableFileBasedView.qview.xml b/modules/editableModule/resources/queries/vehicle/Vehicles/EditableFileBasedView.qview.xml deleted file mode 100644 index 0fce62df08..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Vehicles/EditableFileBasedView.qview.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/modules/editableModule/resources/queries/vehicle/Vehicles/Filter On Letter P.qview.xml b/modules/editableModule/resources/queries/vehicle/Vehicles/Filter On Letter P.qview.xml deleted file mode 100644 index 00173f1c27..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Vehicles/Filter On Letter P.qview.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/modules/editableModule/resources/queries/vehicle/Vehicles/SortOnModelYear.qview.xml b/modules/editableModule/resources/queries/vehicle/Vehicles/SortOnModelYear.qview.xml deleted file mode 100644 index cc0b10f7e3..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Vehicles/SortOnModelYear.qview.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/modules/editableModule/resources/queries/vehicle/Vehicles/VehiclesInCurrentAndSubfolders.qview.xml b/modules/editableModule/resources/queries/vehicle/Vehicles/VehiclesInCurrentAndSubfolders.qview.xml deleted file mode 100644 index 625485ab2b..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Vehicles/VehiclesInCurrentAndSubfolders.qview.xml +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/modules/editableModule/resources/queries/vehicle/Vehicles/~~INSERT~~.qview.xml b/modules/editableModule/resources/queries/vehicle/Vehicles/~~INSERT~~.qview.xml deleted file mode 100644 index 0bcc5dbe02..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Vehicles/~~INSERT~~.qview.xml +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/modules/editableModule/resources/queries/vehicle/Vehicles/~~UPDATE~~.qview.xml b/modules/editableModule/resources/queries/vehicle/Vehicles/~~UPDATE~~.qview.xml deleted file mode 100644 index 0639a97069..0000000000 --- a/modules/editableModule/resources/queries/vehicle/Vehicles/~~UPDATE~~.qview.xml +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/modules/editableModule/resources/queries/vehicle/colors.js b/modules/editableModule/resources/queries/vehicle/colors.js deleted file mode 100644 index da74e40c1c..0000000000 --- a/modules/editableModule/resources/queries/vehicle/colors.js +++ /dev/null @@ -1,171 +0,0 @@ -/* - * Copyright (c) 2013-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 - */ -// ================================================ - -var console = require("console"); -console.log("** evaluating: " + this['javax.script.filename']); - -// ================================================ - -var hexRe = /^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/; - -var rows = []; - -// called once before insert/update/delete -function init(event, errors) { -} - -function beforeInsert(row, errors) { - // Test row map is case-insensitive - if (row.Name != row.nAmE && row.Hex != row.hex) - throw new Error("row properties must be case-insensitive."); - - // Throwing a script exception will bubble all the way up and cancel the insert immediately. - if (row.Hex && row.Hex[0] != "#") { - errors[null] = "color value must start with '#'"; - return; - } - - // Any errors added to the error map will cancel the insert - // and appear in the html or Ext form next to the field with the error. - if (row.Hex && !hexRe.test(row.Hex)) - errors.Hex = "color value must be of the form #abc or #aabbcc"; - - // Field error value as a single string. - if (row.Name == "TestFieldErrorMessage") - { - errors.Hex = "**expect to overwrite this**"; - errors.Hex = "single message"; - } - - // Field error value as an array of error messages. - if (row.Name == "TestFieldErrorArray") - { - errors.Name = "**expect to overwrite this**"; - errors.Name = [ "one error message"]; - errors.Name.push("two error message!"); - errors.Name.push("ha ha ha!"); - errors.Hex = "also an error here"; - } - - // Adding a generic error not associated with a field - if (row.Name == "TestRowError") - { - errors[null] = "boring error message"; - // Test setting a schema/query/row number - errors._rowNumber = 1000; - errors._schemaName = "blarg"; - errors._queryName = "zorg"; - } - - // Returning false will cancel the insert with a - // generic error message for the row. - if (row.Name == "TestReturnFalse") - return false; - - if (row.Name == "TestErrorInComplete") - errorsInComplete = true; - - // Values can be transformed during insert and update - row.Name = row.Name + "!"; - rows.push(row); - - // this is a field set to userEditable=false, but has a value provided by the trigger script - row.TriggerScriptProperty = 'set'; -} - -function afterInsert(row, errors) { - // Test row map is case-insensitive - if (row.Name != row.nAmE && row.Hex != row.hex) - throw new Error("afterInsert row properties must be case-insensitive."); -} - -function beforeUpdate(row, oldRow, errors) { - // Test row map is case-insensitive - if (row.Name != row.nAmE && row.Hex != row.hex) - throw new Error("beforeUpdate row properties must be case-insensitive."); - - // Test oldRow map is case-insensitive - if (oldRow.Name != oldRow.nAmE && oldRow.Hex != oldRow.hex) - throw new Error("beforeUpdate oldRow properties must be case-insensitive."); - - // Adding a generic error not associated with a field - if (row.Name == "TestRowErrorBeforeUpdate!") - errors[null] = "boring error message beforeUpdate"; - - // Woah, scary! Even the pk 'Name' property can be changed during update. - if (row.Name[row.Name.length - 1] == "!") - row.Name = row.Name.substring(0, row.Name.length-1) + "?"; - - if (oldRow.Hex != row.Hex) - errors.Hex = "once set, cannot be changed"; -} - -function afterUpdate(row, oldRow, errors) { - // Test row map is case-insensitive - if (row.Name != row.nAmE && row.Hex != row.hex) - throw new Error("afterUpdate row properties must be case-insensitive."); - - // Test oldRow map is case-insensitive - if (oldRow.Name != oldRow.nAmE && oldRow.Hex != oldRow.hex) - throw new Error("afterUpdate oldRow properties must be case-insensitive."); - - if (row.Name[row.Name.length - 1] != "?") - errors[null] = "Expected color name to end in '?'"; -} - -function beforeDelete(row, errors) { - // Test row map is case-insensitive - if (row.Name != row.nAmE) - throw new Error("beforeDelete row properties must be case-insensitive."); - - // Adding a generic error not associated with a field - if (row.Name == "TestRowErrorBeforeDelete!") - errors[null] = "boring error message beforeDelete"; -} - -function afterDelete(row, errors) { - // Test row map is case-insensitive - if (row.Name != row.nAmE) - throw new Error("afterDelete row properties must be case-insensitive."); -} - -// called once after insert/update/delete -function complete(event, errors) { - if (event == "insert") { - - for (var i in rows) { - var row = rows[i]; - - // The 'errors' object for init/complete is an array of maps - if (row.Name == "TestErrorInComplete!") - errors.push({ Name : "TestErrorInComplete error global four!", _rowNumber: i, _row: {a: "A", b: "B"} }); - - if (row.Name == "TestFieldErrorArrayInComplete!") - { - errors.push({Name: ["one error message", "two error message"], Hex: ["three error message"], _rowNumber: i}); - errors.push({Hex: "four error message", _rowNumber: i}); - } - - // Returning false will cancel the insert with - // a generic error message for the entire set of rows. - if (row.Name == "Zoro!") - return false; - - } - } -} - -var {Debug, trace} = require("editablemodule/Debug"); -init = Debug.addBefore(init, trace); -beforeInsert = Debug.addBefore(beforeInsert, trace); -afterInsert = Debug.addBefore(afterInsert, trace); -beforeUpdate = Debug.addBefore(beforeUpdate, trace); -afterUpdate = Debug.addBefore(afterUpdate, trace); -beforeDelete = Debug.addBefore(beforeDelete, trace); -afterDelete = Debug.addBefore(afterDelete, trace); -complete = Debug.addBefore(complete, trace); - diff --git a/modules/editableModule/resources/reports/schemas/editableModuleReport.r b/modules/editableModule/resources/reports/schemas/editableModuleReport.r deleted file mode 100644 index b7f634492f..0000000000 --- a/modules/editableModule/resources/reports/schemas/editableModuleReport.r +++ /dev/null @@ -1,9 +0,0 @@ -## -# Copyright (c) 2013-2019 LabKey Corporation -# -# Licensed under the Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0 -## -cat('Hello, ', labkey.url.params$greeter, '!\n', sep='') - -cat("{ \"a\": [1,2,3], \"", labkey.url.params$greeter, "\": \"Hello\" }\n", sep="", file="${jsonout:hello.json}") - diff --git a/modules/editableModule/resources/schemas/LinkedVehicle.template.xml b/modules/editableModule/resources/schemas/LinkedVehicle.template.xml deleted file mode 100644 index 2b1a54072b..0000000000 --- a/modules/editableModule/resources/schemas/LinkedVehicle.template.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - * - - - diff --git a/modules/editableModule/resources/schemas/vehicle.xml b/modules/editableModule/resources/schemas/vehicle.xml deleted file mode 100644 index ed1788c726..0000000000 --- a/modules/editableModule/resources/schemas/vehicle.xml +++ /dev/null @@ -1,336 +0,0 @@ - - - - - - Name - - - varchar - 30 - - - true - varchar - - - true - false - varchar - true - - -
- - - RowId - SUMMARY - - - serial - true - 10 - false - true - true - true - - - varchar - 255 - - -
- - - RowId - - - int - - - int - - StartCycleCol - SecondFKTable - vehicle - - - -
- - - RowId - - - int - - - int - - - - CycleCol - ThirdFKTable - vehicle - - int - - -
- - - RowId - - - int - - - - CycleCol - SecondFKTable - vehicle - - int - - -
- - - RowId - DETAILED - - - serial - true - 10 - false - true - true - true - /editablemodule/model.view?rowid=${RowId} - - - varchar - 255 - /editablemodule/model.view?rowid=${RowId} - - - Manufacturer - - RowId - Manufacturers - simple - - int - - - - - SchemaTableValidator - urn:lsid:labkey.com:PropertyValidator:regex - - ^[^5]*$ - Failed Schema Layer RegEx - - - - - varchar - - org.labkey.api.data.URLDisplayColumn$Factory - - 50px - /_webdav/SimpleModuleTest%20Project/%40files/${thumbnailImage} - /_webdav/SimpleModuleTest%20Project/%40files/${popupImage} - - - /_webdav/SimpleModuleTest%20Project/%40files/${Image} - - - varchar - - - varchar - - - /editablemodule/model.view?rowid=${RowId}&doesNotExist=${doesNotExist} - - - /editablemodule/model.view?rowid=${RowId}&doesNotExist=${doesNotExist} - - - /editablemodule/model.view?rowid=${RowId}&doesNotExist=${doesNotExist} - - - /editablemodule/model.view?rowid=${RowId}&doesNotExist=${doesNotExist} - - - /editablemodule/model.view?rowid=${RowId}&doesNotExist=${doesNotExist:defaultValue('fred')} - - - - /editablemodule/model.view?rowid=${RowId}&nullableColumn=${initialReleaseYear} - - - /editablemodule/model.view?rowid=${RowId}&nullableColumn=${initialReleaseYear} - - - /editablemodule/model.view?rowid=${RowId}&nullableColumn=${initialReleaseYear} - - - /editablemodule/model.view?rowid=${RowId}&nullableColumn=${initialReleaseYear} - - - /editablemodule/model.view?rowid=${RowId}&nullableColumn=${initialReleaseYear:defaultValue('fred')} - - - -
- - - RowId - /editablemodule/vehicle.view?rowid=${RowId} - Hello. Please read this before you import data - -