From ab52380cfcbd3475007057dbc124e512d82e1bed Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 11 Oct 2023 16:45:02 +1100 Subject: [PATCH 1/4] Allow org admin/editor to attach docs to reports #3000 --- build.gradle | 2 +- gradle.properties | 2 +- .../services/au/org/ala/merit/DocumentService.groovy | 2 +- grails-app/views/activity/activityReport.gsp | 4 +++- .../org/ala/merit/command/EditOrViewReportCommand.groovy | 8 +++++++- .../groovy/au/org/ala/merit/DocumentServiceSpec.groovy | 4 ++-- .../au/org/ala/merit/ManagementUnitControllerSpec.groovy | 8 ++++---- .../au/org/ala/merit/OrganisationControllerSpec.groovy | 6 +++--- 8 files changed, 22 insertions(+), 14 deletions(-) diff --git a/build.gradle b/build.gradle index d89e1af6c..867f9580d 100644 --- a/build.gradle +++ b/build.gradle @@ -186,7 +186,7 @@ dependencies { providedCompile "io.methvin:directory-watcher:0.4.0" if (!Boolean.valueOf(inplace)) { - implementation "org.grails.plugins:ecodata-client-plugin:6.1" + implementation "org.grails.plugins:ecodata-client-plugin:6.1.2-SNAPSHOT" } } diff --git a/gradle.properties b/gradle.properties index f33fd3af1..e37953c05 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -meritVersion=3.0 +meritVersion=3.0.1-SNAPSHOT grailsVersion=5.3.2 grailsGradlePluginVersion=5.3.0 groovyVersion=3.0.11 diff --git a/grails-app/services/au/org/ala/merit/DocumentService.groovy b/grails-app/services/au/org/ala/merit/DocumentService.groovy index afc9a0c32..cff949177 100644 --- a/grails-app/services/au/org/ala/merit/DocumentService.groovy +++ b/grails-app/services/au/org/ala/merit/DocumentService.groovy @@ -186,7 +186,7 @@ class DocumentService { } else if (document.programId) { canEdit = userService.canUserEditProgramReport(userId, document.programId) } else if (document.organisationId) { - canEdit = userService.isUserAdminForOrganisation(userId, document.organisationId) + canEdit = userService.isUserEditorForOrganisation(userId, document.organisationId) } else if (document.activityId) { canEdit = userService.canUserEditActivity(userId, document.activityId) } else if (document.managementUnitId) { diff --git a/grails-app/views/activity/activityReport.gsp b/grails-app/views/activity/activityReport.gsp index 97644249d..ccf3f36c8 100644 --- a/grails-app/views/activity/activityReport.gsp +++ b/grails-app/views/activity/activityReport.gsp @@ -226,13 +226,15 @@ var activityId = '${activity.activityId}'; var projectId = '${activity.projectId}'; + var documentOwner = ; var outputModelConfig = { activityId: activityId, projectId: projectId, disablePrepop: false, speciesConfig:, - recoveryDataStorageKey: recoveryDataStorageKey + recoveryDataStorageKey: recoveryDataStorageKey, + documentOwner: documentOwner }; outputModelConfig = _.extend(fcConfig, outputModelConfig); diff --git a/src/main/groovy/au/org/ala/merit/command/EditOrViewReportCommand.groovy b/src/main/groovy/au/org/ala/merit/command/EditOrViewReportCommand.groovy index bf592cc2a..b4daace4b 100644 --- a/src/main/groovy/au/org/ala/merit/command/EditOrViewReportCommand.groovy +++ b/src/main/groovy/au/org/ala/merit/command/EditOrViewReportCommand.groovy @@ -38,6 +38,8 @@ abstract class EditOrViewReportCommand implements Validateable { model.returnTo = linkGenerator.link(controller:entityType, action:'index', id: id) model.contextViewUrl = model.returnTo model.saveReportUrl = linkGenerator.link(controller:entityType, action:'saveReport', id:id) + model.documentOwner = [activityId:model.activity.activityId, reportId:reportId] + model.documentOwner[getEntityIdField()] = id } } @@ -60,10 +62,14 @@ abstract class EditOrViewReportCommand implements Validateable { abstract String getHeaderTemplate() boolean isOwnedByEntity(Map report) { - String idField = getEntityType()+'Id' + String idField = getEntityIdField() report[idField] == id } + private String getEntityIdField() { + getEntityType()+'Id' + } + LinkGenerator getLinkGenerator() { grailsApplication.getMainContext().getBean(LinkGenerator) } diff --git a/src/test/groovy/au/org/ala/merit/DocumentServiceSpec.groovy b/src/test/groovy/au/org/ala/merit/DocumentServiceSpec.groovy index c38b54dab..bbfc6e555 100644 --- a/src/test/groovy/au/org/ala/merit/DocumentServiceSpec.groovy +++ b/src/test/groovy/au/org/ala/merit/DocumentServiceSpec.groovy @@ -127,7 +127,7 @@ class DocumentServiceSpec extends Specification implements AutowiredTest{ canDelete == false 2 * webService.getJson(_) >> [documentId:'d1', organisationId:'o2'] 2 * userService.getCurrentUserId() >> userId - 2 * userService.isUserAdminForOrganisation(userId, 'o2') >> false + 2 * userService.isUserEditorForOrganisation(userId, 'o2') >> false when: canEdit = service.canEdit(document) @@ -138,7 +138,7 @@ class DocumentServiceSpec extends Specification implements AutowiredTest{ canDelete == true 2 * webService.getJson(_) >> [documentId:'d1', organisationId:'o2'] 2 * userService.getCurrentUserId() >> userId - 2 * userService.isUserAdminForOrganisation(userId, 'o2') >> true + 2 * userService.isUserEditorForOrganisation(userId, 'o2') >> true } def "only MERIT administrators edit or delete a read only document, regardless of ownership"() { diff --git a/src/test/groovy/au/org/ala/merit/ManagementUnitControllerSpec.groovy b/src/test/groovy/au/org/ala/merit/ManagementUnitControllerSpec.groovy index 117195208..1820efdc6 100644 --- a/src/test/groovy/au/org/ala/merit/ManagementUnitControllerSpec.groovy +++ b/src/test/groovy/au/org/ala/merit/ManagementUnitControllerSpec.groovy @@ -58,7 +58,7 @@ class ManagementUnitControllerSpec extends Specification implements ControllerUn then: 1 * managementUnitService.get(managementUnitId) >> managementUnit - 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.VIEW, null) >> [editable:true, report:[reportId:reportId, managementUnitId:managementUnitId]] + 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.VIEW, null) >> [editable:true, report:[reportId:reportId, managementUnitId:managementUnitId], activity:[activityId:'a1']] view == '/activity/activityReportView' model.context == managementUnit model.contextViewUrl == '/managementUnit/index/'+managementUnitId @@ -222,7 +222,7 @@ class ManagementUnitControllerSpec extends Specification implements ControllerUn controller.editReport() then: - 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [editable:true, report:[reportId:reportId, managementUnitId:managementUnitId]] + 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [editable:true, report:[reportId:reportId, managementUnitId:managementUnitId], activity:[activityId:'a1']] view == '/activity/activityReport' model.context == mu model.contextViewUrl == '/managementUnit/index/'+managementUnitId @@ -238,7 +238,7 @@ class ManagementUnitControllerSpec extends Specification implements ControllerUn managementUnit.config.requiresActivityLocking = true when: - reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [editable:false, report:[reportId:reportId, managementUnitId:managementUnitId]] + reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [editable:false, report:[reportId:reportId, managementUnitId:managementUnitId], activity:[activityId:'a1']] params.id = managementUnitId params.reportId = reportId params.reportService = reportService @@ -272,7 +272,7 @@ class ManagementUnitControllerSpec extends Specification implements ControllerUn controller.editReport() then: 1 * managementUnitService.get(managementUnitId) >> managementUnit - 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [report:managementUnit.reports[0], editable:true] + 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [report:managementUnit.reports[0], editable:true, activity:[activityId:'a1']] 1 * reportService.lockForEditing(managementUnit.reports[0]) >> [locked:true] view == '/activity/activityReport' } diff --git a/src/test/groovy/au/org/ala/merit/OrganisationControllerSpec.groovy b/src/test/groovy/au/org/ala/merit/OrganisationControllerSpec.groovy index 0d4021239..d926413e2 100644 --- a/src/test/groovy/au/org/ala/merit/OrganisationControllerSpec.groovy +++ b/src/test/groovy/au/org/ala/merit/OrganisationControllerSpec.groovy @@ -454,7 +454,7 @@ class OrganisationControllerSpec extends Specification implements ControllerUnit controller.editOrganisationReport() then: - 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [editable:true, report:[reportId:reportId, organisationId:organisationId]] + 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [editable:true, report:[reportId:reportId, organisationId:organisationId], activity:[activityId:'a1']] view == '/activity/activityReport' model.context == program model.contextViewUrl == '/organisation/index/'+organisationId @@ -479,7 +479,7 @@ class OrganisationControllerSpec extends Specification implements ControllerUnit controller.editOrganisationReport() then: "the report activity should not be locked" - 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [editable:false, report:[reportId:reportId, organisationId:organisationId]] + 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [editable:false, report:[reportId:reportId, organisationId:organisationId], activity:[activityId:'a1']] 0 * reportService.lockForEditing(_) and: "the user should be redirected to the report view" @@ -504,7 +504,7 @@ class OrganisationControllerSpec extends Specification implements ControllerUnit controller.editOrganisationReport() then: - 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [report:organisation.reports[0], editable:true] + 1 * reportService.activityReportModel(reportId, ReportService.ReportMode.EDIT, null) >> [report:organisation.reports[0], editable:true, activity:[activityId:'a1']] 1 * reportService.lockForEditing(organisation.reports[0]) >> [locked:true] view == '/activity/activityReport' } From e3001cbb6c3dcaf2f4a33b120a24fa0427adc652 Mon Sep 17 00:00:00 2001 From: Chris Date: Wed, 11 Oct 2023 16:54:49 +1100 Subject: [PATCH 2/4] Updated chromedriver so tests will run #3000 --- package-lock.json | 234 ++++++++++++++++++++++++++-------------------- package.json | 2 +- 2 files changed, 134 insertions(+), 102 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2ccafe636..5048db4aa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ }, "devDependencies": { "@metahub/karma-jasmine-jquery": "^2.0.1", - "chromedriver": "114.0.1", + "chromedriver": "117.0.3", "jasmine-core": "^3.5.0", "jasmine-jquery": "^2.0.0", "jquery": "3.6.2", @@ -66,12 +66,20 @@ } }, "node_modules/@babel/core/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/@babel/core/node_modules/ms": { @@ -81,9 +89,9 @@ "dev": true }, "node_modules/@babel/core/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true, "bin": { "semver": "bin/semver" @@ -281,12 +289,20 @@ } }, "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/@babel/traverse/node_modules/ms": { @@ -465,9 +481,9 @@ "dev": true }, "node_modules/axios": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", - "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", "dev": true, "dependencies": { "follow-redirects": "^1.15.0", @@ -637,15 +653,15 @@ } }, "node_modules/chromedriver": { - "version": "114.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-114.0.1.tgz", - "integrity": "sha512-Srkyt7xv+RL9aSNVkmARm0tAfw84fIBKge9c1MCTiHfW0tjuNFdhKVlgD0TmPmwSKOeFJrTdd1Flf2hGWWKsUw==", + "version": "117.0.3", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-117.0.3.tgz", + "integrity": "sha512-c2rk2eGK5zZFBJMdviUlAJfQEBuPNIKfal4+rTFVYAmrWbMPYAqPozB+rIkc1lDP/Ryw44lPiqKglrI01ILhTQ==", "dev": true, "hasInstallScript": true, "dependencies": { "@testim/chrome-version": "^1.1.3", - "axios": "^1.2.1", - "compare-versions": "^5.0.1", + "axios": "^1.4.0", + "compare-versions": "^6.0.0", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.1", "proxy-from-env": "^1.1.0", @@ -655,7 +671,7 @@ "chromedriver": "bin/chromedriver" }, "engines": { - "node": ">=16" + "node": ">=18" } }, "node_modules/cliui": { @@ -697,9 +713,9 @@ } }, "node_modules/compare-versions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz", - "integrity": "sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz", + "integrity": "sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==", "dev": true }, "node_modules/concat-map": { @@ -788,9 +804,9 @@ } }, "node_modules/deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "node_modules/delayed-stream": { @@ -1367,12 +1383,12 @@ "dev": true }, "node_modules/ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "dev": true, "engines": { - "node": ">=4" + "node": ">=8" } }, "node_modules/is-binary-path": { @@ -1442,14 +1458,14 @@ } }, "node_modules/is2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", - "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz", + "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==", "dev": true, "dependencies": { "deep-is": "^0.1.3", - "ip-regex": "^2.1.0", - "is-url": "^1.2.2" + "ip-regex": "^4.1.0", + "is-url": "^1.2.4" }, "engines": { "node": ">=v0.10.0" @@ -1550,12 +1566,20 @@ } }, "node_modules/istanbul-lib-source-maps/node_modules/debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/istanbul-lib-source-maps/node_modules/ms": { @@ -2148,9 +2172,9 @@ "dev": true }, "node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -2364,22 +2388,30 @@ } }, "node_modules/tcp-port-used": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz", - "integrity": "sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", + "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", "dev": true, "dependencies": { - "debug": "4.1.0", - "is2": "2.0.1" + "debug": "4.3.1", + "is2": "^2.0.6" } }, "node_modules/tcp-port-used/node_modules/debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "dependencies": { - "ms": "^2.1.1" + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, "node_modules/tcp-port-used/node_modules/ms": { @@ -2678,12 +2710,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -2693,9 +2725,9 @@ "dev": true }, "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", "dev": true }, "source-map": { @@ -2882,12 +2914,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -3038,9 +3070,9 @@ "dev": true }, "axios": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.2.1.tgz", - "integrity": "sha512-I88cFiGu9ryt/tfVEi4kX2SITsvDddTajXTOFmt2uK1ZVA8LytjtdeyefdQWEf5PU8w+4SSJDoYnggflB5tW4A==", + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.5.1.tgz", + "integrity": "sha512-Q28iYCWzNHjAm+yEAot5QaAMxhMghWLFVf7rRdwhUI+c2jix2DUXjAHXVi+s1ibs3mjPO/cCgbA++3BjD0vP/A==", "dev": true, "requires": { "follow-redirects": "^1.15.0", @@ -3172,14 +3204,14 @@ } }, "chromedriver": { - "version": "114.0.1", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-114.0.1.tgz", - "integrity": "sha512-Srkyt7xv+RL9aSNVkmARm0tAfw84fIBKge9c1MCTiHfW0tjuNFdhKVlgD0TmPmwSKOeFJrTdd1Flf2hGWWKsUw==", + "version": "117.0.3", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-117.0.3.tgz", + "integrity": "sha512-c2rk2eGK5zZFBJMdviUlAJfQEBuPNIKfal4+rTFVYAmrWbMPYAqPozB+rIkc1lDP/Ryw44lPiqKglrI01ILhTQ==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.3", - "axios": "^1.2.1", - "compare-versions": "^5.0.1", + "axios": "^1.4.0", + "compare-versions": "^6.0.0", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.1", "proxy-from-env": "^1.1.0", @@ -3222,9 +3254,9 @@ } }, "compare-versions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz", - "integrity": "sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.0.tgz", + "integrity": "sha512-LNZQXhqUvqUTotpZ00qLSaify3b4VFD588aRr8MKFw4CMUr98ytzCW5wDH5qx/DEY5kCDXcbcRuCqL0szEf2tg==", "dev": true }, "concat-map": { @@ -3298,9 +3330,9 @@ } }, "deep-is": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", - "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, "delayed-stream": { @@ -3746,9 +3778,9 @@ "dev": true }, "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", "dev": true }, "is-binary-path": { @@ -3800,14 +3832,14 @@ "dev": true }, "is2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.1.tgz", - "integrity": "sha512-+WaJvnaA7aJySz2q/8sLjMb2Mw14KTplHmSwcSpZ/fWJPkUmqw3YTzSWbPJ7OAwRvdYTWF2Wg+yYJ1AdP5Z8CA==", + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz", + "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==", "dev": true, "requires": { "deep-is": "^0.1.3", - "ip-regex": "^2.1.0", - "is-url": "^1.2.2" + "ip-regex": "^4.1.0", + "is-url": "^1.2.4" } }, "isbinaryfile": { @@ -3883,12 +3915,12 @@ }, "dependencies": { "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { @@ -4353,9 +4385,9 @@ "dev": true }, "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true }, "setprototypeof": { @@ -4521,22 +4553,22 @@ } }, "tcp-port-used": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.1.tgz", - "integrity": "sha512-rwi5xJeU6utXoEIiMvVBMc9eJ2/ofzB+7nLOdnZuFTmNCLqRiQh2sMG9MqCxHU/69VC/Fwp5dV9306Qd54ll1Q==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz", + "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==", "dev": true, "requires": { - "debug": "4.1.0", - "is2": "2.0.1" + "debug": "4.3.1", + "is2": "^2.0.6" }, "dependencies": { "debug": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.0.tgz", - "integrity": "sha512-heNPJUJIqC+xB6ayLAMHaIrmN9HKa7aQO8MGqKpvCA+uJYVcvR6l5kgdrhRuwPFHU7P5/A1w0BjByPHwpfTDKg==", + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", "dev": true, "requires": { - "ms": "^2.1.1" + "ms": "2.1.2" } }, "ms": { diff --git a/package.json b/package.json index ba7cc1029..8730fa501 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "@metahub/karma-jasmine-jquery": "^2.0.1", - "chromedriver": "114.0.1", + "chromedriver": "117.0.3", "jasmine-core": "^3.5.0", "jasmine-jquery": "^2.0.0", "jquery": "3.6.2", From 6fb2bb9194dd50db2824279c736e5f0118e600d0 Mon Sep 17 00:00:00 2001 From: Chris Date: Thu, 12 Oct 2023 08:34:35 +1100 Subject: [PATCH 3/4] Fixed documentOwner default #3000 --- grails-app/views/activity/activityReport.gsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/grails-app/views/activity/activityReport.gsp b/grails-app/views/activity/activityReport.gsp index ccf3f36c8..b99279812 100644 --- a/grails-app/views/activity/activityReport.gsp +++ b/grails-app/views/activity/activityReport.gsp @@ -226,7 +226,7 @@ var activityId = '${activity.activityId}'; var projectId = '${activity.projectId}'; - var documentOwner = ; + var documentOwner = ; var outputModelConfig = { activityId: activityId, From f1d01bd15907a0ea7a34c8980bb217a627a7c053 Mon Sep 17 00:00:00 2001 From: chrisala Date: Thu, 12 Oct 2023 11:48:53 +1100 Subject: [PATCH 4/4] ecodata-client-plugin 6.1.2 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 867f9580d..3dbad12d5 100644 --- a/build.gradle +++ b/build.gradle @@ -186,7 +186,7 @@ dependencies { providedCompile "io.methvin:directory-watcher:0.4.0" if (!Boolean.valueOf(inplace)) { - implementation "org.grails.plugins:ecodata-client-plugin:6.1.2-SNAPSHOT" + implementation "org.grails.plugins:ecodata-client-plugin:6.1.2" } }