Dandelion is a fair source project. View the code on Github

Commits on Dec 10, 2025
b412e58

✨ Add file browser stats page with size & modification info

f57b725

♻️ Extract admin-only order/ticket routes into dedicated controller

590510e

🚨 (test/video_narration_helper.rb): suppress RuboCop Lint/Debugger warnings on save_screenshot calls

f5a6d37

♻️ Extract admin-only organisation routes into dedicated controller

47f883a

♻️ Extract admin-only event routes into dedicated controller

Move all admin-specific event endpoints from events.rb to new events_admin.rb to separate concerns and keep the public event controller focused on general user actions.

533777c

♻️ Rename helper method to clarify its purchase-only usage
♻️ Drop unused UTM parameters from GoCardless redirect URI

ae0ca00

♻️ Extract video narration helpers into dedicated module
♻️ Include VideoNarrationHelper in affected test files

Commits on Dec 09, 2025
af1541a

📝 Update documentation and helper comments in test files
✅ Add comprehensive test coverage for account creation with context
✅ Add tests for existing account handling during signup
✅ Add tests for ticket booking subscriptions and location-based auto-subscription
🔧 Update CI environment with GOOGLE_MAPS_API_KEY for tests
♻️ Refactor factories to auto-create admin memberships and update location format

e17d7bf

✅ Rename test classes to match their file names

be0f141

♻️ Refactor search controller into helper module for cleaner routing

1370240

♻️ Move purchase logic from dedicated controller into events
♻️ Extract helpers to slim down the POST /events/:id/purchase action

6bb8a41

♻️ Extract duplicated account-creation logic into helper methods

2b46c00

✅ (events_test.rb): update test to assert free registration text instead of selecting quantity

c9cbb0e

✨ Add option to stop ticket sales after event ends

588485e

♻️ Rename @single_free_ticket → @single_free_ticket_type for clarity

The instance variable now correctly refers to a ticket-type record, not a ticket instance, avoiding confusion when reading the view logic.

d606811

🐛 Fix free-ticket detection when price is nil

d6e90c4

🐛 (purchase): replace manual hidden+checkbox inputs with Rails f.check_box helper

403273a

🐛 (purchase.js): broaden selector to catch non-select quantity inputs
✨ (event.erb): rename sticky bottom bar id for clarity
✨ (_purchase.erb): add single-free-ticket flow—hide ticket picker, pre-fill qty, hide payment buttons

Commits on Dec 08, 2025
2312c4d

🐛 (build.erb): always show purchase_url field to simplify form and avoid conditional display

ac45d95

🔒️ (account.rb): prevent admin accounts from being destroyed