diff --git a/app/helpers/registration_helper.rb b/app/helpers/registration_helper.rb new file mode 100644 index 00000000..bd50b0ff --- /dev/null +++ b/app/helpers/registration_helper.rb @@ -0,0 +1,14 @@ +module RegistrationHelper + def generate_supporter_level_js(conference) + str = "" + conference.supporter_levels.map do |t| + next if t.url.empty? + + str += "if ($('#registration_supporter_registration_attributes_supporter_level_id option:selected').text() == '#{t.title}') {\n" + str += "console.log('#{t.title}');\n" + str += "str = 'If you have a confirmation or registration code, enter it here. Otherwise, you can purchase a #{t.title} ticket here, if you need to.';\n" + str += "}\n\n" + end.join("\n") + str + end +end \ No newline at end of file diff --git a/app/views/conference_registration/register.html.haml b/app/views/conference_registration/register.html.haml index 7c952544..4f78db30 100644 --- a/app/views/conference_registration/register.html.haml +++ b/app/views/conference_registration/register.html.haml @@ -27,10 +27,19 @@ - if @conference.use_supporter_levels? = f.semantic_fields_for :supporter_registration do |reg| = reg.input :supporter_level, :as => :select, :collection => @conference.supporter_levels - = reg.input :code, :hint => "If you have a confirmation or registration code, enter it here." + = reg.input :code, :label => "Confirmation or registration code (if applicable)" + %span#supporter-link.help-block - if @registered = f.action :submit, :button_html => { :value => "Update Registration", :class => "btn btn-primary" } = link_to "Unregister", register_conference_path(@conference.short_title),:method => :delete, :class => "btn btn-danger", :confirm => "Are you sure you want to unregister?" - else = f.action :submit, :button_html => { :value => "Register", :class => "btn btn-primary" } + +:javascript + $("#registration_supporter_registration_attributes_supporter_level_id").change(function () { + var str = ""; + #{generate_supporter_level_js @conference} + $("#supporter-link").html(str); + }) + .trigger('change');