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'
|
if status == 'Completed'
|
||||||
@registration.registration_fees_paid ||= 0
|
@registration.registration_fees_paid ||= 0
|
||||||
@registration.registration_fees_paid += @amount
|
@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!
|
@registration.save!
|
||||||
else
|
else
|
||||||
@errors = :incomplete
|
@errors = :incomplete
|
||||||
@ -170,12 +177,17 @@ class ConferencesController < ApplicationController
|
|||||||
else
|
else
|
||||||
unless @registration.nil?
|
unless @registration.nil?
|
||||||
steps = registration_steps
|
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?
|
# have we reached a new level?
|
||||||
unless @registration.steps_completed.include? form_step.to_s
|
unless @registration.steps_completed.include? form_step.to_s
|
||||||
@registration.steps_completed ||= []
|
# this step is only completed if a payment has been made
|
||||||
@registration.steps_completed << form_step
|
unless form_step == :payment
|
||||||
|
@registration.steps_completed ||= []
|
||||||
|
@registration.steps_completed << form_step
|
||||||
|
@registration.steps_completed.uniq!
|
||||||
|
end
|
||||||
|
|
||||||
# workshops is the last step
|
# workshops is the last step
|
||||||
if @register_template == :workshops
|
if @register_template == :workshops
|
||||||
@ -195,6 +207,8 @@ class ConferencesController < ApplicationController
|
|||||||
|
|
||||||
steps ||= registration_steps
|
steps ||= registration_steps
|
||||||
|
|
||||||
|
puts " ==== @register_template = #{@register_template}, params[:step] = #{params[:step]}, current_step = #{current_step} ==== "
|
||||||
|
|
||||||
# make sure we're on a valid step
|
# make sure we're on a valid step
|
||||||
@register_template ||= (params[:step] || current_step).to_sym
|
@register_template ||= (params[:step] || current_step).to_sym
|
||||||
|
|
||||||
@ -746,127 +760,6 @@ class ConferencesController < ApplicationController
|
|||||||
do_404
|
do_404
|
||||||
end
|
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
|
def workshops
|
||||||
set_conference
|
set_conference
|
||||||
set_conference_registration!
|
set_conference_registration!
|
||||||
|
Loading…
x
Reference in New Issue
Block a user