1282 Commits
Author SHA1 Message Date
Brenda Wallace 51caa7cae6 Implement crop change functionality for seeds, including controller, views, and service logic 2026-11-04 21:24:13 +00:00
Brenda Wallace cdc05edf48 Include varieties' photos and plantings on the crop page (#5251) 2026-11-05 00:06:19 +10:30
Brenda Wallace e6625449ed Show archived gardens' jobs as a plain list (#5074) 2026-11-04 23:57:04 +10:30
Brenda Wallace d5ef4329e2 Enhance seed library functionality by integrating scope rendering and improving filter interactions 2026-11-04 07:39:36 +00:00
Brenda Wallace 6d41181c06 Add variety display to seed packets and enhance filtering options 2026-11-04 07:39:36 +00:00
Brenda Wallace 6dda38413c Refactor seed library filters and improve UI components
- Updated seed filtering logic in SeedsController to use new FILTER_PARAMS.
- Enhanced seed-field layout in _seeds.scss for better responsiveness.
- Introduced SeedFiltersHelper for managing filter parameters and paths.
- Revised views to utilize new helper methods for clearer filter management.
- Updated specs to reflect changes in filter logic and UI adjustments.
2026-11-04 07:39:36 +00:00
Brenda Wallace d4e0aecda8 huge tidy up of the seed filters 2026-11-04 07:39:36 +00:00
Daniel O'ConnorandBrenda Wallace 02f6a74fed Fix authorisation check (#5277)
Co-authored-by: Brenda Wallace <brenda@wallace.net.nz>
2026-11-03 19:04:58 +00:00
Brenda Wallace a48c1678c4 Refactor crop job templates and related logic for improved clarity and functionality; update styles, remove unused code, and enhance season handling in job creation. 2026-11-04 06:31:14 +13:00
Brenda Wallace 2d58333b78 Add growing facts and sow months handling to crops, including UI updates and validations 2026-11-04 06:31:14 +13:00
Brenda Wallace 7cbd5cf666 Add crop job season handling and warnings
- Introduced a new JavaScript module for crop job season management, including functions to describe planting days and update warnings based on selected dates.
- Updated the CropJobTemplate model to include methods for determining if a date is within the season for a given latitude.
- Enhanced the AddCropJobs service to support planting dates and adjust job due dates accordingly.
- Created a new view for displaying season warnings when adding crop jobs, allowing users to confirm adding jobs outside the specified season.
- Updated the job modal to prompt users for planting dates and display relevant warnings.
- Added tests for the new functionality, ensuring correct behavior for seasonal warnings and job creation based on planting dates.
2026-11-04 06:31:14 +13:00
Brenda Wallace b4d4a5ad5a Enhance crop job functionality with planting selection and UI updates
- Update AddCropJobs service to support planting selection for job creation.
- Modify CropJobsController to handle planting parameter during job addition.
- Improve job templates view to display plantings and allow adding jobs to specific plantings.
- Add relevant translations for new UI elements.
- Extend specs to cover new planting functionality and ensure correct behavior.
2026-11-04 06:31:14 +13:00
Brenda Wallace 011d2c46ce Implement crop job creation and associated features, including controller, service, views, and specs 2026-11-04 06:31:14 +13:00
Daniel O'Connorandgoogle-labs-jules[bot] b327c80c63 Redirect to page section after seed inline edit (#5266)
Ensure inline edits on the seed show page redirect back to the
relevant section (#facts or #notes) after saving.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-11-03 14:27:36 +10:30
Brenda Wallace e0f97a8edc Add crop history feature with join banner for non-signed-in users 2026-11-02 21:25:37 +13:00
Brenda Wallace 48296925b5 Refactor crop merging functionality to enhance plan generation and UI presentation 2026-11-02 19:22:15 +13:00
Brenda Wallace 2324a55c09 Implement crop merging functionality with controller, service, views, and specs 2026-11-02 19:22:15 +13:00
Brenda Wallace 0e172dea43 Implement claiming functionality for garden stalls with area restrictions and postage options 2026-11-02 18:06:42 +13:00
Brenda Wallace 5c9d9350e0 Implement claim functionality for garden stall packets with associated views, styles, and tests 2026-11-02 18:06:42 +13:00
Brenda Wallace 13e120f992 Add new seed packet functionality with UI updates and error handling 2026-11-02 18:06:42 +13:00
Brenda Wallace bb4bb1b591 Add offer options for stall seeds with UI updates and tests 2026-11-02 18:06:42 +13:00
Brenda Wallace 275ebd1bab Implement garden stall seed management feature with associated views, styles, and tests 2026-11-02 18:06:42 +13:00
Brenda Wallace f18fc64f03 Update stall opening logic and flash message handling
- Modify the create action in OpeningsController to use a localized notice for stall opening.
- Adjust the show action in StallsController to reflect the new opening logic.
- Enhance tests to verify the new flash message and UI behavior when the stall is opened.
2026-11-02 18:06:42 +13:00
Brenda Wallace ae8fddbc7b Implement garden stall feature with opening/closing functionality and related UI components 2026-11-02 18:06:42 +13:00
Brenda Wallace f38477572b Add recently edited crops feature with pagination and UI updates 2026-11-02 16:32:06 +13:00
Brenda Wallace 0d3dacd8c2 Implement location management for gardens: add location clearing feature, update form and tests 2026-11-02 08:19:14 +13:00
Brenda Wallace 00dca61af2 Implement location removal feature for members and update related components 2026-11-02 08:19:14 +13:00
Brenda Wallace 9ac5059b89 Add location prompt for unplaced members during sign-in and corresponding tests 2026-11-02 08:19:14 +13:00
Brenda Wallace 3cfcf58324 Refactor profile location handling: remove location field from forms and update tests 2026-11-02 08:19:14 +13:00
Brenda Wallace 52251d3f7c Implement email confirmation step with decline option and related UI updates 2026-11-01 12:16:43 +13:00
Brenda Wallace caf4198cd0 Add to-do list for member setup on home page with email and name confirmation 2026-11-01 12:16:43 +13:00
Brenda Wallace 5d215992c2 Implement Bluesky sign-in with Terms of Service agreement, email handling, and related UI updates 2026-11-01 12:16:43 +13:00
Brenda Wallace 807e5ebeed Enhance Bluesky sign-in flow with error handling, local testing instructions, and UI improvements 2026-11-01 12:16:43 +13:00
Brenda Wallace 78dd9625b8 Add Bluesky OAuth integration
- Implement Atproto::ClientConfig for managing OAuth client configuration.
- Create Atproto::Http module for handling HTTP requests with SSRF protection.
- Develop Atproto::Identity class to resolve handles to DIDs and validate DID documents.
- Introduce Atproto::Jws for generating and signing JWTs for OAuth.
- Create Atproto::OauthClient to manage the OAuth authorization flow with Bluesky.
- Add OmniAuth strategy for Bluesky sign-in, allowing users to authenticate using their Bluesky handle.
- Update views to include Bluesky sign-in options and handle connections.
- Modify routes to expose OAuth client metadata.
- Allow members to sign in without an email address when using Bluesky.
- Add tests for Bluesky authorization and sign-in processes.
2026-11-01 12:16:43 +13:00
Brenda Wallace 875f86e0d2 Weather: show and fetch only the last year, and keep following old perennials (#5191)
* Refactor weather handling for plantings to support historical data and improve accuracy of weather readings

* Update weather pending messages to clarify data collection delay across multiple languages

* Refactor weather updater tests to improve accuracy of weather reading counts and remove redundant perennial test cases

* Correct the still loading messaging
2026-11-01 09:29:04 +10:30
84cba260bb Add user behaviour detection service for spam scoring (#5185)
* Add user behaviour detection service for spam scoring

Implement UserBehaviourDetectionService to evaluate members for spam indicators:
- Check email confirmation status
- Inspect bio, posts, and comments for spam-related keywords (such as "Sports Betting")
- Display spam score on admin member screens with badges and tooltips

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

* Calculate and persist spam_score on member updates

- Add `spam_score` integer column to members table with migration and schema update
- Add `update_spam_score!` method to Member model
- Call `update_spam_score!` on successful member updates in RegistrationsController#update and MembersController#finish_signup
- Use persisted member `spam_score` in Admin::MembersHelper#spam_score_badge

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

* Renumber migration to resolve duplicate version conflict

- Renumber migration from 20261031020000 to 20261031060000
- Update db/schema.rb version to 2026_10_31_060000

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-31 21:29:03 +10:30
Brenda Wallace d360fa745d Enhance weather summary functionality and improve reminder event tracking
- Implement weather_figures method to format weather data for display.
- Update planting reminder email view to utilize new weather_figures method.
- Add tests for weather_figures method to ensure accurate output.
- Modify ReminderEvent model to group events by week in UTC for consistency.
2026-10-31 20:25:20 +13:00
Brenda Wallace 5313578d98 Add ReminderEvent tracking for planting and harvest reminders
- Update the growstuff rake tasks to log ReminderEvent when planting and harvest reminders are sent.
- Create a factory for ReminderEvent to facilitate testing.
- Implement model specs for ReminderEvent, including validations and weekly counts.
- Add request specs for Admin::ReminderStatsController to verify reminder statistics.
- Enhance unsubscribe specs to ensure ReminderEvent is logged correctly on unsubscriptions.
- Update task specs for growstuff to verify ReminderEvent counts for sent reminders.
2026-10-31 19:29:54 +13:00
Brenda Wallace bc5cfafb1c Implement unsubscribe functionality and add tests for email unsubscription 2026-10-31 19:23:52 +13:00
Brenda Wallace a48aa9c803 tidy up 2026-10-31 18:11:20 +13:00
Brenda Wallace 4ec54b8e07 adding nice location picker for gardens 2026-10-31 17:58:59 +13:00
Brenda Wallace e72d47e449 Implement planting weather feature with conditional loading and localization 2026-10-31 17:38:16 +13:00
Brenda Wallace df13da9459 Merge remote-tracking branch 'origin/main' into planting-rainfall 2026-10-31 17:33:24 +13:00
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 a8e0345e20 Refactor garden show view and controller; improve layout rendering logic, enhance previously planted section, and update locale file for clarity 2026-10-31 15:48:48 +13:00
Brenda Wallace c894f87328 Refactor garden show logic; preload photos for performance, update follow button display, and enhance specs for clarity 2026-10-31 15:46:42 +13:00
Brenda Wallace 636505ef58 Merge remote-tracking branch 'origin/main' into tidy-gardens-show 2026-10-31 15:41:35 +13:00
Brenda Wallace 35d9db7888 Enhance garden show functionality and layout; preload photos and collaborators, update rendering logic for improved performance and user experience 2026-10-31 15:38:58 +13:00
Brenda Wallace da04068832 Refactor garden show layout and styles; enhance job notepad functionality and add new garden card view 2026-10-31 15:15:05 +13:00