effective_events 0.12.5 → 0.13.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/app/datatables/effective_event_registrations_datatable.rb +6 -5
 - data/app/models/concerns/effective_events_event_registration.rb +28 -10
 - data/app/models/effective/event.rb +30 -0
 - data/app/views/admin/events/_form.html.haml +0 -5
 - data/app/views/admin/events/_form_event.html.haml +27 -10
 - data/app/views/effective/event_registrants/_fields.html.haml +2 -0
 - data/app/views/effective/event_registrants/_fields_member_or_non_member.html.haml +1 -1
 - data/app/views/effective/event_registrations/_dashboard.html.haml +28 -11
 - data/app/views/effective/event_registrations/_summary.html.haml +5 -0
 - data/app/views/effective/event_registrations/addons.html.haml +4 -0
 - data/app/views/effective/event_registrations/checkout.html.haml +8 -6
 - data/app/views/effective/event_registrations/submitted.html.haml +12 -0
 - data/app/views/effective/event_registrations/tickets.html.haml +4 -0
 - data/db/migrate/101_create_effective_events.rb +3 -0
 - data/lib/effective_events/version.rb +1 -1
 - metadata +2 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 3436a306cb79a123bec79007b2730897d0bb3566dc1c0f2dbd6a31c5eb608a74
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 91c60cfc2122eae660a4fc5151f395bf9709bf00c0ccec0f50915e3a2c84f3a9
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 972bffdad5a0d13913ec5ab267c82308e1808d5217d0717bd2dba5f823f086974678e32e1c93a9d5ca47165941f006e9877748c2290b681711d5527a9661bbfb
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: c268aa57f91a45d32af129d493ebf5a3dfe7dc4941e47cfb13d1efcf02353ce8c7d2fbea1ba01c073d9f1365e8284d2c00e03355deb7e1791ca997440447615c
         
     | 
| 
         @@ -21,13 +21,9 @@ class EffectiveEventRegistrationsDatatable < Effective::Datatable 
     | 
|
| 
       21 
21 
     | 
    
         
             
                col :orders, action: :show, visible: false, search: :string
         
     | 
| 
       22 
22 
     | 
    
         | 
| 
       23 
23 
     | 
    
         
             
                actions_col(actions: []) do |er|
         
     | 
| 
       24 
     | 
    
         
            -
                  if er.draft?
         
     | 
| 
       25 
     | 
    
         
            -
                    dropdown_link_to('Continue', effective_events.event_event_registration_build_path(er.event, er, er.next_step), 'data-turbolinks' => false)
         
     | 
| 
       26 
     | 
    
         
            -
                    dropdown_link_to('Delete', effective_events.event_event_registration_path(er.event, er), 'data-confirm': "Really delete #{er}?", 'data-method': :delete)
         
     | 
| 
       27 
     | 
    
         
            -
                  elsif er.submitted?
         
     | 
| 
      
 24 
     | 
    
         
            +
                  if er.draft? || er.submitted?
         
     | 
| 
       28 
25 
     | 
    
         
             
                    dropdown_link_to('Continue', effective_events.event_event_registration_build_path(er.event, er, er.next_step), 'data-turbolinks' => false)
         
     | 
| 
       29 
26 
     | 
    
         
             
                  elsif er.completed?
         
     | 
| 
       30 
     | 
    
         
            -
             
     | 
| 
       31 
27 
     | 
    
         
             
                    if EffectiveResources.authorized?(self, :update_blank_registrants, er)
         
     | 
| 
       32 
28 
     | 
    
         
             
                      dropdown_link_to('Continue', effective_events.event_event_registration_path(er.event, er))
         
     | 
| 
       33 
29 
     | 
    
         
             
                    else
         
     | 
| 
         @@ -40,6 +36,11 @@ class EffectiveEventRegistrationsDatatable < Effective::Datatable 
     | 
|
| 
       40 
36 
     | 
    
         
             
                      dropdown_link_to('Register Again', url)
         
     | 
| 
       41 
37 
     | 
    
         
             
                    end
         
     | 
| 
       42 
38 
     | 
    
         
             
                  end
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                  if EffectiveResources.authorized?(self, :destroy, er)
         
     | 
| 
      
 41 
     | 
    
         
            +
                    dropdown_link_to('Delete', effective_events.event_event_registration_path(er.event, er), 'data-confirm': "Really delete #{er}?", 'data-method': :delete)
         
     | 
| 
      
 42 
     | 
    
         
            +
                  end
         
     | 
| 
      
 43 
     | 
    
         
            +
             
     | 
| 
       43 
44 
     | 
    
         
             
                end
         
     | 
| 
       44 
45 
     | 
    
         
             
              end
         
     | 
| 
       45 
46 
     | 
    
         | 
| 
         @@ -92,6 +92,9 @@ module EffectiveEventsEventRegistration 
     | 
|
| 
       92 
92 
     | 
    
         
             
                scope :in_progress, -> { where(status: [:draft, :submitted]) }
         
     | 
| 
       93 
93 
     | 
    
         
             
                scope :done, -> { where(status: :completed) }
         
     | 
| 
       94 
94 
     | 
    
         | 
| 
      
 95 
     | 
    
         
            +
                scope :delayed, -> { where(event_id: Effective::Event.delayed) }
         
     | 
| 
      
 96 
     | 
    
         
            +
                scope :not_delayed, -> { where.not(event_id: Effective::Event.delayed) }
         
     | 
| 
      
 97 
     | 
    
         
            +
             
     | 
| 
       95 
98 
     | 
    
         
             
                scope :for, -> (user) { where(owner: user) }
         
     | 
| 
       96 
99 
     | 
    
         | 
| 
       97 
100 
     | 
    
         
             
                # All Steps validations
         
     | 
| 
         @@ -125,19 +128,25 @@ module EffectiveEventsEventRegistration 
     | 
|
| 
       125 
128 
     | 
    
         
             
                # If we're submitted. Try to move to completed.
         
     | 
| 
       126 
129 
     | 
    
         
             
                before_save(if: -> { submitted? }) { try_completed! }
         
     | 
| 
       127 
130 
     | 
    
         | 
| 
       128 
     | 
    
         
            -
                def  
     | 
| 
       129 
     | 
    
         
            -
                   
     | 
| 
      
 131 
     | 
    
         
            +
                def delayed_payment_date_upcoming?
         
     | 
| 
      
 132 
     | 
    
         
            +
                  event&.delayed_payment_date_upcoming?
         
     | 
| 
       130 
133 
     | 
    
         
             
                end
         
     | 
| 
       131 
134 
     | 
    
         | 
| 
       132 
135 
     | 
    
         
             
                def can_visit_step?(step)
         
     | 
| 
       133 
136 
     | 
    
         
             
                  return false if step == :complete && !completed?
         
     | 
| 
       134 
137 
     | 
    
         
             
                  return true if step == :complete && completed?
         
     | 
| 
       135 
138 
     | 
    
         | 
| 
       136 
     | 
    
         
            -
                  # If  
     | 
| 
       137 
     | 
    
         
            -
                  if submitted? && ! 
     | 
| 
      
 139 
     | 
    
         
            +
                  # If submitted with a cheque/phone deferred (but not delayed) processor then lock down the steps.
         
     | 
| 
      
 140 
     | 
    
         
            +
                  if submitted? && !delayed_payment_date_upcoming?
         
     | 
| 
       138 
141 
     | 
    
         
             
                    return (step == :submitted) 
         
     | 
| 
       139 
142 
     | 
    
         
             
                  end
         
     | 
| 
       140 
143 
     | 
    
         | 
| 
      
 144 
     | 
    
         
            +
                  # Add ability to edit registrations up until payment date
         
     | 
| 
      
 145 
     | 
    
         
            +
                  if submitted? && delayed_payment_date_upcoming?
         
     | 
| 
      
 146 
     | 
    
         
            +
                    return can_revisit_completed_steps(step)
         
     | 
| 
      
 147 
     | 
    
         
            +
                  end
         
     | 
| 
      
 148 
     | 
    
         
            +
             
     | 
| 
      
 149 
     | 
    
         
            +
                  # Default
         
     | 
| 
       141 
150 
     | 
    
         
             
                  can_revisit_completed_steps(step)
         
     | 
| 
       142 
151 
     | 
    
         
             
                end
         
     | 
| 
       143 
152 
     | 
    
         | 
| 
         @@ -150,6 +159,10 @@ module EffectiveEventsEventRegistration 
     | 
|
| 
       150 
159 
     | 
    
         
             
                  with_outstanding_coupon_fees(submit_fees)
         
     | 
| 
       151 
160 
     | 
    
         
             
                end
         
     | 
| 
       152 
161 
     | 
    
         | 
| 
      
 162 
     | 
    
         
            +
                def delayed_payment_attributes
         
     | 
| 
      
 163 
     | 
    
         
            +
                  { delayed_payment: event&.delayed_payment, delayed_payment_date: event&.delayed_payment_date }
         
     | 
| 
      
 164 
     | 
    
         
            +
                end
         
     | 
| 
      
 165 
     | 
    
         
            +
             
     | 
| 
       153 
166 
     | 
    
         
             
                # All Fees and Orders
         
     | 
| 
       154 
167 
     | 
    
         
             
                def submit_fees
         
     | 
| 
       155 
168 
     | 
    
         
             
                  if defined?(EffectiveMemberships)
         
     | 
| 
         @@ -186,6 +199,16 @@ module EffectiveEventsEventRegistration 
     | 
|
| 
       186 
199 
     | 
    
         
             
                completed?
         
     | 
| 
       187 
200 
     | 
    
         
             
              end
         
     | 
| 
       188 
201 
     | 
    
         | 
| 
      
 202 
     | 
    
         
            +
              def tickets!
         
     | 
| 
      
 203 
     | 
    
         
            +
                after_commit { update_submit_fees_and_order! } if submit_order.present?
         
     | 
| 
      
 204 
     | 
    
         
            +
                save!
         
     | 
| 
      
 205 
     | 
    
         
            +
              end
         
     | 
| 
      
 206 
     | 
    
         
            +
             
     | 
| 
      
 207 
     | 
    
         
            +
              def addons!
         
     | 
| 
      
 208 
     | 
    
         
            +
                after_commit { update_submit_fees_and_order! } if submit_order.present?
         
     | 
| 
      
 209 
     | 
    
         
            +
                save!
         
     | 
| 
      
 210 
     | 
    
         
            +
              end
         
     | 
| 
      
 211 
     | 
    
         
            +
             
     | 
| 
       189 
212 
     | 
    
         
             
              def try_completed!
         
     | 
| 
       190 
213 
     | 
    
         
             
                return false unless submitted?
         
     | 
| 
       191 
214 
     | 
    
         
             
                return false unless submit_order&.purchased?
         
     | 
| 
         @@ -221,12 +244,7 @@ module EffectiveEventsEventRegistration 
     | 
|
| 
       221 
244 
     | 
    
         
             
                if event_registrants.blank?
         
     | 
| 
       222 
245 
     | 
    
         
             
                  raise('expected owner and event to be present') unless owner && event
         
     | 
| 
       223 
246 
     | 
    
         | 
| 
       224 
     | 
    
         
            -
                  event_registrants.build(
         
     | 
| 
       225 
     | 
    
         
            -
                    first_name: owner.try(:first_name),
         
     | 
| 
       226 
     | 
    
         
            -
                    last_name: owner.try(:last_name),
         
     | 
| 
       227 
     | 
    
         
            -
                    email: owner.try(:email),
         
     | 
| 
       228 
     | 
    
         
            -
                    company: owner.try(:company)
         
     | 
| 
       229 
     | 
    
         
            -
                  )
         
     | 
| 
      
 247 
     | 
    
         
            +
                  event_registrants.build()
         
     | 
| 
       230 
248 
     | 
    
         
             
                end
         
     | 
| 
       231 
249 
     | 
    
         | 
| 
       232 
250 
     | 
    
         
             
                event_registrants
         
     | 
| 
         @@ -68,6 +68,10 @@ module Effective 
     | 
|
| 
       68 
68 
     | 
    
         | 
| 
       69 
69 
     | 
    
         
             
                  allow_blank_registrants     :boolean
         
     | 
| 
       70 
70 
     | 
    
         | 
| 
      
 71 
     | 
    
         
            +
                  # Delayed Payments feature
         
     | 
| 
      
 72 
     | 
    
         
            +
                  delayed_payment             :boolean
         
     | 
| 
      
 73 
     | 
    
         
            +
                  delayed_payment_date        :date
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
       71 
75 
     | 
    
         
             
                  # Access
         
     | 
| 
       72 
76 
     | 
    
         
             
                  roles_mask             :integer
         
     | 
| 
       73 
77 
     | 
    
         
             
                  authenticate_user      :boolean
         
     | 
| 
         @@ -127,14 +131,23 @@ module Effective 
     | 
|
| 
       127 
131 
     | 
    
         
             
                  scope
         
     | 
| 
       128 
132 
     | 
    
         
             
                }
         
     | 
| 
       129 
133 
     | 
    
         | 
| 
      
 134 
     | 
    
         
            +
                scope :delayed, -> { where(delayed_payment: true).where.not(delayed_payment_date: nil) }
         
     | 
| 
      
 135 
     | 
    
         
            +
                scope :delayed_payment_date_past, -> { delayed.where(arel_table[:delayed_payment_date].lteq(Time.zone.today)) }
         
     | 
| 
      
 136 
     | 
    
         
            +
                scope :delayed_payment_date_upcoming, -> { delayed.where(arel_table[:delayed_payment_date].gt(Time.zone.today)) }
         
     | 
| 
      
 137 
     | 
    
         
            +
             
     | 
| 
       130 
138 
     | 
    
         
             
                validates :title, presence: true, length: { maximum: 255 }
         
     | 
| 
       131 
139 
     | 
    
         
             
                validates :published_at, presence: true, unless: -> { draft? }
         
     | 
| 
       132 
140 
     | 
    
         
             
                validates :start_at, presence: true
         
     | 
| 
       133 
141 
     | 
    
         
             
                validates :end_at, presence: true
         
     | 
| 
      
 142 
     | 
    
         
            +
                validates :external_registration_url, url: true
         
     | 
| 
       134 
143 
     | 
    
         | 
| 
       135 
144 
     | 
    
         
             
                validates :registration_start_at, presence: true, unless: -> { external_registration? }
         
     | 
| 
       136 
145 
     | 
    
         
             
                validates :registration_end_at, presence: true, unless: -> { external_registration? }
         
     | 
| 
       137 
146 
     | 
    
         | 
| 
      
 147 
     | 
    
         
            +
                validates :delayed_payment, inclusion: { in: [false], message: "cannot be used for external registration events" }, if: -> { external_registration? }
         
     | 
| 
      
 148 
     | 
    
         
            +
                validates :delayed_payment_date, presence: true, if: -> { delayed_payment? }
         
     | 
| 
      
 149 
     | 
    
         
            +
                validates :delayed_payment_date, absence: true, unless: -> { delayed_payment? }
         
     | 
| 
      
 150 
     | 
    
         
            +
             
     | 
| 
       138 
151 
     | 
    
         
             
                validate(if: -> { start_at && end_at }) do
         
     | 
| 
       139 
152 
     | 
    
         
             
                  errors.add(:end_at, 'must be after start date') unless start_at < end_at
         
     | 
| 
       140 
153 
     | 
    
         
             
                end
         
     | 
| 
         @@ -151,6 +164,14 @@ module Effective 
     | 
|
| 
       151 
164 
     | 
    
         
             
                  errors.add(:early_bird_end_at, 'must be before start date') unless early_bird_end_at < start_at
         
     | 
| 
       152 
165 
     | 
    
         
             
                end
         
     | 
| 
       153 
166 
     | 
    
         | 
| 
      
 167 
     | 
    
         
            +
                validate(if: -> { delayed_payment? }) do
         
     | 
| 
      
 168 
     | 
    
         
            +
                  errors.add(:delayed_payment, 'no delayed payment processor available') unless EffectiveOrders.try(:delayed?)
         
     | 
| 
      
 169 
     | 
    
         
            +
                end
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
                validate(if: -> { delayed_payment_date && registration_end_at }) do
         
     | 
| 
      
 172 
     | 
    
         
            +
                  errors.add(:delayed_payment_date, 'must be after registration end date') unless registration_end_at < delayed_payment_date
         
     | 
| 
      
 173 
     | 
    
         
            +
                end
         
     | 
| 
      
 174 
     | 
    
         
            +
             
     | 
| 
       154 
175 
     | 
    
         
             
                validate(if: -> { file.attached? }) do
         
     | 
| 
       155 
176 
     | 
    
         
             
                  errors.add(:file, 'must be an image') unless file.image?
         
     | 
| 
       156 
177 
     | 
    
         
             
                end
         
     | 
| 
         @@ -266,5 +287,14 @@ module Effective 
     | 
|
| 
       266 
287 
     | 
    
         
             
                  (registered + quantity) <= event_product.capacity
         
     | 
| 
       267 
288 
     | 
    
         
             
                end
         
     | 
| 
       268 
289 
     | 
    
         | 
| 
      
 290 
     | 
    
         
            +
                def delayed?
         
     | 
| 
      
 291 
     | 
    
         
            +
                  delayed_payment? && delayed_payment_date.present?
         
     | 
| 
      
 292 
     | 
    
         
            +
                end
         
     | 
| 
      
 293 
     | 
    
         
            +
             
     | 
| 
      
 294 
     | 
    
         
            +
                def delayed_payment_date_upcoming?
         
     | 
| 
      
 295 
     | 
    
         
            +
                  return false unless delayed?
         
     | 
| 
      
 296 
     | 
    
         
            +
                  delayed_payment_date > Time.zone.now.to_date
         
     | 
| 
      
 297 
     | 
    
         
            +
                end
         
     | 
| 
      
 298 
     | 
    
         
            +
             
     | 
| 
       269 
299 
     | 
    
         
             
              end
         
     | 
| 
       270 
300 
     | 
    
         
             
            end
         
     | 
| 
         @@ -16,11 +16,6 @@ 
     | 
|
| 
       16 
16 
     | 
    
         
             
                  - datatable = Admin::EffectiveEventProductsDatatable.new(event_id: event.id)
         
     | 
| 
       17 
17 
     | 
    
         
             
                  = render_inline_datatable(datatable)
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
       19 
     | 
    
         
            -
                -# = tab 'Registrations' do
         
     | 
| 
       20 
     | 
    
         
            -
                -#   %h2 Registrations
         
     | 
| 
       21 
     | 
    
         
            -
                -#   - datatable = Admin::EffectiveEventRegistrationsDatatable.new(event_id: event.id)
         
     | 
| 
       22 
     | 
    
         
            -
                -#   .mb-4= render_inline_datatable(datatable)
         
     | 
| 
       23 
     | 
    
         
            -
             
     | 
| 
       24 
19 
     | 
    
         
             
                = tab 'Registrants & Addons' do
         
     | 
| 
       25 
20 
     | 
    
         
             
                  %h2 Registrants
         
     | 
| 
       26 
21 
     | 
    
         
             
                  .mb-4
         
     | 
| 
         @@ -22,19 +22,36 @@ 
     | 
|
| 
       22 
22 
     | 
    
         
             
                .col-md-6= f.datetime_field :start_at, label: "Event Start"
         
     | 
| 
       23 
23 
     | 
    
         
             
                .col-md-6= f.datetime_field :end_at, label: "Event End"
         
     | 
| 
       24 
24 
     | 
    
         | 
| 
       25 
     | 
    
         
            -
              % 
     | 
| 
       26 
     | 
    
         
            -
              %p The online registration and purchase for this event will be available between:
         
     | 
| 
       27 
     | 
    
         
            -
              = f.datetime_field :registration_start_at, label: "Registration Start"
         
     | 
| 
       28 
     | 
    
         
            -
              = f.datetime_field :registration_end_at, label: "Registration End"
         
     | 
| 
       29 
     | 
    
         
            -
              = f.datetime_field :early_bird_end_at, label: "Early Bird End",
         
     | 
| 
       30 
     | 
    
         
            -
                hint: 'Event tickets can be purchased for early bird pricing before this date. Afterwards regular pricing applies.'
         
     | 
| 
      
 25 
     | 
    
         
            +
              %hr
         
     | 
| 
       31 
26 
     | 
    
         | 
| 
       32 
     | 
    
         
            -
               
     | 
| 
      
 27 
     | 
    
         
            +
              .row
         
     | 
| 
      
 28 
     | 
    
         
            +
                .col-md-6
         
     | 
| 
      
 29 
     | 
    
         
            +
                  %h2 Registration
         
     | 
| 
      
 30 
     | 
    
         
            +
                  %p The online registration and purchase for this event will be available between:
         
     | 
| 
      
 31 
     | 
    
         
            +
                  = f.datetime_field :registration_start_at, label: "Registration Start"
         
     | 
| 
      
 32 
     | 
    
         
            +
                  = f.datetime_field :registration_end_at, label: "Registration End"
         
     | 
| 
      
 33 
     | 
    
         
            +
                  = f.datetime_field :early_bird_end_at, label: "Early Bird End",
         
     | 
| 
      
 34 
     | 
    
         
            +
                    hint: 'Event tickets can be purchased for early bird pricing before this date. Afterwards regular pricing applies.'
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
                  = f.check_box :allow_blank_registrants, label: "Yes, allow blank ticket registrations", hint: "Allow event tickets to be purchased without adding a name. The purchaser may return to add names later."
         
     | 
| 
      
 37 
     | 
    
         
            +
             
     | 
| 
      
 38 
     | 
    
         
            +
                  = f.check_box :external_registration, label: "Yes, the registration for this event is handled by another website"
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                  = f.show_if(:external_registration, true) do
         
     | 
| 
      
 41 
     | 
    
         
            +
                    = f.url_field :external_registration_url, hint: "The url for external event registration. Must start with http(s)://"
         
     | 
| 
      
 42 
     | 
    
         
            +
                
         
     | 
| 
      
 43 
     | 
    
         
            +
                .col-md-6
         
     | 
| 
      
 44 
     | 
    
         
            +
                  - if EffectiveOrders.try(:delayed?)
         
     | 
| 
      
 45 
     | 
    
         
            +
                    %h2 Delayed Payments
         
     | 
| 
      
 46 
     | 
    
         
            +
                    %p The online payment for this event will be charged as follows:
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                    = f.check_box :delayed_payment, label: "Yes, this is a delayed payment event", hint: "Allow registrations for this event without paying immediately.<br>A secure token representing their credit card will be saved and charged automatically on the following payment date."
         
     | 
| 
       33 
49 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
             
     | 
| 
      
 50 
     | 
    
         
            +
                    = f.hide_if(:delayed_payment, true) do
         
     | 
| 
      
 51 
     | 
    
         
            +
                      = f.hidden_field :delayed_payment_date, value: ''
         
     | 
| 
       35 
52 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
             
     | 
| 
       37 
     | 
    
         
            -
             
     | 
| 
      
 53 
     | 
    
         
            +
                    = f.show_if(:delayed_payment, true) do
         
     | 
| 
      
 54 
     | 
    
         
            +
                      = f.date_field :delayed_payment_date, label: "Delayed Payment Charge Date", hint: "The date that the credit card will be charged. Expects a date in the future, after the registration end date. Changing this date will not affect previously generated event registration delayed payment orders."
         
     | 
| 
       38 
55 
     | 
    
         | 
| 
       39 
56 
     | 
    
         
             
              = f.submit do
         
     | 
| 
       40 
57 
     | 
    
         
             
                = f.save 'Save'
         
     | 
| 
         @@ -22,6 +22,8 @@ 
     | 
|
| 
       22 
22 
     | 
    
         
             
                        = f.check_box :member_registrant, label: 'Yes, this ticket will be for a member'
         
     | 
| 
       23 
23 
     | 
    
         | 
| 
       24 
24 
     | 
    
         
             
                    = f.show_if(:blank_registrant, false, nested: true) do
         
     | 
| 
      
 25 
     | 
    
         
            +
                      %hr
         
     | 
| 
      
 26 
     | 
    
         
            +
             
     | 
| 
       25 
27 
     | 
    
         
             
                      - if ticket.regular?
         
     | 
| 
       26 
28 
     | 
    
         
             
                        = render('effective/event_registrants/fields_regular', f: f)
         
     | 
| 
       27 
29 
     | 
    
         
             
                      - elsif ticket.member_only?
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            - # Choose member
         
     | 
| 
       2 
2 
     | 
    
         
             
            = f.hidden_field :user_type, value: current_user.class.name
         
     | 
| 
       3 
     | 
    
         
            -
            = f.select :user_id, effective_events_event_registrant_user_collection(f.object),  
     | 
| 
      
 3 
     | 
    
         
            +
            = f.select :user_id, effective_events_event_registrant_user_collection(f.object), hint: effective_events_event_registrant_user_hint()
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            = f.show_if(:user_id, '', nested: true) do
         
     | 
| 
       6 
6 
     | 
    
         
             
              %p.text-center - or -
         
     | 
| 
         @@ -6,17 +6,34 @@ 
     | 
|
| 
       6 
6 
     | 
    
         
             
            - if registration.present?
         
     | 
| 
       7 
7 
     | 
    
         
             
              %h2 In Progress Event Registrations
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
               
     | 
| 
       10 
     | 
    
         
            -
                 
     | 
| 
       11 
     | 
    
         
            -
             
     | 
| 
       12 
     | 
    
         
            -
             
     | 
| 
       13 
     | 
    
         
            -
             
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
       16 
     | 
    
         
            -
             
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
       18 
     | 
    
         
            -
             
     | 
| 
       19 
     | 
    
         
            -
             
     | 
| 
      
 9 
     | 
    
         
            +
              - if registration.draft?
         
     | 
| 
      
 10 
     | 
    
         
            +
                %p
         
     | 
| 
      
 11 
     | 
    
         
            +
                  Your registration for
         
     | 
| 
      
 12 
     | 
    
         
            +
                  = link_to(registration.event, effective_events.event_path(registration.event))
         
     | 
| 
      
 13 
     | 
    
         
            +
                  is incomplete
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                %p
         
     | 
| 
      
 16 
     | 
    
         
            +
                  Please
         
     | 
| 
      
 17 
     | 
    
         
            +
                  = link_to("Continue registration for #{registration.event}", effective_events.event_event_registration_build_path(registration.event, registration, registration.next_step), 'data-turbolinks' => false, class: 'btn btn-primary')
         
     | 
| 
      
 18 
     | 
    
         
            +
                  or you can
         
     | 
| 
      
 19 
     | 
    
         
            +
                  = link_to('Abandon registration', effective_events.event_event_registration_path(registration.event, registration), 'data-confirm': "Really delete registration for #{registration.event}?", 'data-method': :delete, class: 'btn btn-danger')
         
     | 
| 
      
 20 
     | 
    
         
            +
                  to register for another event.
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
              - if registration.submitted?
         
     | 
| 
      
 23 
     | 
    
         
            +
                %p 
         
     | 
| 
      
 24 
     | 
    
         
            +
                  Your registration for
         
     | 
| 
      
 25 
     | 
    
         
            +
                  = link_to(registration.event, effective_events.event_path(registration.event))
         
     | 
| 
      
 26 
     | 
    
         
            +
                  has been submitted. You're all done!
         
     | 
| 
      
 27 
     | 
    
         
            +
             
     | 
| 
      
 28 
     | 
    
         
            +
              - if registration.submitted? && registration.event.delayed_payment_date_upcoming?
         
     | 
| 
      
 29 
     | 
    
         
            +
                %p= registration.submit_order.delayed_payment_info
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
              - if registration.submitted? && registration.event.delayed_payment_date_upcoming? && registration.can_visit_step?(:tickets)
         
     | 
| 
      
 32 
     | 
    
         
            +
                %p 
         
     | 
| 
      
 33 
     | 
    
         
            +
                  You can #{link_to('change your registration', effective_events.event_event_registration_build_path(registration.event, registration, :tickets))} until the payment date
         
     | 
| 
      
 34 
     | 
    
         
            +
                  or
         
     | 
| 
      
 35 
     | 
    
         
            +
                  = link_to('abandon registration', effective_events.event_event_registration_path(registration.event, registration), 'data-confirm': "Really delete registration for #{registration.event}?", 'data-method': :delete)
         
     | 
| 
      
 36 
     | 
    
         
            +
                  to cancel and register for another event.
         
     | 
| 
       20 
37 
     | 
    
         | 
| 
       21 
38 
     | 
    
         
             
              %hr
         
     | 
| 
       22 
39 
     | 
    
         | 
| 
         @@ -16,4 +16,8 @@ 
     | 
|
| 
       16 
16 
     | 
    
         
             
                    = f.has_many :event_addons, f.object.build_event_addons do |fp|
         
     | 
| 
       17 
17 
     | 
    
         
             
                      = render('effective/event_addons/fields', f: fp, event: f.object.event)
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
                    - if resource.delayed_payment_date_upcoming? && resource.submit_order.present?
         
     | 
| 
      
 20 
     | 
    
         
            +
                      .alert.alert-info If the price of your registration changes, your order will be automatically updated.
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                    %hr
         
     | 
| 
       19 
23 
     | 
    
         
             
                    = f.save 'Save and Continue'
         
     | 
| 
         @@ -2,9 +2,8 @@ 
     | 
|
| 
       2 
2 
     | 
    
         
             
              = render 'effective/event_registrations/content', resource: resource
         
     | 
| 
       3 
3 
     | 
    
         | 
| 
       4 
4 
     | 
    
         
             
              - if resource.submit_order.deferred?
         
     | 
| 
       5 
     | 
    
         
            -
                 
     | 
| 
       6 
     | 
    
         
            -
                  . 
     | 
| 
       7 
     | 
    
         
            -
                    = render_checkout_step2(resource.submit_order, purchased_url: wizard_path(:complete), deferred_url: wizard_path(:submitted), declined_url: wizard_path(:checkout))
         
     | 
| 
      
 5 
     | 
    
         
            +
                = card do
         
     | 
| 
      
 6 
     | 
    
         
            +
                  = render_checkout_step2(resource.submit_order, purchased_url: wizard_path(:complete), deferred_url: wizard_path(:submitted), declined_url: wizard_path(:checkout))
         
     | 
| 
       8 
7 
     | 
    
         
             
              - elsif resource.event.registerable? == false
         
     | 
| 
       9 
8 
     | 
    
         
             
                .alert.alert-danger Your selected event is no longer available for registration.
         
     | 
| 
       10 
9 
     | 
    
         
             
              - elsif resource.unavailable_event_tickets.present?
         
     | 
| 
         @@ -12,7 +11,10 @@ 
     | 
|
| 
       12 
11 
     | 
    
         
             
              - elsif resource.unavailable_event_products.present?
         
     | 
| 
       13 
12 
     | 
    
         
             
                .alert.alert-danger Your selected number of event add-ons are no longer available.
         
     | 
| 
       14 
13 
     | 
    
         
             
              - else
         
     | 
| 
       15 
     | 
    
         
            -
                 
     | 
| 
       16 
     | 
    
         
            -
                  . 
     | 
| 
       17 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
                = card do
         
     | 
| 
      
 15 
     | 
    
         
            +
                  = render_checkout_step2(resource.submit_order, purchased_url: wizard_path(:complete), deferred_url: wizard_path(:submitted), declined_url: wizard_path(:checkout))
         
     | 
| 
      
 16 
     | 
    
         
            +
             
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
              - if resource.submit_order.delayed? && resource.submit_order.deferred?
         
     | 
| 
      
 19 
     | 
    
         
            +
                = link_to 'Save and Continue', wizard_path(:submitted), class: 'btn btn-primary'
         
     | 
| 
       18 
20 
     | 
    
         | 
| 
         @@ -4,6 +4,9 @@ 
     | 
|
| 
       4 
4 
     | 
    
         
             
              - raise('expected a submitted event_registration') unless resource.submitted?
         
     | 
| 
       5 
5 
     | 
    
         
             
              - raise('expected a deffered event_registration submit_order') unless resource.submit_order&.deferred?
         
     | 
| 
       6 
6 
     | 
    
         | 
| 
      
 7 
     | 
    
         
            +
              - if resource.event.delayed?
         
     | 
| 
      
 8 
     | 
    
         
            +
                - raise('expected event delayed_payment_date to match order delayed_payment_date') unless resource.event.delayed_payment_date == resource.submit_order.delayed_payment_date
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
       7 
10 
     | 
    
         
             
              .mb-4
         
     | 
| 
       8 
11 
     | 
    
         
             
                = link_to "Return to Dashboard", return_to_dashboard_path, class: 'btn btn-lg btn-primary btn-block'
         
     | 
| 
       9 
12 
     | 
    
         | 
| 
         @@ -14,6 +17,15 @@ 
     | 
|
| 
       14 
17 
     | 
    
         
             
                  %h3 Incomplete Ticket Information
         
     | 
| 
       15 
18 
     | 
    
         
             
                  = render 'effective/event_registrations/form_blank_registrants', event_registration: resource
         
     | 
| 
       16 
19 
     | 
    
         | 
| 
      
 20 
     | 
    
         
            +
              - if resource.delayed_payment_date_upcoming? && resource.can_visit_step?(:tickets)
         
     | 
| 
      
 21 
     | 
    
         
            +
                - order = resource.submit_order
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                = card do
         
     | 
| 
      
 24 
     | 
    
         
            +
                  %h3 All done
         
     | 
| 
      
 25 
     | 
    
         
            +
                  %p Your registration for #{resource.event} has been submitted. You're all done!
         
     | 
| 
      
 26 
     | 
    
         
            +
                  %p= resource.submit_order.delayed_payment_info
         
     | 
| 
      
 27 
     | 
    
         
            +
                  %p You can #{link_to('change your registration', wizard_path(:tickets))} until the payment date.
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
       17 
29 
     | 
    
         
             
              = render 'effective/event_registrations/event_registration', event_registration: resource
         
     | 
| 
       18 
30 
     | 
    
         
             
              = render 'effective/event_registrations/orders', event_registration: resource
         
     | 
| 
       19 
31 
     | 
    
         | 
| 
         @@ -9,4 +9,8 @@ 
     | 
|
| 
       9 
9 
     | 
    
         
             
                    = f.has_many :event_registrants, f.object.build_event_registrants do |fr|
         
     | 
| 
       10 
10 
     | 
    
         
             
                      = render('effective/event_registrants/fields', f: fr, event: f.object.event, namespace: :events)
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
      
 12 
     | 
    
         
            +
                    - if resource.delayed_payment_date_upcoming? && resource.submit_order.present?
         
     | 
| 
      
 13 
     | 
    
         
            +
                      .alert.alert-info If the price of your registration changes, your order will be automatically updated.
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
                    %hr
         
     | 
| 
       12 
16 
     | 
    
         
             
                    = f.save 'Save and Continue'
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: effective_events
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.13.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Code and Effect
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2024- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2024-06-04 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rails
         
     |