Registration fixes and improvements
This commit is contained in:
		
							parent
							
								
									eed9bd8b40
								
							
						
					
					
						commit
						fd729c4a49
					
				
							
								
								
									
										67
									
								
								Rakefile
									
									
									
									
									
								
							
							
						
						
									
										67
									
								
								Rakefile
									
									
									
									
									
								
							@ -67,28 +67,83 @@ end
 | 
			
		||||
 | 
			
		||||
task :i18n do
 | 
			
		||||
  LinguaFranca.test LinguaFranca::TestModes::RECORD do
 | 
			
		||||
    Rake::Task[:cucumber].execute
 | 
			
		||||
    Rake::Task['cucumber:run'].execute
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
task :css do
 | 
			
		||||
  ENV['CSS_TEST'] = '1'
 | 
			
		||||
  Rake::Task[:cucumber].execute
 | 
			
		||||
  Rake::Task['cucumber:run'].execute
 | 
			
		||||
  ENV['CSS_TEST'] = nil
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
task :a11y do
 | 
			
		||||
  ENV['TEST_A11Y'] = '1'
 | 
			
		||||
  Rake::Task[:cucumber].execute
 | 
			
		||||
  Rake::Task['cucumber:run'].execute
 | 
			
		||||
  ENV['TEST_A11Y'] = nil
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
task "cucumber:debug" do
 | 
			
		||||
  ENV['TEST_DEBUG'] = '1'
 | 
			
		||||
  Rake::Task[:cucumber].execute
 | 
			
		||||
  Rake::Task['cucumber:run'].execute
 | 
			
		||||
  ENV['TEST_DEBUG'] = nil
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Cucumber::Rake::Task.new(:cucumber) do |t|
 | 
			
		||||
  t.cucumber_opts = "features --format pretty"
 | 
			
		||||
# Cucumber::Rake::Task.new(:cucumber) do |t|
 | 
			
		||||
#   t.cucumber_opts = "features --format pretty"
 | 
			
		||||
# end
 | 
			
		||||
 | 
			
		||||
namespace :cucumber do
 | 
			
		||||
  directory 'tmp'
 | 
			
		||||
  @rerun_file = 'tmp/rerun.txt'
 | 
			
		||||
 | 
			
		||||
  Cucumber::Rake::Task.new(:all) do |task|
 | 
			
		||||
    task.cucumber_opts = "features --format pretty --format rerun --out tmp/rerun.txt"
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  desc 'Run cucumber features'
 | 
			
		||||
  task run: :tmp do
 | 
			
		||||
    retry_on_failure do
 | 
			
		||||
      run_features
 | 
			
		||||
    end
 | 
			
		||||
    clean_up
 | 
			
		||||
    exit @exit_status
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def retry_on_failure
 | 
			
		||||
    rm_rf @rerun_file
 | 
			
		||||
    @retries = 0
 | 
			
		||||
    begin
 | 
			
		||||
      @exit_status = 0
 | 
			
		||||
      yield
 | 
			
		||||
    rescue SystemExit => e
 | 
			
		||||
      @exit_status = e.status
 | 
			
		||||
      if retry?(exception: e)
 | 
			
		||||
        @retries += 1
 | 
			
		||||
        retry
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def run_features
 | 
			
		||||
    if File.exists? @rerun_file
 | 
			
		||||
      Cucumber::Rake::Task::ForkedCucumberRunner.new(['lib'], Cucumber::BINARY, [
 | 
			
		||||
          'features',
 | 
			
		||||
          '--format', 'pretty',
 | 
			
		||||
          '@tmp/rerun.txt',
 | 
			
		||||
          '--format', 'rerun',
 | 
			
		||||
          '--out', 'tmp/rerun.txt'
 | 
			
		||||
        ], true, []).run
 | 
			
		||||
    else
 | 
			
		||||
      Rake::Task['cucumber:all'].invoke
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def retry?(exception: nil)
 | 
			
		||||
    @retries < 2 && !exception.success?
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def clean_up
 | 
			
		||||
    rm_rf @rerun_file.pathmap("%d")
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@ -228,6 +228,17 @@
 | 
			
		||||
                                            scrollTo.scrollIntoView();
 | 
			
		||||
                                        }
 | 
			
		||||
                                    }
 | 
			
		||||
                                    if (response[i].focus) {
 | 
			
		||||
                                        var focusOn = document.querySelector(response[i].focus);
 | 
			
		||||
                                        if (focusOn) {
 | 
			
		||||
                                            if (typeof focusOn.select === "function" && focusOn.value.length) {
 | 
			
		||||
                                                if (focusOn.type == "text" || focusOn.type == "email" || focusOn.type == "phone" || focusOn.tagName == "TEXTAREA") {
 | 
			
		||||
                                                    focusOn.select();
 | 
			
		||||
                                                }
 | 
			
		||||
                                            }
 | 
			
		||||
                                            focusOn.focus();
 | 
			
		||||
                                        }
 | 
			
		||||
                                    }
 | 
			
		||||
                                }
 | 
			
		||||
                            }
 | 
			
		||||
                        }
 | 
			
		||||
 | 
			
		||||
@ -66,6 +66,7 @@ p {
 | 
			
		||||
 | 
			
		||||
u {
 | 
			
		||||
    @include _(text-decoration-color, rgba($black, 0.5));
 | 
			
		||||
    text-decoration-skip: ink;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
a {
 | 
			
		||||
@ -197,16 +198,20 @@ table, .table {
 | 
			
		||||
        width: 0.1rem;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    &#review tbody th {
 | 
			
		||||
        width: auto;
 | 
			
		||||
        vertical-align: top;
 | 
			
		||||
    }
 | 
			
		||||
    &#review {
 | 
			
		||||
        margin: 0 auto;
 | 
			
		||||
 | 
			
		||||
    &#review .scroller {
 | 
			
		||||
        font-size: 0.75em;
 | 
			
		||||
        max-width: 50em;
 | 
			
		||||
        max-height: 25em;
 | 
			
		||||
        overflow: auto;
 | 
			
		||||
        .table-th {
 | 
			
		||||
            width: auto;
 | 
			
		||||
            vertical-align: top;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .scroller {
 | 
			
		||||
            font-size: 0.75em;
 | 
			
		||||
            max-width: 50em;
 | 
			
		||||
            max-height: 25em;
 | 
			
		||||
            overflow: auto;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    &.admin-edit {
 | 
			
		||||
@ -491,6 +496,23 @@ body.expanded-element {
 | 
			
		||||
    display: table-cell;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.responsive-table {
 | 
			
		||||
    display: block;
 | 
			
		||||
 | 
			
		||||
    .table-td {
 | 
			
		||||
        padding: 1em;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .table-tr, .table-th, .table-td {
 | 
			
		||||
        display: block;
 | 
			
		||||
        overflow: auto;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .table-tr {
 | 
			
		||||
        margin-bottom: 1em;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
button,
 | 
			
		||||
.button {
 | 
			
		||||
    @include button;
 | 
			
		||||
@ -572,6 +594,7 @@ button,
 | 
			
		||||
 | 
			
		||||
    button {
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 10vw;
 | 
			
		||||
        background-color: $white;
 | 
			
		||||
 | 
			
		||||
        &.during-conference {
 | 
			
		||||
@ -579,7 +602,7 @@ button,
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        &.selected {
 | 
			
		||||
            border: 0.25em solid rgba($colour-2, 0.5);
 | 
			
		||||
            border: 0.25em solid $selected-colour;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -603,14 +626,19 @@ button,
 | 
			
		||||
 | 
			
		||||
    .buttons {
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        display: flex;
 | 
			
		||||
        text-align: right;
 | 
			
		||||
        justify-content: center;
 | 
			
		||||
        flex-wrap: wrap;
 | 
			
		||||
 | 
			
		||||
        button {
 | 
			
		||||
            margin: 0 0.333em;
 | 
			
		||||
        button, .button {
 | 
			
		||||
            margin: 0.333em;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    button[value="back"] {
 | 
			
		||||
        float: left;
 | 
			
		||||
        order: -1;
 | 
			
		||||
        background-color: $mid-gray;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -631,41 +659,29 @@ button,
 | 
			
		||||
 | 
			
		||||
        button {
 | 
			
		||||
            display: block;
 | 
			
		||||
            width: 100%;
 | 
			
		||||
            padding: 0 2em;
 | 
			
		||||
            border: 0.05em solid $black;
 | 
			
		||||
            background-color: $white;
 | 
			
		||||
 | 
			
		||||
            &.selected {
 | 
			
		||||
                box-shadow: 0 0 0 0.25em rgba($colour-2, 0.5);
 | 
			
		||||
                box-shadow: 0 0 0 0.25em $selected-colour;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .registration-step-options {
 | 
			
		||||
        display: table;
 | 
			
		||||
        table-layout: fixed;
 | 
			
		||||
        margin: 0 auto;
 | 
			
		||||
 | 
			
		||||
        .options {
 | 
			
		||||
            display: table-row;
 | 
			
		||||
 | 
			
		||||
            + fieldset {
 | 
			
		||||
                margin: 2em 0;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        button {
 | 
			
		||||
            display: table-cell;
 | 
			
		||||
            margin: 0 0.5em;
 | 
			
		||||
            margin: 0.5em auto;
 | 
			
		||||
            height: 3em;
 | 
			
		||||
 | 
			
		||||
            &:first-child {
 | 
			
		||||
                margin-left: 0;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            &:last-child {
 | 
			
		||||
                margin-right: 0;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .check-box-field {
 | 
			
		||||
@ -680,8 +696,7 @@ button,
 | 
			
		||||
            background-color: $white;
 | 
			
		||||
 | 
			
		||||
            input {
 | 
			
		||||
                display: table-cell;
 | 
			
		||||
                width: 10em;
 | 
			
		||||
                width: 100%;
 | 
			
		||||
                height: 3em;
 | 
			
		||||
                margin: 0;
 | 
			
		||||
                font-family: inherit;
 | 
			
		||||
@ -692,10 +707,10 @@ button,
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            button {
 | 
			
		||||
                width: 50%;
 | 
			
		||||
                width: 100%;
 | 
			
		||||
                margin: 0;
 | 
			
		||||
                border: 0;
 | 
			
		||||
                border-left: inherit;
 | 
			
		||||
                border-top: inherit;
 | 
			
		||||
                background-color: lighten($colour-1, 25%);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
@ -744,6 +759,12 @@ ul.menu {
 | 
			
		||||
    @include font-family(secondary);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#step-content {
 | 
			
		||||
    form {
 | 
			
		||||
        margin-top: 1em;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#action-message {
 | 
			
		||||
    display: none;
 | 
			
		||||
    text-align: center;
 | 
			
		||||
@ -1268,8 +1289,8 @@ input {
 | 
			
		||||
                content: '+';
 | 
			
		||||
                border: 0;
 | 
			
		||||
                font-size: 2.5em;
 | 
			
		||||
                top: -0.025em;
 | 
			
		||||
                left: 0.175em;
 | 
			
		||||
                top: -0.125em;
 | 
			
		||||
                left: 0.075em;
 | 
			
		||||
                line-height: 1em;
 | 
			
		||||
                color: #FFF;
 | 
			
		||||
                height: 1em;
 | 
			
		||||
@ -1645,7 +1666,7 @@ fieldset {
 | 
			
		||||
        text-align: center;
 | 
			
		||||
        
 | 
			
		||||
        + button, + .button {
 | 
			
		||||
            margin-left: 0.75em;
 | 
			
		||||
            margin-top: 0.75em;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
@ -3408,6 +3429,11 @@ body.policy .policy-agreement ul {
 | 
			
		||||
            button, .button {
 | 
			
		||||
                margin-left: 1em;
 | 
			
		||||
                height: 2.6em;
 | 
			
		||||
        
 | 
			
		||||
                + button, + .button {
 | 
			
		||||
                    margin-top: 0;
 | 
			
		||||
                    margin-left: 0.75em;
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
@ -3768,6 +3794,13 @@ body.policy .policy-agreement ul {
 | 
			
		||||
            border: 0.1em solid;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        input[type="radio"] + label {
 | 
			
		||||
            @include after {
 | 
			
		||||
                top: -0.025em;
 | 
			
		||||
                left: 0.175em;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        &.inline {
 | 
			
		||||
            label {
 | 
			
		||||
                float: left;
 | 
			
		||||
@ -3812,7 +3845,71 @@ body.policy .policy-agreement ul {
 | 
			
		||||
            @include _(transform, none);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
    #main table.calendar {
 | 
			
		||||
        button {
 | 
			
		||||
            height: 4em;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #main .registration-step-options {
 | 
			
		||||
        display: table;
 | 
			
		||||
        table-layout: fixed;
 | 
			
		||||
 | 
			
		||||
        .options {
 | 
			
		||||
            display: table-row;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        button {
 | 
			
		||||
            display: table-cell;
 | 
			
		||||
            margin: 0 0.5em;
 | 
			
		||||
            width: auto;
 | 
			
		||||
 | 
			
		||||
            &:first-child {
 | 
			
		||||
                margin-left: 0;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            &:last-child {
 | 
			
		||||
                margin-right: 0;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        fieldset {
 | 
			
		||||
            margin-bottom: 3em;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .custom-option {
 | 
			
		||||
            margin-top: 1em;
 | 
			
		||||
 | 
			
		||||
            input {
 | 
			
		||||
                display: table-cell;
 | 
			
		||||
                width: 10em;
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            button {
 | 
			
		||||
                width: 50%;
 | 
			
		||||
                border-top: 0;
 | 
			
		||||
                border-left: inherit;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .responsive-table {
 | 
			
		||||
        display: table;
 | 
			
		||||
 | 
			
		||||
        .table-tr {
 | 
			
		||||
            display: table-row;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .table-td {
 | 
			
		||||
            padding: 0.25em 0.5em;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        .table-th, .table-td {
 | 
			
		||||
            display: table-cell;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
} // medium
 | 
			
		||||
 | 
			
		||||
@include breakpoint(large) {
 | 
			
		||||
    #main {
 | 
			
		||||
@ -3866,6 +3963,12 @@ body.policy .policy-agreement ul {
 | 
			
		||||
            margin: 0 auto;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #main table.calendar {
 | 
			
		||||
        button {
 | 
			
		||||
            height: 5em;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@include breakpoint(small, medium) {
 | 
			
		||||
 | 
			
		||||
@ -24,6 +24,8 @@ $green: $colour-5;
 | 
			
		||||
 | 
			
		||||
$link-colour: darken($colour-1, 13%);
 | 
			
		||||
 | 
			
		||||
$selected-colour: rgba($blue, 0.5);
 | 
			
		||||
 | 
			
		||||
@mixin default-box-shadow($direction: top, $distance: 1, $inset: false, $additional-shadow: false) {
 | 
			
		||||
    @if capable_of(box-shadow) {
 | 
			
		||||
        $offset: 0.2em;
 | 
			
		||||
 | 
			
		||||
@ -99,6 +99,9 @@ class ConferenceAdministrationController < ApplicationController
 | 
			
		||||
    def administrate_description
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def administrate_group_ride
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def administrate_poster
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
@ -798,6 +801,15 @@ class ConferenceAdministrationController < ApplicationController
 | 
			
		||||
      return false
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def admin_update_group_ride
 | 
			
		||||
      params[:group_ride_info].each do |locale, value|
 | 
			
		||||
        @this_conference.set_column_for_locale(:group_ride_info, locale, html_value(value))
 | 
			
		||||
      end
 | 
			
		||||
      @this_conference.save
 | 
			
		||||
      set_success_message @admin_step
 | 
			
		||||
      return false
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    def admin_update_poster
 | 
			
		||||
      begin
 | 
			
		||||
        @this_conference.poster = params[:poster]
 | 
			
		||||
 | 
			
		||||
@ -98,7 +98,8 @@ class ConferencesController < ApplicationController
 | 
			
		||||
      render json: [{
 | 
			
		||||
          globalSelector: '#step-content',
 | 
			
		||||
          html: view_context.step_message + render_to_string(partial: "registration_steps/#{@step}"),
 | 
			
		||||
          scrollTo: '#action-message .message, #step-content'
 | 
			
		||||
          scrollTo: '#action-message .message, #step-content',
 | 
			
		||||
          focus: 'input:not([type="hidden"]), textarea, button.selected'
 | 
			
		||||
        }]
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,7 @@ module AdminHelper
 | 
			
		||||
 | 
			
		||||
  def administration_steps
 | 
			
		||||
    {
 | 
			
		||||
      info: [:administrators, :dates, :description, :poster],
 | 
			
		||||
      info: [:administrators, :dates, :description, :poster, :group_ride],
 | 
			
		||||
      payment: [:payment_message, :suggested_amounts, :paypal],
 | 
			
		||||
      registration: [:registration_status, :stats, :registrations, :broadcast],
 | 
			
		||||
      housing: [:providers, :housing],
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,7 @@
 | 
			
		||||
  = columns(medium: 12) do
 | 
			
		||||
    = registration_step_header_title
 | 
			
		||||
    - if @info.present?
 | 
			
		||||
      = @info
 | 
			
		||||
      = @info.html_safe
 | 
			
		||||
    - else
 | 
			
		||||
      = registration_step_header_description
 | 
			
		||||
= row do
 | 
			
		||||
 | 
			
		||||
@ -5,5 +5,5 @@
 | 
			
		||||
      = textfield :address, @address, required: true, big: true
 | 
			
		||||
      .multi-field
 | 
			
		||||
        = textfield :city, @city.city, readonly: true
 | 
			
		||||
        = textfield :territory, @city.translate_territory, readonly: true
 | 
			
		||||
        = textfield :country, @city.translate_country, readonly: true
 | 
			
		||||
        = textfield :territory, @city.translate_territory.html_safe, readonly: true
 | 
			
		||||
        = textfield :country, @city.translate_country.html_safe, readonly: true
 | 
			
		||||
 | 
			
		||||
@ -7,8 +7,8 @@
 | 
			
		||||
        %ul
 | 
			
		||||
          - policies.each do |term|
 | 
			
		||||
            %li
 | 
			
		||||
              - id = "policies[#{term}]"
 | 
			
		||||
              = check_box_tag(id, 1, (@accepted_policies || {}).include?(term))
 | 
			
		||||
              - id = "policies_#{term}"
 | 
			
		||||
              = check_box_tag("policies[#{term}]", 1, (@accepted_policies || {}).include?(term), id: id)
 | 
			
		||||
              %label.term{for: id}=_"articles.policy.term.#{term.to_s}", :s, 2
 | 
			
		||||
    = columns(medium: 12) do
 | 
			
		||||
      %p=_'articles.conference_registration.paragraphs.Confirm_Agreement', :p
 | 
			
		||||
 | 
			
		||||
@ -3,24 +3,24 @@
 | 
			
		||||
  = columns(medium: 12) do
 | 
			
		||||
    = save_registration_step do
 | 
			
		||||
      - if @is_attending
 | 
			
		||||
        %table#review
 | 
			
		||||
        .table.responsive-table#review
 | 
			
		||||
          - @step_data.each do |step, data|
 | 
			
		||||
            - unless data[:type] == :none
 | 
			
		||||
              %tr
 | 
			
		||||
                %th
 | 
			
		||||
              .table-tr
 | 
			
		||||
                .table-th
 | 
			
		||||
                  =_"articles.conference_registration.step_names.#{step}"
 | 
			
		||||
                  = button :edit, name: :edit_step, value: step, class: [:unstyled, :edit]
 | 
			
		||||
                %td
 | 
			
		||||
                .table-td
 | 
			
		||||
                  - case data[:type]
 | 
			
		||||
                    - when :bool
 | 
			
		||||
                      =_"forms.actions.generic.#{data[:value] ? 'yes' : 'no'}"
 | 
			
		||||
                    - when :list
 | 
			
		||||
                      = data[:value].map { |item| _"#{data[:key]}.#{item}" }.join(_!(", "))
 | 
			
		||||
                      = data[:value].map { |item| _"#{data[:key]}.#{item}" }.join(_!(", ")).html_safe
 | 
			
		||||
                    - when :currency
 | 
			
		||||
                      = (number_to_currency data[:value].to_f, unit: '$')
 | 
			
		||||
                      =_!(data[:currency].to_s).html_safe
 | 
			
		||||
                    - when :date
 | 
			
		||||
                      = date(data[:value].to_date, :long)
 | 
			
		||||
                      = date(data[:value].to_date, :long).html_safe
 | 
			
		||||
                    - when :enum
 | 
			
		||||
                      =_("#{data[:key] || ('forms.labels.generic.' + step.to_s + '.')}#{data[:value]}")
 | 
			
		||||
                    - when :html
 | 
			
		||||
@ -29,7 +29,7 @@
 | 
			
		||||
                      - if data[:key].present?
 | 
			
		||||
                        =_"#{data[:key]}.#{data[:value]}"
 | 
			
		||||
                      - else
 | 
			
		||||
                        = data[:value]
 | 
			
		||||
                        = data[:value].to_s.html_safe
 | 
			
		||||
      - else
 | 
			
		||||
        %p.centered=_'articles.conference_registration.paragraphs.registration_cancelled', :p
 | 
			
		||||
      - if @allow_cancel_attendance
 | 
			
		||||
@ -43,5 +43,6 @@
 | 
			
		||||
    %h3=_'articles.workshops.headings.Workshops', :t
 | 
			
		||||
    %p=_'articles.conference_registration.paragraphs.workshops', :p
 | 
			
		||||
    .actions.centered
 | 
			
		||||
      = link_to (_'articles.conference_registration.actions.View_Workshops'), workshops_path(@this_conference), class: :button
 | 
			
		||||
      = link_to (_'actions.workshops.create'), create_workshop_path(@this_conference), class: [:button, :modify]
 | 
			
		||||
      .buttons
 | 
			
		||||
        = link_to (_'articles.conference_registration.actions.View_Workshops'), workshops_path(@this_conference), class: :button
 | 
			
		||||
        = link_to (_'actions.workshops.create'), create_workshop_path(@this_conference), class: [:button, :modify]
 | 
			
		||||
@ -1234,6 +1234,7 @@ en:
 | 
			
		||||
        administrators: Error updating organizations
 | 
			
		||||
        dates: Error updating dates
 | 
			
		||||
        description: Error saving your conference description
 | 
			
		||||
        group_ride: Error saving your group ride info
 | 
			
		||||
        poster: An error occurred uploading your conference poster
 | 
			
		||||
        payment_message: An error occurred saving your the payment message
 | 
			
		||||
        suggested_amounts: An error occurred saving your payment amounts
 | 
			
		||||
@ -1278,6 +1279,7 @@ en:
 | 
			
		||||
        dates: Conference dates updated successfully
 | 
			
		||||
        description: Conference description updated successfully
 | 
			
		||||
        poster: Conference poster uploaded
 | 
			
		||||
        group_ride: Group ride info saved
 | 
			
		||||
        payment_message: Your payment message has been updated
 | 
			
		||||
        suggested_amounts: Your suggested payment amounts have been updated
 | 
			
		||||
        paypal: Your paypal information has been updated
 | 
			
		||||
@ -1467,6 +1469,7 @@ en:
 | 
			
		||||
          administrators: Administrators and Organizations
 | 
			
		||||
          description: Description
 | 
			
		||||
          poster: Poster
 | 
			
		||||
          group_ride: Group Ride
 | 
			
		||||
          Host_Organizations: Host Organizations
 | 
			
		||||
          External_Administrators: External Administrators
 | 
			
		||||
        description: These are the basic details about your conference that you will
 | 
			
		||||
@ -1476,6 +1479,7 @@ en:
 | 
			
		||||
          dates: Set your conference start and end dates
 | 
			
		||||
          description: Modify the text that is displayed on the front page
 | 
			
		||||
          poster: Upload your conference poster
 | 
			
		||||
          group_ride: Will you be having a group ride before or after the conference? Describe it here.
 | 
			
		||||
          administrators: Set the conference host organizations and other members
 | 
			
		||||
            who have access to these administration tools
 | 
			
		||||
          Host_Organizations: Select all organizations from known organizations in
 | 
			
		||||
@ -1736,6 +1740,7 @@ en:
 | 
			
		||||
        admin:
 | 
			
		||||
          edit:
 | 
			
		||||
            info: Info
 | 
			
		||||
            group_ride: Group ride description
 | 
			
		||||
        companion: Companion
 | 
			
		||||
      paragraphs:
 | 
			
		||||
        group_ride: There will be a group ride before the conference, do you plan to attend?
 | 
			
		||||
@ -1876,6 +1881,7 @@ en:
 | 
			
		||||
        admin:
 | 
			
		||||
          edit:
 | 
			
		||||
            info: This is the copy that is displayed on the front page of the site.
 | 
			
		||||
            group_ride: Describe your group ride. This info may be used on the conference description, emails, or on the registration form.
 | 
			
		||||
          schedule:
 | 
			
		||||
            published: Your scheulde is currently published and viewable on the front-page.
 | 
			
		||||
              Un-publishing the schedule will remove it from the front-page and show
 | 
			
		||||
@ -2072,7 +2078,7 @@ en:
 | 
			
		||||
          one: You and one other are interested in this workshop
 | 
			
		||||
          other: You and %{count} others are interested in this workshop
 | 
			
		||||
          zero: You are interested in this workshop
 | 
			
		||||
        read_more: More info
 | 
			
		||||
        read_more: Details
 | 
			
		||||
    user_settings:
 | 
			
		||||
      headings:
 | 
			
		||||
        Your_Account: Account Settings
 | 
			
		||||
@ -2182,7 +2188,7 @@ en:
 | 
			
		||||
        'yes': 'Yes'
 | 
			
		||||
        'no': 'No'
 | 
			
		||||
        maybe: Maybe
 | 
			
		||||
        review: Complete
 | 
			
		||||
        review: Review
 | 
			
		||||
        back: Back
 | 
			
		||||
        upload: Upload
 | 
			
		||||
        select_file: Select a file
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user