Commit Graph
2820 Commits
Author SHA1 Message Date
Brenda Wallace b671b4ebff charts of temp and rain 2026-10-31 17:24:30 +13:00
Brenda Wallace c3c64bc0ef Add weather data integration for plantings
- Implement weather readings retrieval in Planting model.
- Create weather summary and charts in PlantingsHelper.
- Add weather display in plantings show view.
- Introduce weather readings factory for testing.
- Enhance planting specs to validate weather readings functionality.
- Add feature specs for weather display on planting pages.
- Update localization for weather-related strings.
2026-10-31 17:18:33 +13:00
Brenda Wallace d659a05f89 Implement weather reading functionality with Open-Meteo integration and updater service 2026-10-31 17:01:12 +13:00
Brenda Wallace 58215bdd17 Merge branch 'main' into seed-facts-organic-gmo-batch 2026-10-31 11:33:09 +13:00
Brenda Wallace 37fc5f9148 Add southern hemisphere seasons to SowingHelper and update tests 2026-10-31 08:44:28 +13:00
Daniel O'Connorandgoogle-labs-jules[bot] 11d2331b60 Use common mailer layout for new notification emails (#5153)
Remove standalone HTML document tags from Mailboxer's notification email
template so its content renders within app/views/layouts/mailer.html.erb.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-30 19:42:13 +10:30
Brenda Wallace 7eb51b76a8 Merge remote-tracking branch 'origin/main' into seed-facts-organic-gmo-batch 2026-10-30 19:00:45 +13:00
Brenda WallaceandClaude Sonnet 5.5 17cc750041 Fix the new seed page: a seed not yet saved has no owner
The month chips look up the grower's hemisphere from the seed's owner, and a
seed that is being added has none until it is saved, so the page raised. Use
the member filling in the form, and add specs for the standalone new and edit
pages, which were not covered.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-30 19:00:36 +13:00
77f151d344 Add Shareon social share component to posts#show (#5143)
* Add Shareon social share component to posts#show for logged in users

- Install shareon npm package
- Add shareon JS module and stylesheet imports
- Render .shareon container with requested share links on posts#show for logged in users
- Add unit and view spec tests

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Add Shareon social share component to posts#show for logged in users

- Install shareon npm package
- Add shareon JS module and stylesheet imports
- Render .shareon container with requested share links on posts#show for logged in users
- Add unit and view spec tests

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-29 21:51:47 +10:30
Brenda WallaceandClaude Sonnet 5.5 a2e495a76c Add when to sow, how to sow and germination time to seeds
What a packet says about sowing it. When to sow is the months, as many as the
packet says: a form sends twelve chips to tick, with the seasons as shortcuts
for the grower's hemisphere (none where we do not know it, rather than a
guess), and the list shows them as runs like "Oct-Feb". How to sow is text, in
the packet's words. Germination is a range of days, as maturity is.

A migration adds four columns to seeds. The facts are on the packet sheet, in
the order they happen, and editable from the pencils, from Edit all and from the
standalone form.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 19:35:41 +13:00
Brenda WallaceandClaude Sonnet 5.5 89c0a3f7ad List organic, GMO and batch number among a seed's facts
They were only in the edit form and, for organic and GMO, the badges under the
title, so the packet sheet could not show or edit them in place. Each is a row
with a pencil, like the others, and reads quietly when it is not known.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-29 19:35:33 +13:00
Brenda Wallace 240de4fac2 Refactor seed editing and display components
- Replace the modal dialog for editing seed details with an inline form within the packet sheet.
- Introduce a new partial for edit fields to streamline the editing process.
- Update the seed facts display to utilize a new fact row partial for better organization and readability.
- Implement a packet panel to show packet photos and text side by side, enhancing the user interface.
- Modify the hero section to include source information as a ribbon or badge based on the presence of a photo.
- Adjust tests to reflect changes in the editing process and the new layout of the seed show page.
2026-10-29 18:59:55 +13:00
Brenda Wallace 86515141ee Add OCR functionality for seed packet photos and display packet text on seed page
- Implemented Dockerfile for OCR processing with necessary dependencies.
- Enhanced read_packets.py to read and save text from seed packet photos.
- Created requirements.txt for Python dependencies.
- Updated show.html.haml to display OCR results when available.
- Added tests for displaying packet text on seed pages, including handling of markup.
2026-10-29 12:12:54 +13:00
Brenda Wallace ac93658878 Merge branch 'main' into photos-api-packet-ocr 2026-10-29 10:08:17 +13:00
Daniel O'Connorandgoogle-labs-jules[bot] 540c540576 Preserve scientific names when editing crops (#5137)
- Remove scientific name fields from crop edit form (retaining for new crop request only)
- Remove recreate_names('sci_name', 'scientific') from CropsController#update
- Add and update specs to verify scientific names and their metadata remain intact on crop update

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-29 07:30:43 +10:30
Brenda Wallace f2fa894ea3 Add packet_text attribute and authorization logic to SeedResource; implement request specs for packet text writing 2026-10-28 23:38:18 +13:00
Brenda Wallace 4d53b24e9a Enhance photo and seed resources with new attributes and filters
- Added `label` computed attribute to `PhotoResource` to indicate the side of the seed packet.
- Introduced `needs_ocr` filter in `PhotoResource` to identify photos awaiting OCR processing.
- Updated `SeedResource` to associate photos with seeds.
- Modified `photos_request_spec` to include seed relationships and test for photo labels.
- Added filtering tests for photos needing OCR in `photos_request_spec`.
- Removed obsolete Rake task for listing photos needing OCR.
- Updated `read_packets.py` to fetch photos needing OCR from the API.
2026-10-28 23:20:42 +13:00
Brenda Wallace 70827646a4 Merge branch 'main' into seed-packet-photo-sides 2026-10-28 22:10:15 +13:00
Brenda Wallace a5e5ce4988 Merge remote-tracking branch 'origin/main' into seed-packet-photo-sides
# Conflicts:
#	db/schema.rb
2026-10-28 21:57:32 +13:00
Brenda Wallace a026a00a60 Merge branch 'main' into api/graphiti 2026-10-28 21:54:10 +13:00
Brenda Wallace f20bf69d32 feat: Allow saving blank drafts for photo attachments and update validations 2026-10-28 21:50:26 +13:00
Brenda Wallace 96e37b6c90 feat: Enhance photo handling in posts with new features and UI updates 2026-10-28 21:50:26 +13:00
Brenda Wallace 232a62c3a8 feat: Enhance post editor with link suggestions for crops, members, and plantings 2026-10-28 21:50:26 +13:00
Brenda Wallace b6006df384 feat: Implement draft autosave and preview functionality in PostEditor
- Added useDraftAutosave hook to handle automatic saving of post drafts.
- Enhanced PostEditor component to include a preview tab that fetches and displays rendered markdown.
- Updated Post model to manage draft state and associated published_at timestamp.
- Introduced card_photo association to Post for representing a primary image.
- Modified post form to support draft saving and publishing actions.
- Updated navigation to include links to drafts.
- Added tests for draft saving, preview functionality, and card photo validation.
- Created migrations for new database fields related to drafts and card photos.
2026-10-28 21:50:26 +13:00
Brenda WallaceandClaude Sonnet 5.5 4ec2bee2f7 Show the packet side of a photo as a Front | Back | None control
On a seed's own page, the owner now chooses which side of the packet a photo
is of with one small button group, the current choice lit, in place of a badge
and up to three long text links that wrapped in a narrow card. Everyone else
sees just a badge. The unused "mark as" locale keys are removed.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:39:29 +13:00
Brenda WallaceandClaude Sonnet 5.5 ab024ac51a Address review comments on packet photo labels
Keep every packet label when a side is photographed again, and use the newest
photo of a side. Before, giving a second photo the same label cleared the
older photo's, which let it back into the crop's photos and default picture.

Carry the label through the HTML photo picker (its search form and the links
that add a photo), so a packet photo added without JavaScript is labelled.

Have the OCR script treat any network failure on an image (DNS, timeout) as
that image failing, so the rest of the batch still runs.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-28 21:20:27 +13:00
Brenda Wallace cd6f8f1876 feat: add packet labeling functionality and awaiting text scope for seed photos 2026-10-28 20:44:37 +13:00
Brenda Wallace 062bf738b3 Hide the packet text for now, and fix the packet_text migration
The text read from a packet is kept in seeds.packet_text but is not on any form
or page yet: the OCR script will fill it in a follow-up. The column's migration
comment had an apostrophe that broke its string, so it did not run.
2026-10-28 20:35:09 +13:00
Brenda Wallace 1701f77723 Add OCR task for seed packet photos and related specs
- Introduced a Rake task `packets:needing_ocr` to list photos of seed packets that lack text, outputting results as JSON lines.
- Created a Python script `read_packets.py` to process the output of the Rake task, downloading images and performing OCR to extract text.
- Updated model specs for `Crop` to ensure proper handling of photos associated with different seeds.
- Refactored API request specs for `Photos` and `Seeds`, removing unnecessary attributes from the response.
- Added tests for the new Rake task to ensure correct functionality and output format.
2026-10-28 20:23:35 +13:00
Brenda Wallace 8d71024075 Remove packet reading functionality and associated tests
- Deleted the packet_lines.js and packet_reader.js files along with their tests.
- Removed the packet_text.js file and its tests, which handled parsing of packet text.
- Eliminated the corresponding HTML for the packet reader button in the seed form.
- Updated package.json to remove tesseract.js dependency.
- Cleaned up related helper specs for packet image URLs.
2026-10-28 20:15:20 +13:00
Brenda Wallace 1036ad2ecf feat: add packet_text field to seeds and implement OCR reading functionality for seed packets 2026-10-28 20:12:47 +13:00
Brenda Wallace d94fd3ab1b feat: implement photo label updates for seed packets and enhance associated views 2026-10-28 19:46:00 +13:00
Brenda Wallace acfaa2a880 feat: add tesseract.js dependency and implement photo association tests
- Added `tesseract.js` as a dependency in `package.json`.
- Created a new spec file for `PhotosHelper` to test `packet_image_urls` method.
- Enhanced `Crop` model tests to ensure packet photos do not interfere with crop photos.
- Introduced validation tests for `Seed` model, covering row spacing and variety constraints.
- Updated API response in `seeds_request_spec.rb` to include variety, batch number, and row spacing.
- Updated `yarn.lock` to reflect new dependencies and versions.
2026-10-28 19:37:09 +13:00
Brenda Wallace 77e73778c1 Refactor PhotoResource to remove seeds association and update seed_ids method; adjust specs accordingly 2026-10-28 19:29:44 +13:00
Brenda Wallace 3a2528f5fa Rename 'moment' to 'label' in photo associations and update related functionality for job and seed photos 2026-10-28 19:11:12 +13:00
Brenda Wallace ecbbe6ae4b Merge branch 'main' into api/graphiti 2026-10-28 07:43:47 +13:00
b77fa5d4c4 Add 'This week' reschedule option for jobs (#5118)
* Add 'This week' reschedule option for jobs

- Add JobList.week_date helper returning the Friday of the current week.
- Add move_week translation key in config/locales/en.yml.
- Render 'This week' option in app/views/jobs/_reschedule.haml when week_date is after tomorrow.
- Add unit specs in spec/services/job_list_spec.rb and view specs in spec/views/jobs/_reschedule.haml_spec.rb.

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>

* Remove low value tests

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
Co-authored-by: Brenda Wallace <brenda@wallace.net.nz>
2026-10-27 18:56:13 +10:30
Brenda Wallace ff078009b2 Merge branch 'main' into feat/more-suggestions 2026-10-27 15:12:55 +13:00
Brenda Wallace f5f84751d9 Fix selector for post body input in new post creation 2026-10-27 14:00:39 +13:00
Brenda Wallace 45cf7f4e5d Fix selector for post body input in post creation spec 2026-10-27 14:00:33 +13:00
Brenda Wallace 37fb45e05f Use send_keys for post body input in forum spec 2026-10-27 13:57:21 +13:00
Brenda Wallace 85480f666b Refactor post body input method in post creation spec 2026-10-27 13:57:15 +13:00
Brenda Wallace 2dd381f25a Add missing click on "Actions" link before editing a post 2026-10-27 13:55:53 +13:00
Brenda Wallace 6bebff9251 Merge remote-tracking branch 'origin/main' into posts/tiptap-editor-page 2026-10-27 13:55:01 +13:00
Brenda Wallace a2681e68e3 Merge remote-tracking branch 'origin/main' into feat/more-suggestions 2026-10-27 13:48:16 +13:00
Brenda Wallace e07a3fa04c more suggestions from other users 2026-10-27 13:46:44 +13:00
Brenda Wallace 4576b1a2ed Refactor garden suggestions feature: update suggestion logic, remove unused partial, and enhance localization 2026-10-27 11:11:05 +13:00
Brenda Wallace aeccc2c5ed Add planting suggestions feature to garden pages
- Introduced a suggestions section on the garden show page to display what can be planted now.
- Added a new view partial for garden suggestions.
- Updated the plant picker to allow selection of a specific garden.
- Enhanced navigation menu to include a link to planting suggestions.
- Added relevant translations for the new feature.
- Implemented feature specs to ensure suggestions display correctly for the user's garden.
2026-10-27 11:11:05 +13:00
Brenda Wallace 0ecb2c512c Add clean_database support for transactional tests 2026-10-27 09:56:15 +13:00
google-labs-jules[bot]andCloCkWeRX c99a271fec Remove database_cleaner in favor of Rails transactional tests
Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
2026-10-27 09:56:15 +13:00