Adds new registration step module, and some testing code.
This commit is contained in:
parent
0e502373a9
commit
6324c03895
@ -2,6 +2,37 @@ require 'geocoder/calculations'
|
|||||||
require 'rest_client'
|
require 'rest_client'
|
||||||
require 'registration_controller_helper'
|
require 'registration_controller_helper'
|
||||||
|
|
||||||
|
module RegistrationSteps
|
||||||
|
def available_steps(registration = self)
|
||||||
|
|
||||||
|
if conference.city_name.present? && Conference.find_by(id: registration.conference_id).city_id == 433
|
||||||
|
all_southpole_steps = [
|
||||||
|
:policy, # agree to the policy
|
||||||
|
:name, # enter your name
|
||||||
|
:languages, # select spoken languages
|
||||||
|
|
||||||
|
:org_member, # Do you work for or volunteer with a bike collective?
|
||||||
|
:org_location, # Where is your collective located?
|
||||||
|
:org_location_confirm, # Confirm your location
|
||||||
|
:org_non_member_interest, # What is your interest in attending Bike!Bike!?
|
||||||
|
:org_select, # Which organization in [city] are you associated with?
|
||||||
|
:org_create_name, # What is the name of your organization?
|
||||||
|
:org_create_address, # Where in [city] is your organization located?
|
||||||
|
:org_create_email, # What is the organization's email address
|
||||||
|
:org_create_mailing_address, # How can we contact your organization by snail mail?
|
||||||
|
|
||||||
|
:housing_arrival_date, # When will you be arriving in [city]?
|
||||||
|
:housing_departure_date, # When are you planning to leave [city]?
|
||||||
|
|
||||||
|
:review
|
||||||
|
]
|
||||||
|
available = all_southpole_steps.select { |step| send("#{step}_available?", registration) }
|
||||||
|
else+ available = RegistrationSteps.all_registration_steps.select { |step| send("#{step}_available?", registration) }
|
||||||
|
end
|
||||||
|
return available
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
class ConferencesController < ApplicationController
|
class ConferencesController < ApplicationController
|
||||||
include RegistrationControllerHelper
|
include RegistrationControllerHelper
|
||||||
|
|
||||||
@ -158,6 +189,7 @@ class ConferencesController < ApplicationController
|
|||||||
helper_method :registration_complete?
|
helper_method :registration_complete?
|
||||||
|
|
||||||
def registration_steps(conference = nil)
|
def registration_steps(conference = nil)
|
||||||
|
File.write('testingdebug', "in registration_steps (conferences_controller_\n", mode: 'a')
|
||||||
conference ||= @this_conference || @conference
|
conference ||= @this_conference || @conference
|
||||||
status = conference.registration_status
|
status = conference.registration_status
|
||||||
|
|
||||||
@ -187,7 +219,11 @@ class ConferencesController < ApplicationController
|
|||||||
|
|
||||||
return steps
|
return steps
|
||||||
end
|
end
|
||||||
|
|
||||||
|
if conference.city_id == 433 # if this conference is being held in the "South Pole" (it's a virtual/"Everywhere" event)
|
||||||
|
steps -= [:hosting, :payment, :questions] # skip hosting b/c there is none & skip payment because we're using OpenCollective
|
||||||
|
end
|
||||||
|
|
||||||
def required_steps(conference = nil)
|
def required_steps(conference = nil)
|
||||||
# return the intersection of current steps and required steps
|
# return the intersection of current steps and required steps
|
||||||
registration_steps(conference || @this_conference || @conference) & # current steps
|
registration_steps(conference || @this_conference || @conference) & # current steps
|
||||||
|
Loading…
x
Reference in New Issue
Block a user