Fixed payment page alwas showing up even after a pament has been made
This commit is contained in:
parent
cc1a62b09a
commit
89a9547a3e
@ -74,6 +74,13 @@ class ConferencesController < ApplicationController
|
||||
if status == 'Completed'
|
||||
@registration.registration_fees_paid ||= 0
|
||||
@registration.registration_fees_paid += @amount
|
||||
|
||||
# don't complete the step unless fees have been paid
|
||||
if @registration.registration_fees_paid > 0
|
||||
@registration.steps_completed << :payment
|
||||
@registration.steps_completed.uniq!
|
||||
end
|
||||
|
||||
@registration.save!
|
||||
else
|
||||
@errors = :incomplete
|
||||
@ -170,12 +177,17 @@ class ConferencesController < ApplicationController
|
||||
else
|
||||
unless @registration.nil?
|
||||
steps = registration_steps
|
||||
@register_template = steps[steps.find_index(form_step) + 1]
|
||||
step_index = steps.find_index(form_step)
|
||||
@register_template = steps[step_index + 1] if step_index.present?
|
||||
|
||||
# have we reached a new level?
|
||||
unless @registration.steps_completed.include? form_step.to_s
|
||||
@registration.steps_completed ||= []
|
||||
@registration.steps_completed << form_step
|
||||
# this step is only completed if a payment has been made
|
||||
unless form_step == :payment
|
||||
@registration.steps_completed ||= []
|
||||
@registration.steps_completed << form_step
|
||||
@registration.steps_completed.uniq!
|
||||
end
|
||||
|
||||
# workshops is the last step
|
||||
if @register_template == :workshops
|
||||
@ -195,6 +207,8 @@ class ConferencesController < ApplicationController
|
||||
|
||||
steps ||= registration_steps
|
||||
|
||||
puts " ==== @register_template = #{@register_template}, params[:step] = #{params[:step]}, current_step = #{current_step} ==== "
|
||||
|
||||
# make sure we're on a valid step
|
||||
@register_template ||= (params[:step] || current_step).to_sym
|
||||
|
||||
@ -746,127 +760,6 @@ class ConferencesController < ApplicationController
|
||||
do_404
|
||||
end
|
||||
|
||||
# def registrations
|
||||
# registrations = ConferenceRegistration.where(:conference_id => @conference.id)
|
||||
# @registrations = registrations
|
||||
# end
|
||||
|
||||
# def register_confirm
|
||||
# set_conference
|
||||
# @conference_registration = ConferenceRegistration.find_by(confirmation_token: params[:confirmation_token])
|
||||
# if !@conference_registration.nil? && @conference_registration.conference_id == @conference.id && !@conference_registration.complete
|
||||
# @conference_registration.is_confirmed = true
|
||||
# @conference_registration.save!
|
||||
# session[:registration] = YAML.load(@conference_registration.data)
|
||||
# session[:registration][:path] = Array.new
|
||||
# session[:registration][:registration_id] = @conference_registration.id
|
||||
# session[:registration_step] = 'confirm'
|
||||
# redirect_to action: 'register'
|
||||
# else
|
||||
# return do_404
|
||||
# end
|
||||
# end
|
||||
|
||||
# def register_pay_registration
|
||||
# set_conference
|
||||
# @conference_registration = ConferenceRegistration.find_by(confirmation_token: params[:confirmation_token])
|
||||
# host = "#{request.protocol}#{request.host_with_port}"
|
||||
# if !@conference_registration.nil? && @conference_registration.conference_id == @conference.id && @conference_registration.complete
|
||||
# amount = (params[:auto_payment_amount] || params[:payment_amount]).to_f
|
||||
# if amount > 0
|
||||
# response = PayPal!.setup(
|
||||
# PayPalRequest(amount),
|
||||
# host + (@conference.url + "/register/paypal-confirm/#{@conference_registration.payment_confirmation_token}/").gsub(/\/\/+/, '/'),
|
||||
# host + (@conference.url + "/register/paypal-cancel/#{@conference_registration.confirmation_token}/").gsub(/\/\/+/, '/')
|
||||
# )
|
||||
# redirect_to response.redirect_uri
|
||||
# else
|
||||
# session[:registration] = YAML.load(@conference_registration.data)
|
||||
# session[:registration][:registration_id] = @conference_registration.id
|
||||
# session[:registration][:path] = Array.new
|
||||
# session[:registration_step] = 'pay_now'
|
||||
# redirect_to action: 'register'
|
||||
# end
|
||||
# else
|
||||
# return do_404
|
||||
# end
|
||||
# end
|
||||
|
||||
# def register_paypal_confirm
|
||||
# set_conference
|
||||
# @conference_registration = ConferenceRegistration.find_by(payment_confirmation_token: params[:confirmation_token])
|
||||
# if !@conference_registration.nil? && @conference_registration.conference_id == @conference.id && @conference_registration.complete && @conference_registration.registration_fees_paid.nil?
|
||||
# if !is_test?
|
||||
# #@conference_registration.payment_info = {:payer_id => '1234', :token => '5678', :amount => '0.00'}.to_yaml
|
||||
# #else
|
||||
# @conference_registration.payment_info = {:payer_id => params[:PayerID], :token => params[:token], :amount => PayPal!.details(params[:token]).amount.total}.to_yaml
|
||||
# @conference_registration.save!
|
||||
# end
|
||||
# session[:registration] = YAML.load(@conference_registration.data)
|
||||
# session[:registration][:registration_id] = @conference_registration.id
|
||||
# session[:registration][:path] = Array.new
|
||||
# session[:registration_step] = 'paypal-confirmed'
|
||||
# redirect_to action: 'register'
|
||||
# else
|
||||
# return do_404
|
||||
# end
|
||||
# end
|
||||
|
||||
# def register_paypal_cancel
|
||||
# set_conference
|
||||
# @conference_registration = ConferenceRegistration.find_by(confirmation_token: params[:confirmation_token])
|
||||
# if !@conference_registration.nil? && @conference_registration.conference_id == @conference.id && @conference_registration.complete && @conference_registration.payment_info.nil?
|
||||
# session[:registration] = YAML.load(@conference_registration.data)
|
||||
# redirect_to action: 'register'
|
||||
# end
|
||||
# end
|
||||
|
||||
# def register_step
|
||||
# set_conference
|
||||
# data = params
|
||||
# if params[:conference][:user][:email]
|
||||
# user = User.find_by(:email => params[:conference][:user][:email])
|
||||
# data[:conference][:user][:username] = user.username
|
||||
# end
|
||||
# render json: data
|
||||
# end
|
||||
|
||||
# def add_field
|
||||
# set_conference
|
||||
# field = RegistrationFormField.find(params[:field])
|
||||
# @conference.registration_form_fields << field
|
||||
|
||||
# @registration_form_fields = RegistrationFormField.where(["id NOT IN (?)", @conference.registration_form_fields.map(&:id)])
|
||||
|
||||
# form = render_to_string :partial => 'registration_form_fields/conference_form'
|
||||
# list = render_to_string :partial => 'registration_form_fields/list'
|
||||
# render json: {form: form, list: list}
|
||||
# end
|
||||
|
||||
# def remove_field
|
||||
# set_conference
|
||||
# field = RegistrationFormField.find(params[:field])
|
||||
# @conference.registration_form_fields.delete(field)
|
||||
|
||||
# @registration_form_fields = RegistrationFormField.where(["id NOT IN (?)", @conference.registration_form_fields.map(&:id)])
|
||||
|
||||
# form = render_to_string :partial => 'registration_form_fields/conference_form'
|
||||
# list = render_to_string :partial => 'registration_form_fields/list'
|
||||
# render json: {form: form, list: list}
|
||||
# end
|
||||
|
||||
# def reorder
|
||||
# set_conference
|
||||
# params[:registration_form_field_id].each do |key, value|
|
||||
# update_field_position(value.to_i, params[:position][key].to_i)
|
||||
# end
|
||||
# render json: [].to_json
|
||||
# end
|
||||
|
||||
# def form
|
||||
# set_conference
|
||||
# end
|
||||
|
||||
def workshops
|
||||
set_conference
|
||||
set_conference_registration!
|
||||
|
Loading…
x
Reference in New Issue
Block a user