Commit Graph

11687 Commits

Author SHA1 Message Date
google-labs-jules[bot]
c45b75a967 feat: Add nutritional data partial to crops and harvests
This commit introduces a new partial to display nutritional data from the Australian Food Composition Database.

Key changes:
- Adds a database index to the `public_food_key` on the `crops` table.
- Establishes a `has_one` relationship between `Crop` and `AustralianFoodClassificationData`.
- Creates a `_nutritional_data.html.haml` partial to display a summary of key nutritional information.
- Renders the partial on the `show` pages for both crops and harvests.
2025-12-01 12:53:03 +00:00
Daniel O'Connor
c94cf21f72 Merge pull request #4359 from Growstuff/add-public-food-key-to-data-improvement
Add missing public food key id to data improvement page
2025-12-01 21:45:48 +10:30
google-labs-jules[bot]
31c72799ea feat: Add missing public food key id to data improvement page
This change adds a new tab to the data improvement page to show crops that are missing a public food key id.

I was unable to run tests or perform frontend verification due to a known issue with the Ruby environment.
2025-12-01 11:04:01 +00:00
Daniel O'Connor
9ae47afe04 Reduce to member login_name 2025-12-01 10:02:23 +00:00
Daniel O'Connor
e7d8ec6fd0 Fix styling 2025-12-01 09:29:42 +00:00
google-labs-jules[bot]
620337fbac Merge pull request #4353 from Growstuff/feat/import-australian-food-data
Add Rake Task to Import Australian Food Data
release78
2025-12-01 19:43:14 +10:30
Daniel O'Connor
4de062838b Merge pull request #4354 from Growstuff/fix-crops-show-spec
Fix crops/show view spec
2025-12-01 19:42:56 +10:30
Daniel O'Connor
2aaca7b713 Bump rubocop-rails from 2.34.1 to 2.34.2 (#4355)
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.34.1 to 2.34.2.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.34.1...v2.34.2)

---
updated-dependencies:
- dependency-name: rubocop-rails
  dependency-version: 2.34.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-01 19:42:04 +10:30
google-labs-jules[bot]
323c7dc3ee Optimize Data Improvement Page (#4356)
* feat: Add data improvement page to crops controller

This commit introduces a new data improvement page to the crops controller. The page displays tabbed lists of crops with missing data, allowing users to easily identify areas for data quality improvement.

The following data quality categories are included:
- Crops without photos
- Crops without descriptions
- Crops without a youtube video
- Crops without alternate names
- Crops without a scientific name with a wikidata id
- Crops without row spacing
- Crops without sun requirements
- Crops without height

All lists are sorted by planting count in descending order.

* refactor: Optimize data improvement page to load tab data on demand

This commit refactors the data improvement page to load data for each tab on demand, rather than loading all queries at once. This improves the performance of the page by only executing the query for the currently active tab.

The controller action now uses a `case` statement based on a `tab` URL parameter to execute the appropriate query. The view has been updated to pass this parameter when a tab is clicked.

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-12-01 19:41:28 +10:30
Daniel O'Connor
d1509a303e Merge branch 'dev' into fix-crops-show-spec 2025-12-01 19:02:11 +10:30
dependabot[bot]
05e4ae7fbf Bump rubocop-rails from 2.34.1 to 2.34.2
Bumps [rubocop-rails](https://github.com/rubocop/rubocop-rails) from 2.34.1 to 2.34.2.
- [Release notes](https://github.com/rubocop/rubocop-rails/releases)
- [Changelog](https://github.com/rubocop/rubocop-rails/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rails/compare/v2.34.1...v2.34.2)

---
updated-dependencies:
- dependency-name: rubocop-rails
  dependency-version: 2.34.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-01 07:54:43 +00:00
google-labs-jules[bot]
30e7c5d01c Merge pull request #4352 from Growstuff/add-public-food-key
feat: Add Public Food Key to Crop model
2025-12-01 18:02:33 +10:30
Daniel O'Connor
ff6a6e2e11 Remove defunct gitter 2025-12-01 18:00:44 +10:30
google-labs-jules[bot]
6f0d0afdb8 Fix(specs): Initialize @version_members in crops/show view spec
The `crops/show` view spec was failing with a `NoMethodError` because
the `@version_members` instance variable was `nil`. This variable is used
in the `_history` partial, which is rendered by the `show` view.

This commit fixes the spec by initializing `@version_members` to an
empty hash in the `before` block of the spec. This ensures that the
view can render without errors during the test run.
2025-12-01 02:34:46 +00:00
Daniel O'Connor
c31d9cd09c Check presence of version members before accessing 2025-12-01 13:03:25 +10:30
Daniel O'Connor
3ba3c0077f Merge branch 'mainline' into dev 2025-11-30 15:05:43 +10:30
google-labs-jules[bot]
460daf36f9 Add revert functionality to admin crops page (#4346)
* feat(admin): add revert functionality to crops page

This change adds a "Revert" button to the admin crops page, allowing crop wranglers to revert changes to a previous version.

It introduces a new `Admin::VersionsController` with a `revert` action that uses `paper_trail`'s `reify` method to restore a previous version of a `Crop` object.

The view is updated to include a "Revert" button, which is guarded by a `can?(:wrangle, Crop)` check to ensure only authorized users can see it.

The controller also includes an authorization check to prevent unauthorized users from accessing the revert action directly.

A feature spec is added to test the new functionality, including the authorization logic.

* Consistent UX

* Specs

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2025-11-30 15:05:13 +10:30
google-labs-jules[bot]
13a8276313 Add version tracking to crops model (#4343)
* feat: Add version tracking to Crop model

This commit introduces version tracking for the Crop model using the PaperTrail gem.

Key changes include:
- Integrating `has_paper_trail` into the `Crop` model.
- Adding a "History" section to the crop show page to display a timeline of changes for that specific crop.
- Creating a new admin page for users with the "crop_wrangler" role to view a log of all recent crop edits, creations, and deletions.
- Fixing several N+1 query performance issues by eager-loading associated `Member` records in both the `CropsController` and the new `Admin::CropsController`.
- Refactoring view logic into a shared partial to reduce code duplication.

* Add papertrail

* Admin UI

* Add papertrail DB

* Add papertrail DB

* Rearrange

* Fix permissions

* Fix permissions

* Fix UI

* Fix UI

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2025-11-30 14:47:46 +10:30
Daniel O'Connor
756c79b1e0 Merge pull request #4344 from Growstuff/feature/add-schema-org-to-crops-page
Fix rendering
2025-11-30 14:15:18 +10:30
Daniel O'Connor
d2ac7bad15 Fix rendering 2025-11-30 03:44:52 +00:00
Daniel O'Connor
315af0aa7e Merge pull request #4342 from Growstuff/feature/add-schema-org-to-crops-page
Styling
2025-11-30 14:11:41 +10:30
Daniel O'Connor
b53bda136f Render less on some pages 2025-11-30 03:41:15 +00:00
Daniel O'Connor
7ef0ed6131 Document future 2025-11-30 03:38:55 +00:00
Daniel O'Connor
6ce3d1c069 Render images 2025-11-30 03:38:29 +00:00
Daniel O'Connor
d659df1814 Styling 2025-11-30 03:11:32 +00:00
Daniel O'Connor
0709baa4f8 Merge pull request #4340 from Growstuff/feature/add-schema-org-to-crops-page
Add schema.org markup to crop pages
2025-11-30 13:40:11 +10:30
Daniel O'Connor
d72a3989b5 Specific form links 2025-11-30 03:09:55 +00:00
Daniel O'Connor
bf9f67667d Merge branch 'dev' of https://github.com/Growstuff/growstuff into feature/add-schema-org-to-crops-page 2025-11-30 03:08:09 +00:00
Daniel O'Connor
58bad7eeb0 Add more schema.org 2025-11-30 03:02:10 +00:00
Daniel O'Connor
38aa245290 Move to crops helper 2025-11-30 02:59:04 +00:00
Daniel O'Connor
d570b27a7b Update _schema_org.html.haml 2025-11-30 13:26:37 +10:30
Daniel O'Connor
7d43d4d9e2 Merge pull request #4341 from Growstuff/feature/add-wikidata-id
Allow Wikidata ID to be set when editing a scientific name
2025-11-30 13:25:03 +10:30
Daniel O'Connor
e8dbcb0916 Delete db/migrate/20251129185029_add_wikidata_id_to_scientific_names.rb 2025-11-30 13:24:42 +10:30
google-labs-jules[bot]
d31a6ec221 feat: Add Wikidata ID to scientific names
This commit introduces the ability to store and display the Wikidata ID for scientific names.

Changes include:
- A database migration to add the `wikidata_id` column to the `scientific_names` table.
- An update to the `scientific_names_controller` to permit the `wikidata_id` parameter.
- An update to the scientific name form to include a field for the Wikidata ID.
- An update to the crop show page to display a link to the Wikidata page for a scientific name.
2025-11-30 02:53:19 +00:00
Daniel O'Connor
a000ea835d Merge pull request #4339 from Growstuff/feature/add-contribution-links
Add Contribution Links and Conditional Edit Form
2025-11-30 13:17:09 +10:30
google-labs-jules[bot]
b204030f70 feat: Add schema.org markup to crop pages
Adds schema.org markup to the crop pages using the BioChemEntity type. The taxonomicRange attribute is used to list the scientific names of the crop, which will improve SEO.
2025-11-30 02:45:46 +00:00
google-labs-jules[bot]
63477ee59d feat: Add contribution links and conditional edit form
This commit introduces a series of changes to encourage user contributions for missing crop data.

On the crop show page, it adds links for logged-in users to:
- Add a description if one is not present.
- Add a YouTube video if one is not present.
- Add more attributes in the predictions section if any are missing.

On the crop edit page, the form now conditionally displays fields. For standard users, it only shows fields for attributes that are currently empty. For privileged users (wranglers), it displays all fields, allowing them to edit existing data.
2025-11-30 02:38:05 +00:00
Daniel O'Connor
b27e263fdf Merge pull request #4338 from Growstuff/CloCkWeRX-patch-2
Update crops_helper.rb
2025-11-29 19:54:05 +10:30
Daniel O'Connor
e3a2bdd6aa Update crops_helper.rb 2025-11-29 19:53:49 +10:30
Daniel O'Connor
6ae241dc0d Merge pull request #4336 from Growstuff/dev
release 76
2025-11-29 19:40:38 +10:30
Daniel O'Connor
313e240eb9 Merge pull request #4337 from Growstuff/recursive-fallback
More recursive companions
release76
2025-11-29 19:39:31 +10:30
Daniel O'Connor
14aa673440 Merge branch 'mainline' into dev 2025-11-29 19:31:17 +10:30
Daniel O'Connor
cef23b8212 More recursive companions 2025-11-29 08:55:29 +00:00
Daniel O'Connor
3b45dca6e2 Merge pull request #4335 from Growstuff/recursive-fallback
Recursive parent lookup
2025-11-29 19:17:12 +10:30
Daniel O'Connor
9060c45aed Recursive parent lookup 2025-11-29 08:36:43 +00:00
Daniel O'Connor
d4401b402a Merge pull request #4334 from Growstuff/dev
release 75
2025-11-29 18:21:22 +10:30
Daniel O'Connor
372a5edc29 Merge branch 'mainline' into dev release75 2025-11-29 18:21:07 +10:30
Daniel O'Connor
1f0777fda0 Merge pull request #4333 from Growstuff/parent-fallback
Crops > Show detail from parent
2025-11-29 17:03:57 +10:30
Daniel O'Connor
6503e2554c Better fallback 2025-11-29 06:15:18 +00:00
Daniel O'Connor
4fd544c0b8 Show parent crop 2025-11-29 05:53:58 +00:00