From 84fc2a0cb3500693931ba8ed219d235cefc0b9e7 Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Sun, 12 Oct 2025 10:52:12 -0400 Subject: [PATCH 01/12] fix(fd2): adds harvest log category (#546) **Pull Request Description** Adds a log category for harvests. The code to add the category is in the module's `.install` file. Also added is a script that will uninstall and reinstall the `farm_fd2` module. This is useful when working on the module files. It is necessary because `farm_fd2` adds custom fields and drupal will not allow it to uninstalled while those fields exist. So this script deletes those fields, uninstalls `farm_fd2`, builds `farm_fd2`, and then reinstalls `farm_fd2`. --- **Licensing Certification** FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **I certify that I satisfy the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. --- bin/reinstallFD2Module.bash | 21 ++++++++++++++++++++ modules/farm_fd2/src/module/farm_fd2.install | 1 + 2 files changed, 22 insertions(+) create mode 100755 bin/reinstallFD2Module.bash diff --git a/bin/reinstallFD2Module.bash b/bin/reinstallFD2Module.bash new file mode 100755 index 000000000..015690fea --- /dev/null +++ b/bin/reinstallFD2Module.bash @@ -0,0 +1,21 @@ +#!/bin/bash + +echo "Deleting custom fd2_fields..." +docker exec fd2_farmos drush php-eval "\Drupal\field\Entity\FieldStorageConfig::loadByName('taxonomy_term', 'fd2_unit_conversions')->delete();" +docker exec fd2_farmos drush php-eval "\Drupal\field\Entity\FieldStorageConfig::loadByName('taxonomy_term', 'fd2_harvest_unit')->delete();" +echo "Deleted." +echo "Running cron..." +docker exec fd2_farmos drush cron > /dev/null 2>&1 +echo "Done." + +echo "Uninstalling farm_fd2 module..." +docker exec fd2_farmos drush pmu farm_fd2 -y +echo "Uninstalled." + +echo "Rebuilding farm_fd2 module..." +npm run build:fd2 > /dev/null +echo "Rebuilt." + +echo "Reinstalling farm_fd2 module..." +docker exec fd2_farmos drush en farm_fd2 -y +echo "Reinstalled." diff --git a/modules/farm_fd2/src/module/farm_fd2.install b/modules/farm_fd2/src/module/farm_fd2.install index 050923f03..f2e600be5 100644 --- a/modules/farm_fd2/src/module/farm_fd2.install +++ b/modules/farm_fd2/src/module/farm_fd2.install @@ -27,6 +27,7 @@ function add_log_categories() { ['name' => 'tillage', 'parent' => '', 'description' => 'For logs representing soil disturbances.' ], ['name' => 'transplanting', 'parent' => '', 'description' => 'For logs representing transplantation of a plant.' ], ['name' => 'weed_control', 'parent' => '', 'description' => 'For logs related to weed control.' ], + ['name' => 'harvest', 'parent' => '', 'description' => 'For logs related to harvesting of a plant.' ], ]; addTerms($vocab, $terms); From c6c5a803cd47e1f35b839a9c95260518e59a45a3 Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Sun, 12 Oct 2025 10:53:25 -0400 Subject: [PATCH 02/12] Revert "fix(fd2): adds harvest log category" (#547) Reverts FarmData2/FarmData2#546 Forgot to fix the test suite to account for the new log category. --- bin/reinstallFD2Module.bash | 21 -------------------- modules/farm_fd2/src/module/farm_fd2.install | 1 - 2 files changed, 22 deletions(-) delete mode 100755 bin/reinstallFD2Module.bash diff --git a/bin/reinstallFD2Module.bash b/bin/reinstallFD2Module.bash deleted file mode 100755 index 015690fea..000000000 --- a/bin/reinstallFD2Module.bash +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/bash - -echo "Deleting custom fd2_fields..." -docker exec fd2_farmos drush php-eval "\Drupal\field\Entity\FieldStorageConfig::loadByName('taxonomy_term', 'fd2_unit_conversions')->delete();" -docker exec fd2_farmos drush php-eval "\Drupal\field\Entity\FieldStorageConfig::loadByName('taxonomy_term', 'fd2_harvest_unit')->delete();" -echo "Deleted." -echo "Running cron..." -docker exec fd2_farmos drush cron > /dev/null 2>&1 -echo "Done." - -echo "Uninstalling farm_fd2 module..." -docker exec fd2_farmos drush pmu farm_fd2 -y -echo "Uninstalled." - -echo "Rebuilding farm_fd2 module..." -npm run build:fd2 > /dev/null -echo "Rebuilt." - -echo "Reinstalling farm_fd2 module..." -docker exec fd2_farmos drush en farm_fd2 -y -echo "Reinstalled." diff --git a/modules/farm_fd2/src/module/farm_fd2.install b/modules/farm_fd2/src/module/farm_fd2.install index f2e600be5..050923f03 100644 --- a/modules/farm_fd2/src/module/farm_fd2.install +++ b/modules/farm_fd2/src/module/farm_fd2.install @@ -27,7 +27,6 @@ function add_log_categories() { ['name' => 'tillage', 'parent' => '', 'description' => 'For logs representing soil disturbances.' ], ['name' => 'transplanting', 'parent' => '', 'description' => 'For logs representing transplantation of a plant.' ], ['name' => 'weed_control', 'parent' => '', 'description' => 'For logs related to weed control.' ], - ['name' => 'harvest', 'parent' => '', 'description' => 'For logs related to harvesting of a plant.' ], ]; addTerms($vocab, $terms); From 1db91e7df818a16e89741373f2275898c6c6f944 Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Sun, 12 Oct 2025 11:45:01 -0400 Subject: [PATCH 03/12] fix(fd2): adds `harvest` log category (#548) **Pull Request Description** - Adds a `harvest` category to the "log categories" taxonomy. - Adds a script to reinstall the `farm_fd2` module. - Needed because `farm_fd2` adds custom fields and drupal will not allow it to be uninstalled because data would be deleted. - The script deletes the custom fields, uninstalls the module, rebuilds the module, and then reinstalls the module. - Patches the tests for the log categories functions in the `farmosUtil` library. --- **Licensing Certification** FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **I certify that I satisfy the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. --- .fd2dev/db.conf | 2 +- bin/reinstallFD2Module.bash | 21 +++++++++++++++++++ .../farmosUtil.logCategories.unit.cy.js | 10 ++++----- modules/farm_fd2/src/module/farm_fd2.install | 1 + 4 files changed, 28 insertions(+), 6 deletions(-) create mode 100755 bin/reinstallFD2Module.bash diff --git a/.fd2dev/db.conf b/.fd2dev/db.conf index 0b31f7d6f..d53fd27f8 100644 --- a/.fd2dev/db.conf +++ b/.fd2dev/db.conf @@ -1,2 +1,2 @@ -v3.7.0 +v3.7.1 db.sample.tar.gz diff --git a/bin/reinstallFD2Module.bash b/bin/reinstallFD2Module.bash new file mode 100755 index 000000000..015690fea --- /dev/null +++ b/bin/reinstallFD2Module.bash @@ -0,0 +1,21 @@ +#!/bin/bash + +echo "Deleting custom fd2_fields..." +docker exec fd2_farmos drush php-eval "\Drupal\field\Entity\FieldStorageConfig::loadByName('taxonomy_term', 'fd2_unit_conversions')->delete();" +docker exec fd2_farmos drush php-eval "\Drupal\field\Entity\FieldStorageConfig::loadByName('taxonomy_term', 'fd2_harvest_unit')->delete();" +echo "Deleted." +echo "Running cron..." +docker exec fd2_farmos drush cron > /dev/null 2>&1 +echo "Done." + +echo "Uninstalling farm_fd2 module..." +docker exec fd2_farmos drush pmu farm_fd2 -y +echo "Uninstalled." + +echo "Rebuilding farm_fd2 module..." +npm run build:fd2 > /dev/null +echo "Rebuilt." + +echo "Reinstalling farm_fd2 module..." +docker exec fd2_farmos drush en farm_fd2 -y +echo "Reinstalled." diff --git a/library/farmosUtil/farmosUtil.logCategories.unit.cy.js b/library/farmosUtil/farmosUtil.logCategories.unit.cy.js index 7359abf31..bd8d274b8 100644 --- a/library/farmosUtil/farmosUtil.logCategories.unit.cy.js +++ b/library/farmosUtil/farmosUtil.logCategories.unit.cy.js @@ -14,7 +14,7 @@ describe('Test the log categories utility functions', () => { it('Get the log categories', () => { cy.wrap(farmosUtil.getLogCategories()).then((categories) => { expect(categories).to.not.be.null; - expect(categories.length).to.equal(12); + expect(categories.length).to.equal(13); expect(categories[0].attributes.name).to.equal('amendment'); expect(categories[0].attributes.description.value).to.equal( @@ -22,9 +22,9 @@ describe('Test the log categories utility functions', () => { ); expect(categories[0].type).to.equal('taxonomy_term--log_category'); - expect(categories[11].attributes.name).to.equal('weed_control'); + expect(categories[11].attributes.name).to.equal('transplanting'); expect(categories[11].attributes.description.value).to.equal( - 'For logs related to weed control.' + 'For logs representing transplantation of a plant.' ); expect(categories[11].type).to.equal('taxonomy_term--log_category'); }); @@ -60,7 +60,7 @@ describe('Test the log categories utility functions', () => { it('Get the logCategoryToTerm map', () => { cy.wrap(farmosUtil.getLogCategoryToTermMap()).then((categoryMap) => { expect(categoryMap).to.not.be.null; - expect(categoryMap.size).to.equal(12); + expect(categoryMap.size).to.equal(13); expect(categoryMap.get('seeding_cover_crop')).to.not.be.null; expect(categoryMap.get('seeding_cover_crop').type).to.equal( @@ -77,7 +77,7 @@ describe('Test the log categories utility functions', () => { it('Get the logCategoryIdToAsset map', () => { cy.wrap(farmosUtil.getLogCategoryIdToTermMap()).then((categoryIdMap) => { expect(categoryIdMap).to.not.be.null; - expect(categoryIdMap.size).to.equal(12); + expect(categoryIdMap.size).to.equal(13); cy.wrap(farmosUtil.getLogCategoryToTermMap()).then((categoryNameMap) => { const coverId = categoryNameMap.get('seeding_cover_crop').id; diff --git a/modules/farm_fd2/src/module/farm_fd2.install b/modules/farm_fd2/src/module/farm_fd2.install index 050923f03..f2e600be5 100644 --- a/modules/farm_fd2/src/module/farm_fd2.install +++ b/modules/farm_fd2/src/module/farm_fd2.install @@ -27,6 +27,7 @@ function add_log_categories() { ['name' => 'tillage', 'parent' => '', 'description' => 'For logs representing soil disturbances.' ], ['name' => 'transplanting', 'parent' => '', 'description' => 'For logs representing transplantation of a plant.' ], ['name' => 'weed_control', 'parent' => '', 'description' => 'For logs related to weed control.' ], + ['name' => 'harvest', 'parent' => '', 'description' => 'For logs related to harvesting of a plant.' ], ]; addTerms($vocab, $terms); From 06233edfa4700c7f9b7a45984c1c0337e9987a4c Mon Sep 17 00:00:00 2001 From: atap <55597131+aarontapper@users.noreply.github.com> Date: Sat, 8 Nov 2025 08:05:54 -0500 Subject: [PATCH 04/12] fix(dev): fix typos in homepage_template.md (#555) Fix typos **Pull Request Description** Fixes 4 visible typos and one in comments --- **Licensing Certification** FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **I certify that I satisfy the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. Signed-off-by: atap <55597131+aarontapper@users.noreply.github.com> --- .devcontainer/homepage_template.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.devcontainer/homepage_template.md b/.devcontainer/homepage_template.md index c55222da2..fc45a8b05 100644 --- a/.devcontainer/homepage_template.md +++ b/.devcontainer/homepage_template.md @@ -1,6 +1,6 @@

The FarmData2 Development Environment

-

The Development Enviornment is Ready

+

The Development Environment is Ready

@@ -11,7 +11,7 @@ CODESPACE_NAME and CACHE_KEY are replaced by homepage.bash The value of CACHE_KEY is set to the timestamp. This prevents the browser from using a cached version of the - page, whcih does not work when the codespace is restarted. + page, which does not work when the codespace is restarted. --> Click here to Open the Development Environment in a Browser Tab.
@@ -34,13 +34,13 @@ Notes:
  1. - The browser based version of the Development Environment has the limitation that you cannot copy and paste direclty between the Development Environment and your machine. Using a VNC client on your machine as described in Note #2 removes this limitation. + The browser based version of the Development Environment has the limitation that you cannot copy and paste directly between the Development Environment and your machine. Using a VNC client on your machine as described in Note #2 removes this limitation.
  2. - Opening in VNC requires that both the gh command line interface and a VNC client be installed on your machine. You can find more information about each of these in the installaion documentation. + Opening in VNC requires that both the gh command line interface and a VNC client be installed on your machine. You can find more information about each of these in the installation documentation.
  3. - The gh cs ports forward 5901:5902 command forwards port 5901 in the codespace to port 5902 on your local machine to enable VNC to connet. If port 5902 is in use on your machine you can change 5902 to any available port. Then use your VNC client to connect to the new port. + The gh cs ports forward 5901:5902 command forwards port 5901 in the codespace to port 5902 on your local machine to enable VNC to connect. If port 5902 is in use on your machine you can change 5902 to any available port. Then use your VNC client to connect to the new port.
From 34a68ce453c907dd7b6e9ea7b25fc179568f6746 Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Thu, 13 Nov 2025 11:07:02 -0500 Subject: [PATCH 05/12] Update devcontainer.json to pin base image to bookworm (#556) A new Debian base image was released that was not compatible with the Docker-In-Docker features. This patch pegs the base image being used to be compatible with the version of the Docker-in-Docker feature that is installed. **Pull Request Description** _Describe what your Pull Request does here_ _Include a "Closes #" line for the issue your PR closes._ --- **Licensing Certification** FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **I certify that I satisfy the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. Signed-off-by: Grant Braught --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 906d51d6a..f01f8a0fd 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,5 +1,5 @@ { - "image": "mcr.microsoft.com/devcontainers/base:debian", + "image": "mcr.microsoft.com/devcontainers/base:bookworm", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {} }, From ed6a71828bf118650b28d3a1c6d20c714c6b8449 Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Thu, 13 Nov 2025 16:12:37 -0500 Subject: [PATCH 06/12] fix(dev): .devcontainer patch (#558) Patches the .devcontainer to reveal the terminal in which VSCode tasks are running. This appears to be a change in how GitHub codespaces execute the VSCode tasks. If the terminal was not revealed the first task would fail and no further tasks would run. Revealing the terminal window solved this issue. --- **Licensing Certification** FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **I certify that I satisfy the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. Signed-off-by: Grant Braught --- .devcontainer/devcontainer.json | 35 ++++++++------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f01f8a0fd..4676be257 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -66,64 +66,45 @@ "runOn": "folderOpen" }, "presentation": { - "reveal": "never" + "reveal": "always", + "panel": "shared" } }, { "label": "Open Loading Page", "type": "shell", - "command": "code -r .devcontainer/fd2_loading.md", - "presentation": { - "reveal": "never" - } + "command": "code -r .devcontainer/fd2_loading.md" }, { "label": "Customize Welcome Page", "type": "shell", - "command": "./.devcontainer/homepage.bash", - "presentation": { - "reveal": "never" - } + "command": "./.devcontainer/homepage.bash" }, { "label": "Run fd2-up.bash Script", "type": "shell", - "command": "bin/fd2-up.bash", - "presentation": { - "reveal": "never" - } + "command": "bin/fd2-up.bash" }, { "label": "Open Welcome Page", "type": "shell", - "command": "code -r .devcontainer/fd2_welcome.md", - "presentation": { - "reveal": "never" - } + "command": "code -r .devcontainer/fd2_welcome.md" }, { "label": "Start Heartbeat Server", "type": "shell", - "command": ".devcontainer/startHeartbeat.bash", - "presentation": { - "reveal": "never" - } + "command": ".devcontainer/startHeartbeat.bash" }, { "label": "Open Running Page", "type": "shell", - "command": "sleep 300; code -r .devcontainer/fd2_running.md", - "presentation": { - "reveal": "never", - "panel": "new" - } + "command": "sleep 300; code -r .devcontainer/fd2_running.md" }, { "label": "Start Heartbeat Listener", "type": "shell", "command": "fuser -k 8888/tcp; ncat -lk 8888", "presentation": { - "reveal": "always", "panel": "new" } } From 302ebd1be0471bc29b3ac9c1a7ade5281a96b161 Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Thu, 13 Nov 2025 16:17:13 -0500 Subject: [PATCH 07/12] fix(docs): Update codespaces.md (#559) Update the install directions for the Codespaces approach to indicate that a terminal window will appear and can be ignored. --- **Licensing Certification** FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **I certify that I satisfy the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. Signed-off-by: Grant Braught --- docs/install/codespaces.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/install/codespaces.md b/docs/install/codespaces.md index b4d165868..a900d8e5c 100644 --- a/docs/install/codespaces.md +++ b/docs/install/codespaces.md @@ -33,7 +33,7 @@ Use the following steps to create a new FarmData2 Development Environment in Cod 1. The browser will display a small dialog box in the lower right corner indicating that the GitHub codespace is being built.
Dialog box indicating that the codespace is being built.
-1. After about 5 minutes the browser window will change a couple of times and then display a page indicating that the FarmData2 Development Environment is loading.
The FarmData2 Development Environment loading page.
+1. After about 5 minutes the browser window will change a couple of times and then display a page indicating that the FarmData2 Development Environment is loading.
The FarmData2 Development Environment loading page.

A terminal window will open at the bottom of this window and will display the output of commands that are executing as part of the startup. You may safely ignore the content in this terminal. 1. After another 5-10 minutes the browser window will display a page giving information about connecting to the FarmData2 Development Environment.
The FarmData2 Development Environment connections page.
From fecbe1875b4644696a4d3728f567b91862a39fb9 Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Mon, 15 Dec 2025 11:15:59 -0500 Subject: [PATCH 08/12] feat(dev): updates pr template and adds bug/feature templates (#568) **Pull Request Description** Updates the pull request template and adds separate templates for feature requests and bug reports. Closes #229 --- **Licensing Certification** FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **I certify that I satisfy the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. --- .github/ISSUE_TEMPLATE/bug_report.md | 38 +++++++++++++++++++++++ .github/ISSUE_TEMPLATE/feature_request.md | 23 ++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 32 +++++++++++++++---- 3 files changed, 87 insertions(+), 6 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE/bug_report.md create mode 100644 .github/ISSUE_TEMPLATE/feature_request.md diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 000000000..72f7ca197 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,38 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' +--- + +### Description + +_A clear and concise description of the bug._ + +### Steps to Reproduce + +1. Go to '…' +2. Click '…' +3. Scroll down to '…' +4. See error + +### Observed Behavior + +_A clear and concise description of what you observed when performing the reproduction steps and why that is incorrect. Include any error messages that are observed and screenshots as helpful to illustrate your description._ + +### Expected Behavior + +_A clear and concise description of what you expected to happen when performing the reproduction steps and why that is correct. Include screenshots as helpful to illustrate your description._ + +### `bugInfo.bash` Output + +_If you are working in the FarmData2 Development Environment run the `bugInfo.bash` script and paste the output in as indicated._ + +``` +Paste bugInfo.bash output here. +``` + +### Further Details + +_Include any further information you think might be helpful here. Note: if you have ideas for how to fix the bug, include those in a comment rather than in this description._ diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 000000000..a2fa7fbfa --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,23 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' +--- + +### Feature + +_A clear and concise description of the new feature that you want to see. Include screenshots, sketches or any other content that helps to explain your request._ + +### Rationale + +_A clear and concise description of why you want this feature. Ex. It will make it easier to …_ + +### Alternatives + +_A clear and concise description of any alternative solutions you have thought of or any workarounds (hacks) that you are currently using._ + +### Further Information + +_Add any other context or information about the feature request here._ diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 551426e7c..43f4f8e3e 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,11 +1,31 @@ -**Pull Request Description** +### Purpose -_Describe what your Pull Request does here_ +_A clear and concise description of the purpose of this pull request._ -_Include a "Closes #" line for the issue your PR closes._ +### Verification Steps ---- +_A clear and concise set of steps that will enable the reviewer to manually verify that this pull request accomplishes its purpose._ -**Licensing Certification** +### Approach -FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **I certify that I satisfy the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. +_A clear and concise description of the approach taken with rationale for design decisions that were made._ + +### Testing + +_A clear and concise description of automated tests that have been modified or added to verify changes that were made._ + +### Related issues + +_Include "Fixes #" or "Closes #" lines to link to issues resolved by this pull request. Include a "Related to #" line to link to issues related to but not fully resolved by this pull request._ + +### Further Information + +_Include any further information you think might be helpful here._ + +### Licensing Certification + +FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **the contributor (and any listed co-authors) certify that they meet the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. + +### Co-Authors + +_Add a `Co-authored-by: NAME ` line for each collaborator who does not have a commit in this PR. Use the [Coauthors Generator](https://coauthors.me/generator) to get a Co-authored-by line for a GitHub user._ From 60484152f9f9f15694a18cb76714102ebb782ea6 Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Mon, 15 Dec 2025 11:30:52 -0500 Subject: [PATCH 09/12] feat(dev): adds the bugInfo.bash script (#570) ### Purpose Adds the `bugInfo.bash` script. This script is run to generate some useful information about the current state of the `development` branch when a bug report is being filed. The Bug Report template now requests that output of this script as part of the bug report. ### Licensing Certification FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **the contributor (and any listed co-authors) certify that they meet the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. --- bin/bugInfo.bash | 58 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 bin/bugInfo.bash diff --git a/bin/bugInfo.bash b/bin/bugInfo.bash new file mode 100644 index 000000000..87388324d --- /dev/null +++ b/bin/bugInfo.bash @@ -0,0 +1,58 @@ +#!/bin/bash + +current_branch=$(git branch --show-current) +if [ "$current_branch" != "development" ]; then + echo "Please run bugInfo.bash from the development branch." + exit 255 +fi + +upstream_url=$(git remote get-url upstream) +if [ "$upstream_url" == "" ]; then + echo "Please set the upstream remote and try again." + exit 255 +fi + +upstream_head=$(git ls-remote "$upstream_url" development | cut -f1) +local_head=$(git rev-parse HEAD) +if [ "$local_head" != "$upstream_head" ]; then + echo "Please be sure you are running from the latest development branch." + echo "Update your development branch, confirm the bug still exits and try again." + exit 255 +fi + +git_status=$(git status --short) +if [ "$git_status" != "" ]; then + echo "Please be sure you are running from the latest development branch." + echo "Stash or restore any local changes you have made, confirm the bug still exits and try again." + exit 255 +fi + +echo "" +echo "Copy the following information into the bug report under \"bugInfo.bash output\":" + +echo "" +echo "BEGIN" + +echo "" +echo "git remote -v" +echo "-------------" +git remote -v + +echo "" +echo "git log -1 | head -3" +echo "--------------------" +git log -1 | head -3 + +echo "" +echo "cat ~/FarmData2/.fd2dev/db.conf" +echo "-------------------------------" +cat ~/FarmData2/.fd2dev/db.conf + +echo "" +echo "docker ps (Images and Names)" +echo "----------------------------" +docker ps --format "{{.Image}} \t {{.Names}}" + +echo "" +echo "END" +echo "" From 11b1bd27e7dc3d287336bdc159caca5ad4bdcb9d Mon Sep 17 00:00:00 2001 From: Grant Braught Date: Mon, 15 Dec 2025 11:34:51 -0500 Subject: [PATCH 10/12] fix(dev): Adds execute permission to the `bugInfo.bash` script (#571) ### Purpose Adds the execute permission to the script. ### Licensing Certification FarmData2 is a [Free Cultural Work](https://freedomdefined.org/Definition) and all accepted contributions are licensed as described in the LICENSE.md file. This requires that the contributor holds the rights to do so. By submitting this pull request **the contributor (and any listed co-authors) certify that they meet the terms of the [Developer Certificate of Origin](https://developercertificate.org/)** for its contents. --- bin/bugInfo.bash | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/bugInfo.bash diff --git a/bin/bugInfo.bash b/bin/bugInfo.bash old mode 100644 new mode 100755 From b33642cc08880737ff715b04a7290481801fb2af Mon Sep 17 00:00:00 2001 From: truongquand Date: Sat, 20 Dec 2025 10:17:52 -0500 Subject: [PATCH 11/12] Finished enhancing the CropSelector example --- .../src/entrypoints/crop_selector/App.vue | 28 +++++++++++-------- 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/modules/farm_fd2_examples/src/entrypoints/crop_selector/App.vue b/modules/farm_fd2_examples/src/entrypoints/crop_selector/App.vue index 0b9242a55..d5745ccaa 100644 --- a/modules/farm_fd2_examples/src/entrypoints/crop_selector/App.vue +++ b/modules/farm_fd2_examples/src/entrypoints/crop_selector/App.vue @@ -25,6 +25,7 @@
+ @@ -38,17 +39,7 @@ v-model="required" /> - - - - + @@ -61,7 +52,7 @@ v-on:click="this.form.selected = 'ARUGULA'" v-bind:disabled="this.form.selected == 'ARUGULA'" > - Select Arugula + Arugula + + + + + +
Prop ControlValue
showValidityStyling - - {{ required }}
selected {{ form.selected }}
showValidityStyling + + {{ validity.showStyling }}
From f0044cc5675f09d6d36f52ba6c17e60047ae7737 Mon Sep 17 00:00:00 2001 From: truongquand Date: Sat, 20 Dec 2025 11:02:54 -0500 Subject: [PATCH 12/12] Merged the changes from 2 people --- .../src/entrypoints/crop_selector/App.vue | 4 + .../src/entrypoints/picker_base/App.vue | 93 ++++++++++--------- 2 files changed, 51 insertions(+), 46 deletions(-) diff --git a/modules/farm_fd2_examples/src/entrypoints/crop_selector/App.vue b/modules/farm_fd2_examples/src/entrypoints/crop_selector/App.vue index d5745ccaa..2ccb23e58 100644 --- a/modules/farm_fd2_examples/src/entrypoints/crop_selector/App.vue +++ b/modules/farm_fd2_examples/src/entrypoints/crop_selector/App.vue @@ -91,6 +91,10 @@ + + ready + + update:selected {{ form.selected }} diff --git a/modules/farm_fd2_examples/src/entrypoints/picker_base/App.vue b/modules/farm_fd2_examples/src/entrypoints/picker_base/App.vue index 672e73b18..b4995bb72 100644 --- a/modules/farm_fd2_examples/src/entrypoints/picker_base/App.vue +++ b/modules/farm_fd2_examples/src/entrypoints/picker_base/App.vue @@ -26,40 +26,29 @@ Prop Control + Value - required - - - - - - showValidityStyling - - - - - - showAllButton + options - + + Toggle sixth option + @@ -84,24 +73,36 @@ - options + required - - Toggle sixth option - + + + + + showAllButton + + + + + + showValidityStyling + +