Commit Graph
145 Commits
Author SHA1 Message Date
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 d94fd3ab1b feat: implement photo label updates for seed packets and enhance associated views 2026-10-28 19:46:00 +13:00
Brenda Wallace c3f9df44db Refactor photo editing components to use modal and streamline field rendering 2026-10-16 22:21:26 +13:00
Brenda WallaceandClaude Sonnet 5.5 be04ef963f Give record action menus a shared three-dot menu with green icons
One actions_menu helper now builds the three-dot toggle and dropdown for
seeds, harvests, crops, gardens, posts, photos, activities and comments,
replacing the text "Actions" toggle. Every item carries a green line icon
(menu_icon), and delete uses a darker red ($danger-text, 5.6:1 on white)
so it stays readable; it is still last, under a divider, with its own icon.
The React menus draw the same icons. DESIGN.md now says menu items have icons.

Also fixes the posts menu delete, which confirmed but never sent DELETE.

Closes #4939
Closes #4940
Closes #4942
Closes #4943
Closes #4944
Closes #4945
Closes #4946
Part of #4933

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
2026-10-16 22:21:26 +13:00
Daniel O'Connorandgoogle-labs-jules[bot] 1a79cfa5e5 Fix deletion of photo associations in PhotoAssociationsController (#4906)
Fixes #4902 by updating PhotoAssociationsController#destroy to look up
photos and items directly rather than querying photo_associations table
with PhotoAssociation.item. Updates authorization rules to allow photo
association deletion if the current member owns the photo, owns or can
edit/manage the associated item, or is an admin. Updates the view partial
to render the delete link when the user can edit either the photo or item.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-10-12 13:57:35 +10:30
Brenda WallaceandClaude Sonnet 5 809b213825 Fix the photo edit page's save button, which wouldn't compile
'.= f.submit' is not valid Haml, so the page raised a syntax error. Add a
request spec that renders it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-21 17:40:20 +12:00
Brenda WallaceandClaude Sonnet 5 92f3f0cc36 Convert Bootstrap 3 horizontal forms to Bootstrap 5
The label-beside-input forms (label col-md-2, input col-md-8) relied on
form-horizontal and form-group acting as a row. Each field wrapper is now a real
.row.mb-3, labels are col-form-label, help text is form-text, and the leftover
form-horizontal and form-actions classes, which do nothing in Bootstrap 5, are
dropped.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-20 18:03:36 +12:00
Brenda WallaceandClaude Sonnet 5 742599fea6 Rename Bootstrap 3/4 grid, button and form-group classes
col-xs-N -> col-N, col-md-offset-N -> offset-md-N, row-fluid -> row,
btn-block -> w-100, btn-xs -> btn-sm, form-group -> mb-3 (Bootstrap 5 dropped
form-group), and btn-default (Bootstrap 3) -> btn-outline-secondary. The three
helpers that combined btn-default with btn-secondary keep just btn-secondary.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-20 18:01:45 +12:00
Brenda WallaceandClaude Sonnet 5 be5ed5fca5 Rename Bootstrap 4 utility classes to their Bootstrap 5 names
text-left/right -> text-start/end, float-left/right -> float-start/end,
ml-/mr-/pl-/pr- -> ms-/me-/ps-/pe-, border-left/right -> border-start/end,
dropdown-menu-left/right -> dropdown-menu-start/end, font-weight-* -> fw-*,
font-italic -> fst-italic and sr-only -> visually-hidden. Bootstrap 5 dropped
text-justify, so the site keeps a one-line rule for it.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-20 18:01:00 +12:00
Daniel O'Connorandgoogle-labs-jules[bot] a349ce784a Optimize Like lookups in Likeable concern (#4799)
- Update liked_by? to return false if member is nil and use likes.exists?(member_id: member.id) instead of allocating login name arrays.
- Simplify liked_by_members_names to use members.pluck(:login_name).
- Update app/views/photos/_likes.html.haml to use photo.liked_by?(current_member).
- Add unit tests for liked_by? in spec/models/like_spec.rb.

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2026-09-20 13:46:02 +09:30
google-labs-jules[bot]andCloCkWeRX 3c70ba12ca Allow filtering Flickr photos by tag when adding photos
- Update MemberFlickr concern to support tag-based search using flickr.photos.search
- Update PhotosController to handle the 'tag' parameter
- Add tag search input field to the 'New Photo' view
- Add test case to verify tag filtering in PhotosController spec

Co-authored-by: CloCkWeRX <365751+CloCkWeRX@users.noreply.github.com>
2026-04-28 02:59:21 +00:00
google-labs-jules[bot]andDaniel O'Connor 8564ec7a7c Add comments to photos (#4130)
* Add comments to photos

Extend the photo show page to support comments by logged in users.

- Make the Comment model polymorphic.
- Update the Photo and Post models to have comments.
- Update the comments controller to handle the polymorphic association.
- Update the photo show page to display comments and a comment form.
- Create a reusable comments partial.

* Add migration

* Fix tests

* Fix tests

* Slightly fix tests

* Fix variables

* Add field

* Refactor slightly

* Refactor slightly

* Refactor slightly

* Refactor

* Photos respond to this as well

* Refactor to polymorphic_url

* Rename

* Wrong relationship

* Refactor and fix tests

* Fix relationships

* Fix rendering

* Fix tests

* Fix model tests

* Fix test

* Fix test

* Fix test

* Fix test

* Fix controller spec

* Fix view tests

---------

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-08-24 21:10:16 +09:30
Daniel O'Connor c28b2c0c38 Likes: Add capability to Activities, Plantings, Harvests (#3805)
* Ability to like activities

* Ability to like activities

* Add likeable everywhere

* Refactor

* Remove extra newline

* Typo

* Use classes, not IDs

* Explicitly wait for ajax

* Fix tests

* Move likes under owner

* Add separation

* Move harvest likes near actions

* Rearrange harvests

* Render likes under owner

* Make harvest consistent with other views

* Move planting detail into header

* Move detail into header

* Move detail into header

* Revert

* Fix header

* Move likes into jumotrons

* Fix name

* Change all actions to be after likes and a span

* Cleanup

* Cleanup

* Cleanup

* Cleanup

* i18n and accessibility

* Fix name

* Temporarily make ack into a div

* Update app/views/photos/_actions.html.haml
2024-07-24 17:07:56 +09:30
Daniel O'Connor e7a0d0276f Photos > Show crop link (#3803)
* Fix #3802 Show crop link

* Fix #3802 Show crop link

* Fix missing arg

* Fix missing arg

* Translations
2024-07-17 20:06:32 +09:30
Daniel O'Connor 7d63234841 Upgrade to bootstrap 5 (#3605)
* Upgrade boostrap

* Remove deprecated bootstrap toggles

* Migrate other details

* Avoid accidentally including bootstrap twice

* Avoid accidentally including bootstrap twice

* Avoid accidentally including bootstrap twice

* Fix spec

* Fix spec, where the size of the screen has gone to a partial breakpoint/you can't click on your own name in tablet view

* Fix spec

* Cleanup

* Cleanup
2024-03-10 11:49:22 +10:30
Daniel O'Connor 3738d7cc21 Seeds > Photos - Fix tests not running and fix tests (#3621)
* Rename, so it runs in CI

* Fix specs slightly

* Fix tests
2024-02-04 15:05:43 +10:30
Daniel O'Connor 1f0cfa9b6c Add GBIF to our scientific names, so that our crops can associate creative commons photos (#3559)
* Add GBIF cient

* Add lookup

* Add autocomplete for GBIF lookup

* Add extra detail to scientific names

* Autocomplete

* Add routes

* Rmeove mapping

* Add autocomplete

* Update GBIF data on save

* db/schema

* Style

* Extract service

* Add concern

* Add concern

* Save photos

* Initial coverage

* Coverage

* Add coverage

* Shut up, codeclimate

* Shut up, codeclimate

* Unused

* Shut up, codeclimate

* Apply suggestions from code review

* Remove localhost

* Fix rubocop

* Fix rubocop

* Add UI links

* Add rake

* Indent

* Update Gemfile.lock

* Update lib/tasks/gbif.rake

* Update app/views/crops/_scientific_names.html.haml

* Rubocop

* Expand edit photo form

* Fix error

* Add model validations

* Skip photos without backlinks

* Fix tests

* Add photo words

* Allow blank

* Rubocop and handle invalid legacy data

* Apply suggestions from code review

* Update lib/tasks/gbif.rake
2024-01-21 13:22:25 +10:30
Daniel O'Connor afb07d2cb5 Remove counts from Photos#index
Fix #3560
2024-01-17 18:19:29 +10:30
Brenda Wallace 65eedef3df add back the name of item we're linking to when adding a photo 2021-01-05 19:46:07 +13:00
Brenda Wallace 60c74ddff3 Reconnecting stale flickr auth tokens 2021-01-05 19:46:07 +13:00
Brenda Wallace 61b03c5d71 Make the connecting to flickr more obvious
by making it a button with an icon
2020-10-20 12:03:06 +13:00
Brenda Wallace 9fa3f36436 BUGFUX: member slug needed on photos, to make link 2020-03-02 15:01:34 +13:00
Brenda Wallace 41c90acbbc added missing liked flag to photos/card 2020-01-01 11:43:59 +13:00
Brenda Wallace 6e81f2966d fixed colouring of likes button 2020-01-01 09:24:47 +13:00
Brenda Wallace 54778d9884 Likes popuplating from elastic, no more extra look ups 2020-01-01 08:38:27 +13:00
Brenda Wallace 3835a4f936 photos from ES 2019-12-25 15:52:06 +13:00
Brenda Wallace b0c8b11246 📝 Inline editing and display tidy ups (#2200)
* Inline editing and display tidy ups
2019-10-08 11:06:53 +13:00
Brenda Wallace 7b5698f977 👩‍🌾 Import openfarm data (#2177)
* Pull in openfarm icons, photos, info
* Truncating member location
* tidying up harvest display, and reducing duplication in css styles
* Tiny crop chip
* only show crop charts if there is data to show
* Make the styles more Growstuff
* Fixed links to openfarm
* Updating specs to cope with new photo sources
fix broken garden timeline on some pages
* Update homepage blurb
* Import crop companions
* More fluid page
* use thumbnail unless the source is flickr
* Messing with homepage
* Added crop growing_degree_days
* expect full size url on photos helper spec
* formatted dates from seeds#show
* tidy up places#show
* Move progress bar
* Quicker buttons for approve/reject crops
* Remove kaminari gem
* use crop cards on hierarchy page
* more crops on crops#index
* Wrap photo creation in transaction
* Wrap crop companions in a transaction
2019-09-28 17:23:25 +12:00
Brenda Wallace 5fab14dc8a Fixed associations view 2019-09-21 10:28:52 +12:00
Brenda Wallace 60ceef4fce Only show photo associations if we have any 2019-09-21 09:43:36 +12:00
Brenda Wallace 367377088b Fix specs for photo sources 2019-09-21 09:37:55 +12:00
Brenda Wallace b7321ed46f Add source to photos 2019-09-20 22:26:39 +12:00
Brenda Wallace 548bbf5e57 Merge remote-tracking branch 'upstream/dev' into renamed-photographings-associations
Conflicts:
	db/schema.rb
2019-07-16 12:12:16 +12:00
Brenda Wallace acf58fc5e2 Choose crop photos by most liked 2019-07-15 11:58:46 +00:00
Brenda Wallace e0e10c29dc Renaming photographings to photo associations
now it matches the name of its controller, and it is clearer to understand
2019-07-13 16:13:37 +12:00
Brenda Wallace 9686305857 The like icons are now the buttons 2019-07-12 10:13:24 +12:00
Brenda Wallace a87248a43e DRY up detecting if photo/post already liked 2019-07-12 09:42:45 +12:00
Brenda Wallace 2b1895968b reverting a line
aparently this link works out if you've already like it
2019-07-12 09:32:03 +12:00
Brenda Wallace af0d84d9f1 Updating likes js code 2019-07-12 09:28:45 +12:00
Brenda Wallace 7d1f9c5a3a Most post like into a wrapper in the html 2019-07-12 08:47:22 +12:00
Brenda Wallace 04b4354bda Merge branch 'dev' into likeable-photos 2019-07-09 14:23:50 +12:00
Brenda Wallace cfab855a0f revert adding id 2019-07-08 20:06:48 +12:00
Brenda Wallace 6fc9a858a9 Merge branch 'dev' into likeable-photos 2019-07-08 20:03:41 +12:00
Brenda Wallace 61047df429 Merge branch 'dev' into following-page 2019-07-08 20:02:47 +12:00
Brenda Wallace cbed8cc259 likes for photos 2019-07-08 20:00:55 +12:00
Brenda Wallace 5cef4d728c Adding photos directly to a post 2019-07-08 13:20:57 +12:00
Brenda Wallace 07945e9f69 remove quotes in haml 2019-07-08 10:05:13 +12:00
Brenda Wallace c61f13625c Moved html into haml instead of html_safe in helper 2019-07-08 09:52:33 +12:00