Commit Graph
932 Commits
Author SHA1 Message Date
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 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
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 f20bf69d32 feat: Allow saving blank drafts for photo attachments and update validations 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 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 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 WallaceandDaniel O'Connor 75595350bc Easier recording of harvests from the front page (#5077)
* Implement AddSeedsPicker component and enhance planting selection UI; update styles and serializers for better seed management

* Enhance PlantingPicker component: add hints and titles for harvest and seed actions; update test to reflect changes in seed saving behavior

* Enhance harvest recording: allow harvesting from crops without plantings; update forms and modals for better user experience

* Refactor code structure for improved readability and maintainability

* Remove AddSeedsPicker component and its associated tests

* Add planting picker functionality for harvesting and seed saving

- Introduced PlantingPickersController to handle JSON responses for member's plantings.
- Updated HomeHelper to include crop ID in planting picker properties.
- Refactored PlantPicker and PlantSomethingModal components to support multiple gardens.
- Created PlantingFlow component to manage planting actions (harvest and save seeds).
- Implemented RecordDialog component to handle server-rendered links for harvesting and seed saving.
- Updated various views to include data attributes for triggering the record dialog.
- Added routes for planting picker and corresponding request specs for testing.
- Adjusted styles in _plantings.scss for better layout and spacing.

* Add job management features including job creation and wishlist functionality

* Remove WishlistJobsController and associated views and tests

* Add suggestion links rendering and fix routes formatting

* Refactor AddJobModal and JobPicker components to simplify props and enhance user experience

* Update seed addition test to check dialog presence and current path

* Apply suggestion from @CloCkWeRX

---------

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2026-10-26 21:38:12 +10:30
d19fd9657b Replace bootstrap datepicker with native HTML5 date inputs (#5057)
* Replace bootstrap datepicker with native HTML5 date inputs

Convert planting and seed date text fields to native HTML5 date fields
(`f.date_field`), matching existing date inputs across the app. Remove
bootstrap-datepicker JS/CSS imports, legacy site wrapper scripts,
package dependency, and update test specs.

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

* Fix spec

* Fix spec

* Fix spec

* Drop expectations about removed control

* Fix specs

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 19:52:50 +10:30
b3446f6cc7 Add basic HTML email layout with Growstuff branding and footer (#5035)
* Add HTML email layout with Growstuff branding and footer

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

* Add HTML email layout with Growstuff branding, call-to-action buttons, and footer

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

* Add previewer

* Update spec

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-26 04:41:43 +00:00
Brenda Wallace 334e7a8370 feat: integrate Tiptap editor for post body editing
- Updated post actions menu to link directly to the edit post path.
- Enhanced post form to include a React-based body editor using Tiptap, with a fallback to a plain textarea.
- Added Tiptap dependencies to package.json and updated yarn.lock.
- Created a feature spec to verify navigation to the edit page from the post actions menu.
2026-10-26 15:22:45 +13:00
Brenda WallaceandDaniel O'Connor 8474bdd416 remove newsletter (#4974)
* Remove unused bluecloth gem

Last released in 2011. It was only required, never called; kramdown
renders the markdown.

* Add specs for Tilt markdown rendering and posts markdown partial

* Remove rails_12factor gem

Last released in 2014. Rails 5+ does this via RAILS_SERVE_STATIC_FILES
and RAILS_LOG_TO_STDOUT, which production.rb already reads.

* Remove memcachier gem from Gemfile and Gemfile.lock

* Remove unused webrat gem

Last released in 2011. Nothing requires it; the specs use Rails'
assert_select and Capybara matchers. Only generator comments mention it.

* Remove crowdin-cli gem

Last released in 2018. Crowdin now ships its own standalone CLI, which
reads crowdin.yml and doesn't need the gem. Also drops the dependencies
only it used (rest-client, gli, crowdin-api and friends).

* Removes the crowdin-cli gem (last released 2018), the dependencies only
it needed, and crowdin.yml. Crowdin was never set up: the config still
has a placeholder project ID and nothing else in the repo mentions it.

Assisted by Claude

* Remove newsletter functionality and associated views and tests

* Remove newsletter functionality and related code across the application

* keep the column

* Remove stale test step

* add back newsletter

* Add migration to update newsletter column comment in members table

---------

Co-authored-by: Daniel O'Connor <daniel.oconnor@gmail.com>
2026-10-26 11:48:36 +10:30
Daniel O'Connorandgoogle-labs-jules[bot] fbab11e189 Add full CRUD capabilities for member API token management (#5041)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-24 02:44:08 +10:30
Daniel O'Connorandgoogle-labs-jules[bot] af40114ab8 Fix race condition in gardens_spec.rb feature tests (#5038)
Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-23 23:09:37 +10:30
Brenda Wallace 6332f26c58 Merge pull request #4994 from Growstuff/crop-job-templates-admin
Admin for crop job templates, a tidier crop wrangling page, and crop and template seeds
2026-10-23 13:26:33 +10:30
Brenda Wallace 42deef49f6 Enhance job handling in neighbours and timeline services: add support for finished jobs, update queries, and improve localization for job-related events. 2026-10-23 13:28:37 +13:00
Brenda Wallace 37ea0436fc Refactor job ordering in load_notepad and add spec for job order retention when crossed off 2026-10-22 18:16:17 +13:00
Brenda Wallace 7b67fd3dd6 Add snail animation and job completion caption to notepad 2026-10-22 18:15:35 +13:00
Brenda Wallace 47476324b3 Enhance job notepad functionality with drag-and-drop support and UI updates 2026-10-22 17:24:48 +13:00
Brenda Wallace 06138569c6 Implement job notepad functionality with AJAX support for adding jobs 2026-10-22 17:19:31 +13:00
Brenda Wallace a0b24381ac Refactor activities to jobs across the application
- Renamed all instances of 'Activity' to 'Job' in views, controllers, and models.
- Updated routes to reflect the change from activities to jobs.
- Modified database schema to rename the activities table to jobs and adjusted related columns.
- Updated locale files to change activity-related translations to jobs.
- Adjusted tests to ensure they reference jobs instead of activities.
- Removed the category field from jobs as they are now a plain list.
- Updated seed data and sample data generation to create jobs instead of activities.
2026-10-22 17:16:25 +13:00
Brenda Wallace 77bf9d5e92 Rename activities to jobs and update related files for consistency 2026-10-22 17:06:55 +13:00
Brenda Wallace d1ea600117 Add additional mobile layout tests for crop and planting pages 2026-10-22 15:43:24 +13:00
Brenda Wallace 72bfc62d1d Add mobile layout tests and overflow helpers for better responsiveness 2026-10-22 15:43:24 +13:00
Brenda Wallace 977a984c24 Remove Elasticsearch integration and related code
- Deleted Elasticsearch gems from Gemfile and Gemfile.lock.
- Updated README and TECH documentation to reflect the removal of Elasticsearch.
- Removed Elasticsearch-related code from models, controllers, services, and factories.
- Adjusted tests to eliminate dependencies on Elasticsearch.
- Cleaned up Docker configuration and environment variables related to Elasticsearch.
- Added a TODO file for future gem reviews and potential removals.
2026-10-22 15:37:03 +13:00
Brenda Wallace ec8f32cc9a Fix flaky specs by adding DetachedNodeRetry module and disabling Rack::Attack during tests (#4983) 2026-10-21 13:01:35 +10:30
Brenda Wallace 4d6b903f6d Add mock for GBIF suggestions in crop creation specs and update name field test for highlighted match 2026-10-20 17:06:34 +13:00
Brenda Wallace 5aa751f0f3 Refactor crop name fields: replace manual input handling with reusable components for scientific and alternate names, and integrate GBIF name suggestions. 2026-10-20 13:11:49 +13:00
Brenda Wallace 88624d2ac8 Implement alternate names functionality with React component and update related specs 2026-10-20 13:06:04 +13:00
Brenda Wallace 9d54380e22 Add feature specs for crop name rows and seed finishing functionality 2026-10-20 09:16:11 +13:00
Brenda Wallace ab2cd134e4 Refactor neighbours styles and enhance season heading rendering with icons 2026-10-19 20:53:26 +13:00
Brenda Wallace 60211cb52f Add harvest details display and update tests for neighbours feature 2026-10-19 20:53:26 +13:00
Brenda Wallace 77da6fd00c Refactor neighbours styles and enhance entry rendering
- Update styles for neighbours entry list and line items for better layout.
- Introduce grouping logic for neighbour activities in the helper.
- Modify entry rendering to display grouped activities and photos.
- Adjust locale keys for improved sentence structure in activity descriptions.
- Add tests for new grouping functionality and ensure date handling is consistent across time zones.
2026-10-19 20:53:26 +13:00
Brenda Wallace d71b005ccc Add support for planned activities in neighbours and timeline services, update views and tests accordingly 2026-10-19 20:53:26 +13:00
Brenda Wallace fa33d7b911 Add seasonal features to neighbours: implement season markers and headings, enhance activity filtering for 'me' scope, and update styles for better visibility. 2026-10-19 20:53:26 +13:00
Brenda Wallace ecb84e35ba Add support for finished seeds in neighbours and timeline services
- Updated the Neighbours service to include 'seed_finished' in the feed kinds and event models.
- Enhanced the TimelineService to query finished seeds and include them in the timeline.
- Modified the neighbours view to display finished seeds with appropriate translations.
- Added tests to ensure finished seeds are correctly represented in both the neighbours feed and service specs.
2026-10-19 20:53:26 +13:00
Brenda WallaceandClaude Sonnet 5.5 356b83bd33 Add transplants, finished plantings and planned activities to friends and neighbours
Assisted-by: Claude Code:claude-sonnet-5-5
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-19 20:53:26 +13:00
Brenda Wallace 2d97aed868 Enhance seed packet selection and sowing process: update SeedPacketList to include expired seeds option, improve UI for seed selection, and modify SowSeedsModal to support multi-step sowing with notes. 2026-10-18 10:19:32 +13:00
Brenda Wallace 8c7eed345e Enhance transplant functionality: update JSON responses to include garden card details, implement event handling for garden card changes, and improve UI interactions in related components. 2026-10-18 10:10:25 +13:00
Brenda Wallace 225a9057c5 Implement transplant functionality: refactor planting movement to record history of gardens, update modal for transplanting, and adjust related components and tests accordingly. 2026-10-17 22:57:38 +13:00
Brenda Wallace b620ca1ccc Enhance nursery functionality: add panel action for refreshing nursery in place, update nursery chip to exclude harvest and save seeds actions, and implement editing capability with modal dialog for batch updates. 2026-10-17 22:29:33 +13:00