From 19bee5c5fe4482b0bef3d7526eeffdce11d10820 Mon Sep 17 00:00:00 2001 From: temi Date: Thu, 4 Apr 2024 15:07:36 +1100 Subject: [PATCH] #3049 - modified nhtOutputReport.json to prepop species records - added code to support species prepop - modified Paratoo Config --- build.gradle | 2 +- forms/nht/nhtOutputReport.json | 448 ++++++++++++++---- .../au/org/ala/merit/ProjectController.groovy | 5 + .../au/org/ala/merit/ProjectService.groovy | 7 + .../3.1/insertParatooProtocolConfig.js | 343 ++++++++++---- 5 files changed, 618 insertions(+), 187 deletions(-) diff --git a/build.gradle b/build.gradle index b039b7c2e..0616d595c 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.2" + implementation "org.grails.plugins:ecodata-client-plugin:6.3-SPECIES-SNAPSHOT" } } diff --git a/forms/nht/nhtOutputReport.json b/forms/nht/nhtOutputReport.json index d8622d0c2..d53a0c9a8 100644 --- a/forms/nht/nhtOutputReport.json +++ b/forms/nht/nhtOutputReport.json @@ -370,7 +370,8 @@ "expression": "formatDateForValidation(meetingDateFrom)", "type": "computed" } - }] + } + ] }, { "dataType": "text", @@ -1007,7 +1008,6 @@ } ] }, - { "dataType": "feature", "name": "areaOfReleaseSite", @@ -1072,7 +1072,6 @@ } ] }, - { "columns": [ { @@ -4033,7 +4032,6 @@ "source": "accessControlDetails", "type": "table" } - ] }, { @@ -4476,7 +4474,6 @@ } ] }, - { "dataType": "number", "name": "totalAreaPestAnimalsTreatedFollowUp", @@ -6061,7 +6058,6 @@ } ] }, - { "type": "row", "items": [ @@ -7118,7 +7114,6 @@ } ] }, - { "columns": [ { @@ -7185,70 +7180,68 @@ } ] }, - + { + "type": "row", + "items": [ { - "type": "row", - "items": [ - { - "preLabel": "Optionally attach photos", - "source": "photographicEvidence", - "type": "image" - } - ] - }, + "preLabel": "Optionally attach photos", + "source": "photographicEvidence", + "type": "image" + } + ] + }, + { + "type": "row", + "items": [ { - "type": "row", - "items": [ - { - "preLabel": "Clarification, if needed", - "type": "textarea", - "rows": 4, - "css": "span8", - "source": "comments", - "placeholder": "Clarification comments include information for your project manager about the service like:\n • any reported items that are not being invoiced (eg, over-achievement) \n • any extraneous circumstances that affected delivery of the service \n" - } - ] - }, + "preLabel": "Clarification, if needed", + "type": "textarea", + "rows": 4, + "css": "span8", + "source": "comments", + "placeholder": "Clarification comments include information for your project manager about the service like:\n • any reported items that are not being invoiced (eg, over-achievement) \n • any extraneous circumstances that affected delivery of the service \n" + } + ] + }, + { + "type": "row", + "items": [ { - "type": "row", - "items": [ - { - "type": "literal", - "source": "

Available Evidence

This field is mandatory for all projects as part of the invoicing process. Please list evidence you have retained for this service and provide information to where the evidence is stored (links/file location data). Refer to the Project Service Evidence Guide and the Project Service Summaries for information on the evidence requirements.*" - }, - { - "preLabel": "Data have been uploaded", - "source": "dataUploaded", - "type": "boolean" - } - ] + "type": "literal", + "source": "

Available Evidence

This field is mandatory for all projects as part of the invoicing process. Please list evidence you have retained for this service and provide information to where the evidence is stored (links/file location data). Refer to the Project Service Evidence Guide and the Project Service Summaries for information on the evidence requirements.*" }, { - "type": "row", - "items": [ - { - "preLabel": "", - "source": "projectAssuranceDetails", - "type": "textarea", - "rows": 4, - "placeholder": "List the documentary evidence you have available for this project service. Include specifically, the document titles and location (e.g. internal IT network pathway, URLs) to assist with locating this material for future audits/assurance purposes." - } - ] - }, + "preLabel": "Data have been uploaded", + "source": "dataUploaded", + "type": "boolean" + } + ] + }, + { + "type": "row", + "items": [ { - "type": "table", - "source": "assuranceDocuments", - "userAddedRows": true, - "disableTableUpload": true, - "columns": [ - { - "title": "Attached documents", - "source": "attachments", - "type": "document" - } - ] + "preLabel": "", + "source": "projectAssuranceDetails", + "type": "textarea", + "rows": 4, + "placeholder": "List the documentary evidence you have available for this project service. Include specifically, the document titles and location (e.g. internal IT network pathway, URLs) to assist with locating this material for future audits/assurance purposes." } - + ] + }, + { + "type": "table", + "source": "assuranceDocuments", + "userAddedRows": true, + "disableTableUpload": true, + "columns": [ + { + "title": "Attached documents", + "source": "attachments", + "type": "document" + } + ] + } ] }, "modelName": null, @@ -8581,7 +8574,7 @@ "dataType": "list", "name": "agreementsTable" } - ], + ], "dataType": "list", "name": "conservationAgreementsControlled" }, @@ -9352,18 +9345,62 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesTreated" } } + }, + { + "type": "pre_populate", + "config": { + "waitForInitialisation": true, + "source": { + "url": "/project/getSpeciesRecordsFromActivity", + "params": [ + { + "expression": "owner.projectId", + "name": "id", + "type": "computed" + }, + { + "expression": "x=find(owner.custom.dataSets, \"dataSetId\", dataSetId); x.activityId", + "name": "activityId", + "type": "computed", + "required": true + } + ] + }, + "mapping": [ + { + "source-path": "name", + "target": "species" + }, + { + "source-path": "threatenedEcologicalCommunity", + "target": "threatenedEcologicalCommunity" + }, + { + "source-path": "individualsOrGroups", + "target": "individualsOrGroups" + }, + { + "source-path": "individualCount", + "target": "numberOfIndividualsOrGroups" + } + ], + "target": { + "type": "singleLoad", + "name": "farmManagementSurveySpeciesTable" + } + } } ] }, { "columns": [ { - "dataType": "species", + "dataType": "text", "name": "species", "validate": "required" }, @@ -10005,7 +10042,6 @@ } ] }, - { "type": "col", "css": "span3 col-border-right", @@ -10337,13 +10373,53 @@ "name": "sitesCoveredForFaunaSurvey" } } + }, + { + "type": "pre_populate", + "config": { + "waitForInitialisation": true, + "source": { + "url": "/project/getSpeciesRecordsFromActivity", + "params": [ + { + "expression": "owner.projectId", + "name": "id", + "type": "computed" + }, + { + "expression": "x=find(owner.custom.dataSets, \"dataSetId\", dataSetId); x.activityId", + "name": "activityId", + "type": "computed", + "required": true + } + ] + }, + "mapping": [ + { + "source-path": "name", + "target": "species" + }, + { + "source-path": "individualsOrGroups", + "target": "individualsOrGroups" + }, + { + "source-path": "individualCount", + "target": "numberOfIndividualsOrGroups" + } + ], + "target": { + "type": "singleLoad", + "name": "faunaSurveySpeciesTable" + } + } } ] }, { "columns": [ { - "dataType": "species", + "dataType": "text", "name": "species", "validate": "required" }, @@ -12657,6 +12733,50 @@ } }, "behaviour": [ + { + "type": "pre_populate", + "config": { + "waitForInitialisation": true, + "source": { + "url": "/project/getSpeciesRecordsFromActivity", + "params": [ + { + "expression": "owner.projectId", + "name": "id", + "type": "computed" + }, + { + "expression": "x=find(owner.custom.dataSets, \"dataSetId\", dataSetId); x.activityId", + "name": "activityId", + "type": "computed", + "required": true + } + ] + }, + "mapping": [ + { + "source-path": "name", + "target": "species" + }, + { + "source-path": "threatenedEcologicalCommunity", + "target": "threatenedEcologicalCommunity" + }, + { + "source-path": "individualsOrGroups", + "target": "individualsOrGroups" + }, + { + "source-path": "individualCount", + "target": "numberOfIndividualsOrGroups" + } + ], + "target": { + "type": "singleLoad", + "name": "floraSurveySpeciesTable" + } + } + }, { "type": "pre_populate", "config": { @@ -12672,7 +12792,7 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesCoveredForFloraSurvey" } @@ -12683,7 +12803,7 @@ { "columns": [ { - "dataType": "species", + "dataType": "text", "name": "species", "validate": "required" }, @@ -12784,8 +12904,6 @@ "dataType": "feature", "name": "sitesCoveredForFloraSurvey", "description": "Mapping field to be done and Area (ha)/length (km) field be auto-calculated from mapping." - - }, { "computed": { @@ -13607,7 +13725,7 @@ "width": "40%", "source": "species", "title": "Target species recorded", - "type": "speciesSelect" + "type": "text" }, { "width": "35%", @@ -14812,7 +14930,7 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesCoveredForHabitatConditionSurvey" } @@ -16152,7 +16270,6 @@ "description": "", "validate": "required,maxSize[300]" }, - { "dataType": "feature", "name": "sitesIdentified", @@ -20632,18 +20749,58 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesCoveredForPestAnimal" } } + }, + { + "type": "pre_populate", + "config": { + "waitForInitialisation": true, + "source": { + "url": "/project/getSpeciesRecordsFromActivity", + "params": [ + { + "expression": "owner.projectId", + "name": "id", + "type": "computed" + }, + { + "expression": "x=find(owner.custom.dataSets, \"dataSetId\", dataSetId); x.activityId", + "name": "activityId", + "type": "computed", + "required": true + } + ] + }, + "mapping": [ + { + "source-path": "name", + "target": "species" + }, + { + "source-path": "individualCount", + "target": "individualsOrGroups" + }, + { + "source-path": "numberOfIndividualsOrGroups", + "target": "numberOfIndividualsOrGroups" + } + ], + "target": { + "type": "singleLoad", + "name": "pestAnimalSurveySpeciesTable" + } + } } ] }, { "columns": [ { - "dataType": "species", + "dataType": "text", "name": "species", "validate": "required" }, @@ -20739,7 +20896,6 @@ "dataType": "feature", "name": "sitesCoveredForPestAnimal", "description": "Mapping field to be done and Area (ha)/length (km) field be auto-calculated from mapping." - }, { "computed": { @@ -21561,7 +21717,7 @@ "width": "55%", "source": "species", "title": "Target species recorded", - "type": "speciesSelect" + "type": "text" }, { "width": "25%", @@ -22176,7 +22332,6 @@ ], "defaultValue": "" }, - { "dataType": "number", "name": "totalLengthRemediationInitial", @@ -22241,7 +22396,6 @@ ], "defaultValue": "" }, - { "dataType": "number", "name": "totalStructuresInstalled", @@ -26227,18 +26381,78 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesCoveredForPlantSurvival" } } + }, + { + "type": "pre_populate", + "config": { + "waitForInitialisation": true, + "source": { + "url": "/project/getSpeciesRecordsFromActivity", + "params": [ + { + "expression": "owner.projectId", + "name": "id", + "type": "computed" + }, + { + "expression": "x=find(owner.custom.dataSets, \"dataSetId\", dataSetId); x.activityId", + "name": "activityId", + "type": "computed", + "required": true + } + ] + }, + "mapping": [ + { + "source-path": "name", + "target": "species" + }, + { + "source-path": "plantingMethod", + "target": "plantingMethod" + }, + { + "source-path": "hectaresPlanted", + "target": "hectaresPlanted" + }, + { + "source-path": "kilosOfDirectSeeding", + "target": "kilosOfDirectSeeding" + }, + { + "source-path": "numberPlanted", + "target": "numberPlanted" + }, + { + "source-path": "individualsOrGroups", + "target": "individualsOrGroups" + }, + { + "source-path": "numberOfIndividualsGroupsSurvived", + "target": "numberOfIndividualsGroupsSurvived" + }, + { + "source-path": "survivalRate", + "target": "survivalRate" + } + ], + "target": { + "type": "singleLoad", + "name": "plantSurvivalSurveySpeciesTable" + } + } } ] }, { "columns": [ { - "dataType": "species", + "dataType": "text", "name": "species", "validate": "required" }, @@ -26376,7 +26590,6 @@ "dataType": "feature", "name": "sitesCoveredForPlantSurvival", "description": "Mapping field to be done and Area (ha)/length (km) field be auto-calculated from mapping." - }, { "computed": { @@ -27139,7 +27352,7 @@ "width": "30%", "source": "species", "title": "Target species recorded", - "type": "speciesSelect" + "type": "text" }, { "width": "20%", @@ -28309,7 +28522,7 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesCoveredForSkillsAndKnowledge" } @@ -29320,7 +29533,7 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesCoveredForSoilSurvey" } @@ -29402,8 +29615,6 @@ "dataType": "feature", "name": "sitesCoveredForSoilSurvey", "description": "Mapping field to be done and Area (ha)/length (km) field be auto-calculated from mapping." - - }, { "computed": { @@ -31241,8 +31452,6 @@ "name": "monitoringIndicator", "dataType": "stringList", "description": "", - - "computed": { "expression": "if(projectBaseline, x=pluck(findAll($context.owner.custom.details.monitoring.rows, \"relatedBaseline\", projectBaseline), \"data1\", \"No monitoring indicators associated with this baseline\"), '')" } @@ -31634,7 +31843,6 @@ } ] }, - { "type": "row", "items": [ @@ -31983,7 +32191,6 @@ "units": "km", "decimalPlaces": 3 }, - { "dataType": "feature", "name": "sitesInterventionsReleased", @@ -32558,7 +32765,6 @@ } ] }, - { "type": "col", "css": "span3 col-border-right", @@ -32864,7 +33070,7 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesCoveredForWaterQuality" } @@ -34020,18 +34226,62 @@ } ] }, - "target": { + "target": { "type": "singleValue", "name": "sitesCoveredForWeedDistribution" } } + }, + { + "type": "pre_populate", + "config": { + "waitForInitialisation": true, + "source": { + "url": "/project/getSpeciesRecordsFromActivity", + "params": [ + { + "expression": "owner.projectId", + "name": "id", + "type": "computed" + }, + { + "expression": "x=find(owner.custom.dataSets, \"dataSetId\", dataSetId); x.activityId", + "name": "activityId", + "type": "computed", + "required": true + } + ] + }, + "mapping": [ + { + "source-path": "name", + "target": "species" + }, + { + "source-path": "threatenedEcologicalCommunity", + "target": "threatenedEcologicalCommunity" + }, + { + "source-path": "estimatedCoverPercent", + "target": "estimatedCoverPercent" + }, + { + "source-path": "weedSurveyObjective", + "target": "weedSurveyObjective" + } + ], + "target": { + "type": "singleLoad", + "name": "weedSurveySpeciesTable" + } + } } ] }, { "columns": [ { - "dataType": "species", + "dataType": "text", "name": "species", "validate": "required" }, @@ -34950,7 +35200,7 @@ "width": "40%", "source": "species", "title": "Target species recorded", - "type": "speciesSelect" + "type": "text" }, { "width": "10%", diff --git a/grails-app/controllers/au/org/ala/merit/ProjectController.groovy b/grails-app/controllers/au/org/ala/merit/ProjectController.groovy index a850af88a..d78dc59a7 100644 --- a/grails-app/controllers/au/org/ala/merit/ProjectController.groovy +++ b/grails-app/controllers/au/org/ala/merit/ProjectController.groovy @@ -1162,6 +1162,11 @@ class ProjectController { null } + @PreAuthorise + def getSpeciesRecordsFromActivity (String activityId) { + render projectService.getSpeciesRecordsFromActivity(activityId) as JSON + } + private def error(String message, String projectId) { flash.message = message if (projectId) { diff --git a/grails-app/services/au/org/ala/merit/ProjectService.groovy b/grails-app/services/au/org/ala/merit/ProjectService.groovy index d0fe86645..d6425f801 100644 --- a/grails-app/services/au/org/ala/merit/ProjectService.groovy +++ b/grails-app/services/au/org/ala/merit/ProjectService.groovy @@ -2207,4 +2207,11 @@ class ProjectService { } result } + + List getSpeciesRecordsFromActivity (String activityId) { + if (activityId) { + String url = "${grailsApplication.config.getProperty('ecodata.baseUrl')}record/listForActivity/${activityId}" + webService.getJson(url)?.records + } + } } diff --git a/src/main/scripts/releases/3.1/insertParatooProtocolConfig.js b/src/main/scripts/releases/3.1/insertParatooProtocolConfig.js index 87aadeeb1..3792c6270 100644 --- a/src/main/scripts/releases/3.1/insertParatooProtocolConfig.js +++ b/src/main/scripts/releases/3.1/insertParatooProtocolConfig.js @@ -1,322 +1,491 @@ var protocolConfig = { // Vegetation Mapping Survey - 'cd2cbbc7-2f17-4b0f-91b4-06f46e9c90f2': { - apiEndpoint: 'vegetation-mapping-observations', + "cd2cbbc7-2f17-4b0f-91b4-06f46e9c90f2": { + apiEndpoint: "vegetation-mapping-observations", usesPlotLayout: false, - geometryType: 'Point', - geometryPath: 'attributes.position', - startDatePath: 'attributes.vegetation_mapping_survey.data.attributes.start_date_time', + geometryType: "Point", + geometryPath: "attributes.position", + startDatePath: "attributes.vegetation_mapping_survey.data.attributes.start_date_time", endDatePath: null, - surveyIdPath: 'attributes.vegetation_mapping_survey.data.attributes.surveyId' + surveyIdPath: "attributes.vegetation_mapping_survey.data.attributes.surveyId" }, - 'floristics-veg-survey-lite': { - apiEndpoint: 'floristics-veg-survey-lites', + "floristics-veg-survey-lite": { + apiEndpoint: "floristics-veg-survey-lites", usesPlotLayout: true, - startDatePath: 'attributes.start_date_time', - endDatePath: 'attributes.end_date_time', - surveyIdPath: 'attributes.surveyId' + startDatePath: "attributes.start_date_time", + endDatePath: "attributes.end_date_time", + surveyIdPath: "attributes.surveyId" }, - 'floristics-veg-survey-fulls': { - apiEndpoint: 'floristics-veg-survey-fulls', + "floristics-veg-survey-fulls": { + apiEndpoint: "floristics-veg-survey-fulls", usesPlotLayout: true, - startDatePath: 'attributes.start_date_time', - endDatePath: 'attributes.end_date_time', - surveyIdPath: 'attributes.surveyId' + startDatePath: "attributes.start_date_time", + endDatePath: "attributes.end_date_time", + surveyIdPath: "attributes.surveyId" }, - 'photopoints-survey': { - apiEndpoint: 'photopoints-surveys', + "photopoints-survey": { + apiEndpoint: "photopoints-surveys", usesPlotLayout: true, - startDatePath: 'attributes.start_date_time', - endDatePath: 'attributes.end_date_time', - surveyIdPath: 'attributes.surveyId' + startDatePath: "attributes.start_date_time", + endDatePath: "attributes.end_date_time", + surveyIdPath: "attributes.surveyId" }, // Pest Fauna Control Activities - '80360ceb-bd6d-4ed4-b2ea-9bd45d101d0e': { - apiEndpoint: 'pest-fauna-control-activities', + "80360ceb-bd6d-4ed4-b2ea-9bd45d101d0e": { + apiEndpoint: "pest-fauna-control-activities", usesPlotLayout: false, - startDatePath: 'attributes.start_time', - endDatePath: 'attributes.end_time', + startDatePath: "attributes.start_time", + endDatePath: "attributes.end_time", geometryType: "LineString", point1: "attributes.start_location", // Type string: format: Lat: -35.2592426, Lng: 149.0651714 point2: "attributes.end_location" // Format: Lat: -35.2592426, Lng: 149.0651714 }, // Basal Area DBH - '5005b0af-4360-4a8c-a203-b2c9e440547e': { - apiEndpoint: 'basal-area-dbh-measure-surveys', + "5005b0af-4360-4a8c-a203-b2c9e440547e": { + apiEndpoint: "basal-area-dbh-measure-surveys", usesPlotLayout: true, - startDatePath: 'attributes.start_date', - endDatePath: 'attributes.start_date', + startDatePath: "attributes.start_date", + endDatePath: "attributes.start_date", } }; var protocols = { "068d17e8-e042-ae42-1e42-cff4006e64b0": - {"name": "Opportune", "usesPlotLayout": false, "tags": ["survey"]}, - "cd2cbbc7-2f17-4b0f-91b4-06f46e9c90f2": {"name": "Vegetation Mapping", "usesPlotLayout": false, "tags": ["survey"]}, + { + "name": "Opportune", + "usesPlotLayout": false, + "tags": ["survey"], + "apiEndpoint": "opportunistic-surveys", + "overrides": { + "dataModel": { + "opportunistic-observation.number_of_individuals": { + "dwcAttribute": "individualCount" + } + }, + "viewModel": null + } + }, + "cd2cbbc7-2f17-4b0f-91b4-06f46e9c90f2": { + "name": "Vegetation Mapping", + "usesPlotLayout": false, + "tags": ["survey"], + "apiEndpoint": "vegetation-mapping-surveys", + "geometryType": "Point", + "geometryPath": "attributes.position", + "startDatePath": "attributes.vegetation_mapping_survey.data.attributes.start_date_time", + "endDatePath": null, + "surveyIdPath": "attributes.vegetation_mapping_survey.data.attributes.surveyId" + }, "a9cb9e38-690f-41c9-8151-06108caf539d": - {"name": "Plot Selection", "usesPlotLayout": false, "tags": ["site"]}, + { + "name": "Plot Selection", + "usesPlotLayout": false, + "apiEndpoint": "plot-selections", + "tags": ["site"] + }, "d7179862-1be3-49fc-8ec9-2e219c6f3854": { "name": "Plot Layout and Visit", "usesPlotLayout": false, + "apiEndpoint": "plot-definition-surveys", "tags": ["site"] }, "617df00c-0e4f-4267-9efc-9ca9eae19686": { "name": "Plot Description(enhanced)", + "apiEndpoint": "plot-description-enhanceds", "usesPlotLayout": true, "tags": ["site"] }, "dc10f902-e310-45eb-b82a-bebab050b46b": { "name": "Plot Description(standard)", + "apiEndpoint": "plot-description-standards", "usesPlotLayout": true, "tags": ["site"] }, - "3cbc5277-45fb-4e7a-8f33-19d9bff4cd78": {"name": "Drone Survey", "usesPlotLayout": false, "tags": ["development"]}, - "3d2eaa76-a610-4575-ac30-abf40e57b68a": {"name": "Dev sandbox", "usesPlotLayout": false, "tags": ["development"]}, + "3cbc5277-45fb-4e7a-8f33-19d9bff4cd78": { + "name": "Drone Survey", "usesPlotLayout": false, "tags": ["survey"], + "apiEndpoint": "drone-surveys" + }, + "3d2eaa76-a610-4575-ac30-abf40e57b68a": { + "name": "Dev sandbox", "usesPlotLayout": false, "tags": ["development"], + "apiEndpoint": "dev-sandbox-surveys" + }, "5fd206b5-25cb-4371-bd90-7b2e8801ea25": { "name": "Photopoints - DSLR Panorama", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "photopoints-surveys", }, "383fa013-c52d-4186-911b-35e9b2375653": { "name": "Photopoints - Compact Panorama", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "photopoints-surveys", + "startDatePath": "attributes.start_date_time", + "endDatePath": "attributes.end_date_time", + "surveyIdPath": "attributes.surveyId" }, "2dbb595b-3541-46bd-b200-13db3a823b74": { "name": "Photopoints - Device Panorama", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "photopoints-surveys", }, "e15db26f-55de-4459-841b-d7ef87dea5cd": { "name": "Floristics - Enhanced", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "floristics-veg-survey-fulls", + "startDatePath": "attributes.start_date_time", + "endDatePath": "attributes.end_date_time", + "surveyIdPath": "attributes.surveyId" }, "bbd550c0-04c5-4a8c-ae39-cc748e920fd4": { "name": "Floristics - Standard", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "floristics-veg-survey-lites", + "startDatePath": "attributes.start_date_time", + "endDatePath": "attributes.end_date_time", + "surveyIdPath": "attributes.surveyId" }, "b92005b0-f418-4208-8671-58993089f587": { "name": "Plant Tissue Vouchering - Enhanced", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "floristics-veg-genetic-voucher-surveys" }, "f01e0673-a29d-48bb-b6ce-cf1c0f0de345": { "name": "Plant Tissue Vouchering - Standard", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "floristics-veg-genetic-voucher-surveys" + }, + "93e65339-4bce-4ca1-a323-78977865ef93": { + "name": "Cover - Enhanced", + "usesPlotLayout": true, + "tags": ["survey"], + "apiEndpoint": "cover-point-intercept-surveys", + }, + "37a3b018-3779-4c4f-bfb3-d38eb53a2568": { + "name": "Cover - Standard", + "usesPlotLayout": true, + "tags": ["survey"], + "apiEndpoint": "cover-point-intercept-surveys" }, - "93e65339-4bce-4ca1-a323-78977865ef93": {"name": "Cover - Enhanced", "usesPlotLayout": true, "tags": ["survey"]}, - "37a3b018-3779-4c4f-bfb3-d38eb53a2568": {"name": "Cover - Standard", "usesPlotLayout": true, "tags": ["survey"]}, "8c47b1f8-fc58-4510-a138-e5592edd2dbc": { "name": "Cover + Fire - Enhanced", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "cover-point-intercept-surveys" }, "58f2b4a6-6ce1-4364-9bae-f96fc3f86958": { "name": "Cover + Fire - Standard", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "cover-point-intercept-surveys" + }, + "36e9d224-a51f-47ea-9442-865e80144311": { + "name": "Fire Survey", + "usesPlotLayout": true, + "tags": ["survey"], + "apiEndpoint": "fire-surveys" + }, + "5005b0af-4360-4a8c-a203-b2c9e440547e": { + "name": "Basal Area - DBH", + "usesPlotLayout": true, + "tags": ["survey"], + "apiEndpoint": "basal-area-dbh-measure-surveys", + "startDatePath": "attributes.start_date", + "endDatePath": "attributes.start_date", + "overrides": { + "dataModel": { + "floristics-veg-voucher-full.host_species": { + "dataType": "species" + }, + "floristics-veg-voucher-lite.host_species": { + "dataType": "species" + } + }, + "viewModel": { + "floristics-veg-voucher-full.host_species": { + "type": "speciesSelect" + }, + "floristics-veg-voucher-lite.host_species": { + "type": "speciesSelect" + } + } + } }, - "36e9d224-a51f-47ea-9442-865e80144311": {"name": "Fire Survey", "usesPlotLayout": true, "tags": ["survey"]}, - "5005b0af-4360-4a8c-a203-b2c9e440547e": {"name": "Basal Area - DBH", "usesPlotLayout": true, "tags": ["survey"]}, "4b8b35c7-15ef-4abd-a7b2-2f4e24509b52": { "name": "Basal Area - Basal Wedge", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "basal-wedge-surveys" }, "6e613128-92e8-4525-854c-4021f1d4d02f": { "name": "Coarse Woody Debris", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "coarse-woody-debris-surveys" }, "a05f8914-ef4f-4a46-8cf1-d035c9c46d4d": { "name": "Recruitment - Age Structure", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "recruitment-field-surveys" }, "db841be3-dfb7-4860-9474-a131f4de5954": { "name": "Recruitment - Survivorship", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "recruitment-survivorship-surveys" }, "1dd7d3ff-11b5-4690-8167-d8fe148656b9": { "name": "Soil Sub-pit and Metagenomics", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "soil-sub-pit-and-metagenomics-surveys" + }, + "15ea86ab-22f6-43fa-8cd5-751eab2347ad": { + "name": "Soil Sample Pit", + "usesPlotLayout": true, + "tags": ["survey"], + "apiEndpoint": "soil-pit-characterisation-lites" }, - "15ea86ab-22f6-43fa-8cd5-751eab2347ad": {"name": "Soil Sample Pit", "usesPlotLayout": true, "tags": ["survey"]}, "1de5eed1-8f97-431c-b7ca-a8371deb3c28": { "name": "Soil Site Observation and Pit Characterisation", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "soil-pit-characterisation-fulls" }, "39da41f1-dd45-4838-ae57-ea50588fd2bc": { "name": "Soils - Bulk Density", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "soil-bulk-density-surveys" }, "c1b38b0f-a888-4f28-871b-83da2ac1e533": { "name": "Vertebrate Fauna - Bird Survey", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "bird-surveys", + "overrides": { + "dataModel": { + "bird-survey.bird-survey-observation.count": { + "dwcAttribute": "individualCount" + } + } + } }, "ab990a3a-a972-45d2-a384-13c3b01e9c7b": { "name": "Vertebrate Fauna - Trapping Survey Closure", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "vertebrate-end-trapping-surveys" }, "82463b77-aac2-407c-a03c-8669bd73baf0": { "name": "Invertebrate Fauna - Malaise Trapping", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "invertebrate-malaise-trappings" }, "8041a1a4-3e19-4fd2-86b9-d453023b5592": { "name": "Invertebrate Fauna - Active Search", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "invertebrate-active-search-surveys" }, "7f95710a-2003-4119-a2c6-41ce4e34d12a": { "name": "Condition - Attributes", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "condition-surveys" }, "aae4dbd8-845a-406e-b682-ef01c3497711": { "name": "Dev Sandbox Bulk Survey", "usesPlotLayout": true, - "tags": ["development"] + "tags": ["development"], + "apiEndpoint": "dev-sandbox-bulk-surveys" }, "6000cb5f-ad75-41e2-9e3e-c070c527453a": { "name": "Metadata Collection", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "new-targeted-surveys" }, "949ae38f-c047-42a7-8164-38c24ede35d5": { "name": "Camera Trap Reequipping", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "camera-trap-reequipping-surveys" }, "90c0f4cc-a22a-4820-9a8b-a01564bc197a": { "name": "Fauna Aerial Survey", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "aerial-surveys" }, "2c5bb8d7-b624-4dc4-93d7-3f1276e65ad5": { "name": "Vertebrate Fauna - Trapping Survey Setup", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "vertebrate-trapping-setup-surveys" }, "70fbd236-9e51-47a8-93da-125a18a13acc": { "name": "Vertebrate Fauna - Identify, Measure and Release", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "vertebrate-trap-check-surveys" }, "9d2c3fcf-881b-41df-944d-33bb6ef8ac51": { "name": "Vertebrate true - Active and Passive Search", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "vertebrate-active-passive-search-surveys" }, "0628e486-9b33-4d86-98db-c6d3f10f7744": { "name": "Vertebrate Fauna - Acoustic and Ultrasonic Recordings", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "" }, "9e75385a-4783-4911-8870-cca78b44d781": { "name": "Invertebrate Fauna - Wet Pitfall Trapping", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "invertebrate-wet-pitfall-surveys" }, "7dc49039-4999-43f6-8896-e33d7b28a934": { "name": "Invertebrate Fauna - Rapid Ground Trapping", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "invertebrate-rapid-ground-trappings" }, "7b0e4526-726e-4292-a897-238f336ce51e": { "name": "Invertebrate Fauna - Pan Trapping", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "invertebrate-pan-trappings" }, "aa64fd4d-2c5a-4f84-a197-9f3ce6409152": { "name": "Invertebrate Fauna - Post-field Sampling Curation", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "" }, "08adf0ff-43c1-4f19-b2c4-f5da667baf65": { "name": "Interventions - Data Collection", "usesPlotLayout": false, - "tags": ["intervention"] + "tags": ["intervention"], + "apiEndpoint": "interventions-general-project-informations" }, "ad088dbe-02b2-472a-901f-bd081e590bcf": { "name": "Camera Trap Deployment", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "camera-trap-deployment-surveys" }, "3db7f7b6-a96d-495a-9981-5d6170a7458d": { "name": "Camera Trap Retrieval", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "camera-trap-retrieval-surveys" }, "648d545a-cdae-4c19-bc65-0c9f93d9c0eb": { "name": "Sign-based Fauna Surveys - Within-plot Belt Transect", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "within-plot-belt-transect-surveys" }, "2cd7b489-b582-41f6-9dcc-264f6ea7801a": { "name": "Sign-based Fauna Surveys - Off-plot Belt Transect", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "off-plot-belt-transect-surveys" }, "0c5d1d14-c71b-467f-aced-abe1c83c15d3": { "name": "Sign-based Fauna - Vehicle Track", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "sign-based-vehicle-track-set-ups" }, "a76dac21-94f4-4851-af91-31f6dd00750f": { "name": "Fauna Ground Counts Transects", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "fauna-ground-counts-surveys" }, "80360ceb-bd6d-4ed4-b2ea-9bd45d101d0e": { "name": "Pest Fauna - Control Activities", "usesPlotLayout": false, - "tags": ["intervention"] + "tags": ["intervention"], + "apiEndpoint": "pest-fauna-control-activities", + "startDatePath": "attributes.start_time", + "endDatePath": "attributes.end_time", + "geometryType": "LineString" }, "228e5e1e-aa9f-47a3-930b-c1468757f81d": { "name": "Herbivory and Physical Damage - Active Plot Search", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "herbivory-and-physical-damage-active-search-setups" }, "cc826a19-a1e7-4dfe-8d6e-f135d258d7f9": { "name": "Sign-based Fauna - Plot Sign Search", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "sign-based-active-plot-search-surveys" }, "685b5e9b-20c2-4688-9b04-b6caaf084aad": { "name": "Sign-based Fauna - Track Station", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "overrides": { + "dataModel": { + "sign-based-track-station-survey-setup.sign-based-track-station-observation.tracks.number_of_individuals": { + "dwcAttribute": "individualCount" + } + } + }, + "apiEndpoint": "sign-based-track-station-survey-setups" }, "d706fd34-2f05-4559-b738-a65615a3d756": { "name": "Fauna Ground Counts Vantage Point", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "ground-counts-vantage-point-surveys" }, "06cd903e-b8b3-40a5-add4-f779739cce35": { "name": "Herbivory and Physical Damage - Within-plot Belt Transect", "usesPlotLayout": true, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "herbivory-and-physical-damage-belt-transect-setups", + "overrides": { + "dataModel": { + "herbivory-and-physical-damage-belt-transect-setup.target_species.lut": { + "dataType": "species" + }, + "herbivory-and-physical-damage-transect.quadrat.quadrat_observation.herbivory_attributable_fauna_species.lut": { + "dataType": "species" + }, + "herbivory-and-physical-damage-transect.quadrat.quadrat_observation.physical_damage_attributable_fauna_species.lut":{ + "dataType": "species" + } + }, + "viewModel": null + } }, "49d02f5d-b148-4b5b-ad6a-90e48c81b294": { "name": "Herbivory and Physical Damage - Off-plot Transect", "usesPlotLayout": false, - "tags": ["survey"] + "tags": ["survey"], + "apiEndpoint": "herbivory-off-plot-belt-transect-setups" } }; -var key = 'paratoo.surveyData.mapping'; +var key = "paratoo.surveyData.mapping"; var setting = { key: key, value: JSON.stringify(protocols),