Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 21, 2025

Adds index view for comparing sponsorship plans in a table before publication.

Changes

  • Controller: Added index action fetching plans ordered by rank; redirects after create/update now go to index instead of edit view
  • Routes: Enabled GET /admin/conferences/:slug/plans
  • View: Comparison table with rank, name, summary, price, capacity, guests, booth size, words limit, closes_at, auto_acceptance status (badged), and edit actions
  • Integration: Added "View all plans" link from conference show page

The table layout:

%table.table.table-bordered.table-striped
  %thead
    %tr
      %th Rank | Name | Summary | Price | Capacity | ...
  %tbody
    - @plans.each do |plan|
      %tr
        %td= plan.rank
        %td= plan.name
        ...

Follows existing patterns from admin/announcements#index.

Original prompt

This section details on the original issue you should resolve

<issue_title>create admin/plans#index to compare plans</issue_title>
<issue_description>create admin/plans#index action and view (along with existing new and create) with HTML table to compare created plans to allow humans to review before publication</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI changed the title [WIP] Create admin/plans#index action and view for plan comparison Add admin/plans#index for side-by-side plan comparison Nov 21, 2025
Copilot AI requested a review from sorah November 21, 2025 08:44
Copilot finished work on behalf of sorah November 21, 2025 08:44
@sorah sorah marked this pull request as ready for review November 21, 2025 08:44
@github-actions
Copy link

Slowest examples

Top 10 slowest examples (6.24 seconds, 57.28% of total time)
Example Description Time in seconds
spec/jobs/create_broadcast_deliveries_job_spec.rb:42 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All status all is expected to eq [#<Sponsorship id: 1, accepted_at: "2025-11-21 08:45:33.911680000 +0000", booth_assigned: true, booth...98475000 +0000", url: "https://48.co.invalid", withdrawn_at: "2025-11-21 08:45:34.588543000 +0000">] 0.79775
spec/jobs/create_broadcast_deliveries_job_spec.rb:80 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All plan plan1 is expected to eq [#<Sponsorship id: 193, accepted_at: "2025-11-21 08:45:36.463767000 +0000", booth_assigned: true, boo...1517000 +0000", url: "https://232.co.invalid", withdrawn_at: "2025-11-21 08:45:36.946635000 +0000">] 0.61767
spec/jobs/create_broadcast_deliveries_job_spec.rb:111 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All exhibitor yes is expected to eq [#<Sponsorship id: 337, accepted_at: "2025-11-21 08:45:38.276675000 +0000", booth_assigned: true, boo...1407000 +0000", url: "https://382.co.invalid", withdrawn_at: "2025-11-21 08:45:38.826376000 +0000">] 0.61244
spec/jobs/create_broadcast_deliveries_job_spec.rb:122 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All composite ja pending plan is expected to eq [#<Sponsorship id: 405, accepted_at: nil, booth_assigned: true, booth_requested: false, conference_id...pdated_at: "2025-11-21 08:45:39.180171000 +0000", url: "https://408.co.invalid", withdrawn_at: nil>] 0.61046
spec/jobs/create_broadcast_deliveries_job_spec.rb:60 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All status pending is expected to eq [#<Sponsorship id: 113, accepted_at: nil, booth_assigned: true, booth_requested: false, conference_id...pdated_at: "2025-11-21 08:45:35.654234000 +0000", url: "https://128.co.invalid", withdrawn_at: nil>] 0.60428
spec/jobs/create_broadcast_deliveries_job_spec.rb:131 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All composite ja active plan is expected to eq [#<Sponsorship id: 445, accepted_at: "2025-11-21 08:45:39.650879000 +0000", booth_assigned: true, boo...pdated_at: "2025-11-21 08:45:39.693276000 +0000", url: "https://448.co.invalid", withdrawn_at: nil>] 0.60396
spec/jobs/create_broadcast_deliveries_job_spec.rb:140 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All composite ja accepted exhibitors is expected to eq [#<Sponsorship id: 485, accepted_at: "2025-11-21 08:45:40.151227000 +0000", booth_assigned: true, boo...pdated_at: "2025-11-21 08:45:40.267310000 +0000", url: "https://494.co.invalid", withdrawn_at: nil>] 0.60236
spec/jobs/create_broadcast_deliveries_job_spec.rb:51 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All status active is expected to eq [#<Sponsorship id: 49, accepted_at: "2025-11-21 08:45:34.671339000 +0000", booth_assigned: true, boot...updated_at: "2025-11-21 08:45:34.857812000 +0000", url: "https://64.co.invalid", withdrawn_at: nil>] 0.60087
spec/jobs/create_broadcast_deliveries_job_spec.rb:91 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All locale ja is expected to eq [#<Sponsorship id: 245, accepted_at: "2025-11-21 08:45:37.130920000 +0000", booth_assigned: true, boo...5586000 +0000", url: "https://288.co.invalid", withdrawn_at: "2025-11-21 08:45:37.640762000 +0000">] 0.59706
spec/jobs/create_broadcast_deliveries_job_spec.rb:100 CreateBroadcastDeliveriesJob filters CreateBroadcastDeliveriesJob::Filters::All locale en is expected to eq [#<Sponsorship id: 289, accepted_at: "2025-11-21 08:45:37.680010000 +0000", booth_assigned: true, boo...8464000 +0000", url: "https://332.co.invalid", withdrawn_at: "2025-11-21 08:45:38.193848000 +0000">] 0.59684

@sorah sorah merged commit ca549b7 into master Nov 21, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

create admin/plans#index to compare plans

2 participants