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

Commits on Jan 25, 2025
2a36d3f

🔥 Remove payment partial from home signed-in view

This commit removes the payment partial from the home signed-in view, simplifying the user interface and potentially improving page load time. The change may be part of a broader redesign or feature adjustment.

Commits on Jan 23, 2025
fba8e88

🔧 Update StripeRowSplitter to handle multiple % discounts and credit

This commit adds a comment to the StripeRowSplitter class, indicating that the current implementation does not yet support multiple percentage discounts or credit processing. This note serves as a reminder for future improvements and clarifies the current limitations of the row splitting logic.

6af674f

✨ Add interactive dandelion animation to home page

This commit introduces a new interactive dandelion animation to the home page for non-signed-in users. The animation is implemented using HTML5 canvas and JavaScript, providing a visually engaging element that responds to user interactions such as mouse hover and page scroll.


🎨 Refactor home_not_signed_in.erb for improved structure

The home_not_signed_in.erb file has been refactored to remove unnecessary div wrappers and improve the overall structure of the HTML.


♻️ Enhance StripeRowSplitter to handle fixed discounts

The StripeRowSplitter class has been updated to process fixed discounts in addition to percentage discounts. This improvement allows for more accurate handling of various discount types in Stripe transaction data.

Commits on Jan 17, 2025
1b1c454

✨ Add Stripe Connect check for event duplication

This commit introduces a new condition to the event duplication process:

  • Adds a check for Stripe Connect setup before allowing event duplication
  • Renders a Stripe Connect setup page if the organization lacks necessary Stripe configuration
  • Improves the flow for organizations to complete their Stripe integration before duplicating events

The change ensures proper Stripe integration for smoother payment processing in duplicated events.

0aa3d01

🐛 Fix incorrect method calls in feedback summary prompts

This commit corrects the method calls in the feedback summary prompts for both account and activity models. The 'feedbacks_joined' method is now properly called on the respective objects (account and activity) instead of being referenced as a local variable.

0557f02

🐛 Trim whitespace from last paragraph in feedback summaries

This commit fixes a minor issue in both account and activity feedback summaries by trimming whitespace from the last paragraph. This ensures consistent formatting and prevents potential issues with trailing spaces.

Commits on Jan 16, 2025
01eb3ee

🐛 Handle Mechanize::ResponseCodeError in EVM transaction fetching

This commit adds error handling for Mechanize::ResponseCodeError when fetching EVM transactions. The change allows the script to continue execution even if a request fails, improving overall robustness.

23e6914

🐛 Fix currency parsing in StripeRowSplitter

Update regex to handle decimal points in currency values, ensuring correct splitting of ticket information containing prices with pence.

87828a0

🐛 Fix parsing of ticket information with commas in prices

This commit improves the parsing of ticket information in the StripeRowSplitter class. It now correctly handles cases where ticket prices contain commas as thousand separators, preventing incorrect splitting of the ticket information.

739eb35

🐛 Improve number parsing in StripeRowSplitter to handle commas in prices

This commit enhances the StripeRowSplitter class to correctly parse prices and donation amounts that include commas as thousand separators. This fix ensures that the system can handle a wider range of currency formats, improving its robustness and reliability when processing financial data.

Commits on Jan 15, 2025
5688945

🐛 Improve error handling in EvmTransactions and OrganisationAccounting

This commit enhances error handling in two modules:

  1. In EvmTransactions:

    • Remove specific rescue for Mechanize::ResponseCodeError
    • Add general rescue for StandardError with Airbrake notification
  2. In OrganisationAccounting:

    • Add error handling for Stripe payment creation
    • Notify Airbrake of any errors during payment processing

These changes will help catch and report a wider range of errors, improving the robustness and monitoring of the application.

Commits on Jan 14, 2025
96f452e

✨ Add payment check for event duplication

This commit adds a new feature to check if an organization has paid before allowing event duplication. If the organization has a Stripe client ID but hasn't paid, users are redirected to the contribution page instead of duplicating the event. This ensures that only paid organizations can use the event duplication feature.

5dcb2f2

🚚 Move donations_to_organisation field from schema to form fields

This commit moves the 'donations_to_organisation' field from the schema definition to the form fields section. This change allows the field to be included in forms without being stored directly in the database schema.

31781b5

🚚 Move donations_to_dandelion logic from Organisation to Event model

This commit refactors the donation handling logic by moving the donations_to_dandelion? method from the Organisation model to the Event model. This change allows for more granular control over donation destinations on a per-event basis, improving flexibility in the system.

Commits on Jan 13, 2025
5531b76

✨ Add notification for finished monthly donations

This commit introduces a new feature to notify administrators when a monthly donation ends. It includes the following changes:

  1. Create a new email template for finished monthly donations
  2. Implement a method to send notifications for ended donations
  3. Update GoCardless and Patreon subscription handling to use the new notification system when a donation is terminated
Commits on Jan 12, 2025
3b236f8

🔥 Comment out second price calculation in EventBoostBid model

This change removes the functionality of using the last winning bid as the second price in the EventBoostBid model. The commented-out line suggests that the second price auction mechanism is being reconsidered or modified.

98d8489

✨ Implement second-price auction for event boost bids

This commit introduces a new auction mechanism for event boosts:

  1. Add Google's Gemini model as the new default in OpenRouter
  2. Refactor the boost method to implement a second-price auction:
    • Reset all previously boosted events
    • Select top 5 bids for today
    • Set the price to the 5th highest bid (or last if less than 5)
    • Charge winners the second price instead of their bid amount
    • Mark winning events as boosted

These changes improve the fairness and efficiency of the boost system.

2f6ec54

🔥 Remove unused summary method from Organisation model


♻️ Refactor event boost bid process

  • Reset boosted status for all events
  • Implement top 5 event boost selection
  • Prepare for future charge implementation
df97fd2

🎨 Improve structure of event labels in _block_main.erb

abbbe6e

✨ Add event boosting and featuring functionality

This commit introduces a new feature for event boosting and featuring:

  • Add EventBoostBid model for managing event boost bids
  • Implement sorting options for featured events in controllers
  • Display featured/boosted labels in event views
  • Add 'Featured' sorting option in event view options
  • Update Event model with boosting-related fields and associations