Merge branch 'master' of https://github.com/CactusPuppy/snapcon into 177195121-improve-email-templates
This commit is contained in:
commit
362853f4df
20 changed files with 136 additions and 149 deletions
15
.travis.yml
15
.travis.yml
|
|
@ -16,6 +16,8 @@ before_install:
|
||||||
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
|
- "echo 'gem: --no-ri --no-rdoc' > ~/.gemrc"
|
||||||
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
||||||
- gem install bundler -v $(tail -n 1 Gemfile.lock)
|
- gem install bundler -v $(tail -n 1 Gemfile.lock)
|
||||||
|
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > $CCTR
|
||||||
|
- chmod +x $CCTR
|
||||||
notifications:
|
notifications:
|
||||||
email:
|
email:
|
||||||
on_success: change
|
on_success: change
|
||||||
|
|
@ -26,20 +28,17 @@ notifications:
|
||||||
on_success: change
|
on_success: change
|
||||||
on_failure: change
|
on_failure: change
|
||||||
before_script:
|
before_script:
|
||||||
# install CodeClimate test reporter and tell it we are starting a test run
|
|
||||||
# - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > $CCTR
|
|
||||||
# - chmod +x $CCTR
|
|
||||||
# - $CCTR before-build
|
|
||||||
- RAILS_ENV=test bundle exec rake db:bootstrap --trace
|
- RAILS_ENV=test bundle exec rake db:bootstrap --trace
|
||||||
- RAILS_ENV=test bundle exec bin/rails webdrivers:chromedriver:update
|
- RAILS_ENV=test bundle exec bin/rails webdrivers:chromedriver:update
|
||||||
|
- $CCTR before-build
|
||||||
script:
|
script:
|
||||||
- "bin/travis_script.sh $TEST_SUITE"
|
- "bin/travis_script.sh $TEST_SUITE"
|
||||||
# TODO Get this working.
|
# TODO Get this working.
|
||||||
# - $CCTR format-coverage -t simplecov --output coverage/codeclimate.$SUITE.json
|
after_script:
|
||||||
# after_script:
|
|
||||||
# combine coverage from all suites, and upload3 to CodeClimate
|
# combine coverage from all suites, and upload3 to CodeClimate
|
||||||
# - $CCTR sum-coverage coverage/codeclimate.*.json | $CCTR upload-coverage
|
- $CCTR format-coverage -t simplecov --output coverage/codeclimate.$TEST_SUITE.json
|
||||||
# - $CCTR after-build --exit-code $TRAVIS_TEST_RESULT
|
- $CCTR sum-coverage coverage/codeclimate.*.json
|
||||||
|
- if [[ "$TRAVIS_TEST_RESULT" == 0 ]]; then $CCTR upload-coverage; fi
|
||||||
|
|
||||||
env:
|
env:
|
||||||
global:
|
global:
|
||||||
|
|
|
||||||
2
Gemfile
2
Gemfile
|
|
@ -266,7 +266,7 @@ group :test do
|
||||||
gem 'pdf-inspector', require: "pdf/inspector"
|
gem 'pdf-inspector', require: "pdf/inspector"
|
||||||
end
|
end
|
||||||
|
|
||||||
group :development, :test do
|
group :development, :test, :linters do
|
||||||
# as debugger
|
# as debugger
|
||||||
gem 'byebug'
|
gem 'byebug'
|
||||||
gem 'pry'
|
gem 'pry'
|
||||||
|
|
|
||||||
|
|
@ -29,8 +29,9 @@
|
||||||
= render 'line_chart',
|
= render 'line_chart',
|
||||||
title: 'Submissions per week', data: @submissions
|
title: 'Submissions per week', data: @submissions
|
||||||
.col-md-4
|
.col-md-4
|
||||||
-# = render 'todo_list',
|
-#
|
||||||
-# conference_progress: @conference_progress, conference: @conference
|
= render 'todo_list',
|
||||||
|
conference_progress: @conference_progress, conference: @conference
|
||||||
.row#tickets
|
.row#tickets
|
||||||
.col-md-8
|
.col-md-8
|
||||||
= render 'line_chart',
|
= render 'line_chart',
|
||||||
|
|
@ -58,22 +59,27 @@
|
||||||
= render 'donut_chart', title: 'Event types',
|
= render 'donut_chart', title: 'Event types',
|
||||||
combined_data: @event_type_distribution
|
combined_data: @event_type_distribution
|
||||||
.col-md-4
|
.col-md-4
|
||||||
-# = render 'donut_chart', title: 'Difficulty levels',
|
-#
|
||||||
-# combined_data: @difficulty_levels_distribution
|
= render 'donut_chart', title: 'Difficulty levels',
|
||||||
|
combined_data: @difficulty_levels_distribution
|
||||||
.col-md-4
|
.col-md-4
|
||||||
-# = render 'donut_chart', title: 'Tracks',
|
-#
|
||||||
-# combined_data: @tracks_distribution
|
= render 'donut_chart', title: 'Tracks',
|
||||||
|
combined_data: @tracks_distribution
|
||||||
.tab-pane#distribution_confirmed
|
.tab-pane#distribution_confirmed
|
||||||
.row
|
.row
|
||||||
.col-md-4
|
.col-md-4
|
||||||
-# = render 'donut_chart', title: 'Event types',
|
-#
|
||||||
-# combined_data: @event_type_distribution_confirmed
|
= render 'donut_chart', title: 'Event types',
|
||||||
|
combined_data: @event_type_distribution_confirmed
|
||||||
.col-md-4
|
.col-md-4
|
||||||
-# = render 'donut_chart', title: 'Difficulty levels',
|
-#
|
||||||
-# combined_data: @difficulty_levels_distribution_confirmed
|
= render 'donut_chart', title: 'Difficulty levels',
|
||||||
|
combined_data: @difficulty_levels_distribution_confirmed
|
||||||
.col-md-4
|
.col-md-4
|
||||||
-# = render 'donut_chart', title: 'Tracks',
|
-#
|
||||||
-# combined_data: @tracks_distribution_confirmed
|
= render 'donut_chart', title: 'Tracks',
|
||||||
|
combined_data: @tracks_distribution_confirmed
|
||||||
.tab-pane#distribution_withdrawn
|
.tab-pane#distribution_withdrawn
|
||||||
.row
|
.row
|
||||||
.col-md-4
|
.col-md-4
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
.panel.panel-default{class: ("panel-success" if event.registrations.include?(@registration)) }
|
.panel.panel-default{ class: ('panel-success' if event.registrations.include?(registration)) }
|
||||||
.panel-heading
|
.panel-heading
|
||||||
%label{for: "registration_event_ids_#{event.id}"}
|
%label{ for: "registration_event_ids_#{event.id}" }
|
||||||
%h3{style: 'margin: 0 auto;'}
|
%h3{ style: 'margin: 0 auto;' }
|
||||||
= hidden_field_tag "registration[event_ids][]", nil
|
= hidden_field_tag 'registration[event_ids][]', nil
|
||||||
= check_box_tag "registration[event_ids][]", event.id, event.registrations.include?(@registration), id: "registration_event_ids_#{event.id}"
|
= check_box_tag 'registration[event_ids][]', event.id, event.registrations.include?(registration), id: "registration_event_ids_#{event.id}"
|
||||||
= event.title
|
= event.title
|
||||||
%small
|
%small
|
||||||
= event.subtitle
|
= event.subtitle
|
||||||
|
|
@ -13,26 +13,27 @@
|
||||||
(Scheduled on: #{event.time.to_date})
|
(Scheduled on: #{event.time.to_date})
|
||||||
|
|
||||||
.panel-body
|
.panel-body
|
||||||
-# %p
|
-#
|
||||||
-# = canceled_replacement_event_label(event, event_schedule)
|
%p
|
||||||
-# = replacement_event_notice(event_schedule)
|
= canceled_replacement_event_label(event, event_schedule)
|
||||||
|
= replacement_event_notice(event_schedule)
|
||||||
%p
|
%p
|
||||||
- if event.speakers.any?
|
- if event.speakers.any?
|
||||||
presented by #{event.speaker_names}
|
presented by #{event.speaker_names}
|
||||||
- if event_schedule.present?
|
- if event_schedule.present?
|
||||||
.h4.track
|
.h4.track
|
||||||
%span.fa.fa-clock-o
|
%span.fa.fa-clock-o
|
||||||
%span.label{ style: "background-color: grey" }
|
%span.label{ style: 'background-color: grey' }
|
||||||
= event_schedule.start_time.strftime('%A, %B %-d %H:%M')
|
= event_schedule.start_time.strftime('%A, %B %-d %H:%M')
|
||||||
\-
|
\-
|
||||||
= event_schedule.end_time.strftime('%H:%M')
|
= event_schedule.end_time.strftime('%H:%M')
|
||||||
%p
|
%p
|
||||||
= markdown(truncate(event.abstract, length: 250))
|
= markdown(truncate(event.abstract, length: 250))
|
||||||
-# TODO: More informative text or aria-label.
|
-# TODO: More informative text or aria-label.
|
||||||
= link_to 'more', conference_program_proposal_path(@conference.short_title, event.id), target: '_blank'
|
= link_to 'more', conference_program_proposal_path(conference.short_title, event.id), target: '_blank'
|
||||||
|
|
||||||
- if event.track
|
- if event.track
|
||||||
%span.track
|
%span.track
|
||||||
%span.fa.fa-road
|
%span.fa.fa-road
|
||||||
%span.label{ style: "background-color: #{event.track.color}; color: #{ contrast_color(event.track.color) }" }
|
%span.label{ style: "background-color: #{event.track.color}; color: #{contrast_color(event.track.color)}" }
|
||||||
= event.track.name
|
= event.track.name
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,6 @@
|
||||||
You are registered for #{pluralize(@registration.events.count, 'event')}.
|
You are registered for #{pluralize(@registration.events.count, 'event')}.
|
||||||
They are at the end of this list.
|
They are at the end of this list.
|
||||||
- @registration.events_ordered.each do |event|
|
- @registration.events_ordered.each do |event|
|
||||||
= render 'conference_registrations/event', event: event, event_schedule: event.event_schedules.first
|
= render 'conference_registrations/event', event: event, event_schedule: event.event_schedules.first, conference: @conference, registration: @registration
|
||||||
|
|
||||||
= render 'conferences/code_of_conduct', organization: @conference.organization
|
= render 'conferences/code_of_conduct', organization: @conference.organization
|
||||||
|
|
|
||||||
|
|
@ -1,14 +1,15 @@
|
||||||
-# .scroll-top-wrapper
|
-#
|
||||||
-# = link_to "#banner", class: "smoothscroll" do
|
scroll-top-wrapper
|
||||||
-# %i.fa.fa-2x.fa-arrow-circle-up
|
= link_to "#banner", class: "smoothscroll" do
|
||||||
|
%i.fa.fa-2x.fa-arrow-circle-up
|
||||||
|
|
||||||
-# :javascript
|
:javascript
|
||||||
-# $(function(){
|
$(function(){
|
||||||
-# $(document).on( 'scroll', function(){
|
$(document).on( 'scroll', function(){
|
||||||
-# if ($(window).scrollTop() > 100) {
|
if ($(window).scrollTop() > 100) {
|
||||||
-# $('.scroll-top-wrapper').addClass('show');
|
$('.scroll-top-wrapper').addClass('show');
|
||||||
-# } else {
|
} else {
|
||||||
-# $('.scroll-top-wrapper').removeClass('show');
|
$('.scroll-top-wrapper').removeClass('show');
|
||||||
-# }
|
}
|
||||||
-# });
|
});
|
||||||
-# });
|
});
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,14 @@
|
||||||
#banner{ style: ("background-image: url(#{conference.picture_url})" if conference.picture_url) }
|
#banner{ style: ("background-image: url(#{conference.picture_url})" if conference.picture_url) }
|
||||||
.container
|
.container
|
||||||
.row
|
.row
|
||||||
.col-md-6.col-md-offset-3{id: (conference.picture? ? "header-image" : "header-no-image")}
|
.col-md-6.col-md-offset-3{ id: (conference.picture? ? "header-image" : "header-no-image") }
|
||||||
.row
|
.row
|
||||||
-# - if conference.picture?
|
-#
|
||||||
-# .col-md-4
|
- if conference.picture?
|
||||||
-# = image_tag(conference.picture_url,
|
.col-md-4
|
||||||
-# class: 'img-responsive img-center',
|
= image_tag(conference.picture_url,
|
||||||
-# id: 'splash-logo')
|
class: 'img-responsive img-center',
|
||||||
|
id: 'splash-logo')
|
||||||
.col-md-8
|
.col-md-8
|
||||||
%h1
|
%h1
|
||||||
= conference.title.html_safe
|
= conference.title.html_safe
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
%li
|
%li
|
||||||
%a.smoothscroll{ href: '#program' } Program
|
%a.smoothscroll{ href: '#program' } Program
|
||||||
%li
|
%li
|
||||||
= link_to('Schedule', events_conference_schedule_path(@conference))
|
= link_to('Schedule', events_conference_schedule_path(conference))
|
||||||
|
|
||||||
- cache [conference, highlights, tracks, booths, '#splash#program'] do
|
- cache [conference, highlights, tracks, booths, '#splash#program'] do
|
||||||
%section#program
|
%section#program
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
%h3.text-center
|
%h3.text-center
|
||||||
= "Interested in sponsoring #{conference.title}?"
|
Interested in sponsoring #{conference.title}?
|
||||||
= link_to(sponsorship_mailto(conference)) do
|
= link_to(sponsorship_mailto(conference)) do
|
||||||
Please, contact us!
|
Please, contact us!
|
||||||
.trapezoid
|
.trapezoid
|
||||||
|
|
|
||||||
|
|
@ -22,6 +22,6 @@
|
||||||
.word_break
|
.word_break
|
||||||
= short_ticket_description(ticket)
|
= short_ticket_description(ticket)
|
||||||
%button.btn-block.btn.btn-lg.btn-success
|
%button.btn-block.btn.btn-lg.btn-success
|
||||||
%i.fa.fa-ticket.fa-fw{"aria-hidden": true}
|
%i.fa.fa-ticket.fa-fw{ "aria-hidden": true }
|
||||||
= humanized_money_with_symbol(ticket.price)
|
= humanized_money_with_symbol(ticket.price)
|
||||||
.trapezoid
|
.trapezoid
|
||||||
|
|
|
||||||
|
|
@ -20,25 +20,23 @@
|
||||||
- if @unpaid_tickets
|
- if @unpaid_tickets
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.alert.alert-dismissable.alert-info.text-center#unpaid-tickets{role: 'alert'}
|
.alert.alert-dismissable.alert-info.text-center#unpaid-tickets{ role: 'alert' }
|
||||||
%button.button.close{"data-dismiss" => "alert", "aria-label"=>"close"}
|
%button.button.close{ "data-dismiss" => "alert", "aria-label"=>"close" }
|
||||||
×
|
×
|
||||||
%p
|
%p
|
||||||
You have unpaid tickets. Please complete your purchase.
|
You have unpaid tickets. Please complete your purchase.
|
||||||
= link_to('Purchase Tickets', new_conference_payment_path(@conference), class: 'btn btn-success btn-lg')
|
= link_to('Purchase Tickets', new_conference_payment_path(@conference), class: 'btn btn-success btn-lg')
|
||||||
|
|
||||||
|
|
||||||
- if @user_needs_to_register
|
- if @user_needs_to_register
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.alert.alert-dismissable.alert-warning.text-center#flash{role: 'alert'}
|
.alert.alert-dismissable.alert-warning.text-center#flash{ role: 'alert' }
|
||||||
%button.button.close{"data-dismiss" => "alert", 'aria-label': 'close'}
|
%button.button.close{ "data-dismiss" => "alert", 'aria-label': 'close' }
|
||||||
×
|
×
|
||||||
%p
|
%p
|
||||||
You still need to complete your registration for #{@conference.title}.
|
You still need to complete your registration for #{@conference.title}.
|
||||||
= link_to('Complete Registration', new_conference_conference_registration_path(@conference), class: 'btn btn-success btn-lg')
|
= link_to('Complete Registration', new_conference_conference_registration_path(@conference), class: 'btn btn-success btn-lg')
|
||||||
|
|
||||||
|
|
||||||
#splash
|
#splash
|
||||||
- if @conference.code_of_conduct.present?
|
- if @conference.code_of_conduct.present?
|
||||||
= render 'code_of_conduct', organization: @conference.organization
|
= render 'code_of_conduct', organization: @conference.organization
|
||||||
|
|
@ -79,29 +77,8 @@
|
||||||
sponsorship_levels: @sponsorship_levels,
|
sponsorship_levels: @sponsorship_levels,
|
||||||
sponsors: @sponsors
|
sponsors: @sponsors
|
||||||
|
|
||||||
|
|
||||||
-# footer
|
-# footer
|
||||||
- if @conference.splashpage.include_social_media
|
- if @conference.splashpage.include_social_media
|
||||||
- if @conference.contact.has_social_media?
|
- if @conference.contact.has_social_media?
|
||||||
= render 'social_media', contact: @conference.contact
|
= render 'social_media', contact: @conference.contact
|
||||||
= render 'footer'
|
= render 'footer'
|
||||||
|
|
||||||
|
|
||||||
-# - content_for :script_head do
|
|
||||||
-# :javascript
|
|
||||||
-# var triangle_tcs = tinycolor("#{h(@conference.color)}").monochromatic();
|
|
||||||
-# var triangle_colors = triangle_tcs.map(function(t) {
|
|
||||||
-# return t.toHexString();
|
|
||||||
-# });
|
|
||||||
-# $(function () {
|
|
||||||
-# $(document).ready(function() {
|
|
||||||
-# var triangle_width = document.body.clientWidth;
|
|
||||||
-# var triangle_height = ($( "#banner" ).height() + 200 );
|
|
||||||
-# var pattern = Trianglify({ width: triangle_width,
|
|
||||||
-# height: triangle_height,
|
|
||||||
-# cell_size: 100,
|
|
||||||
-# x_colors: triangle_colors
|
|
||||||
-# });
|
|
||||||
-# $('#banner').css('background-image', 'url(' + 0 + ')');
|
|
||||||
-# });
|
|
||||||
-# });
|
|
||||||
|
|
|
||||||
|
|
@ -51,37 +51,38 @@
|
||||||
= link_to(sign_in_path) do
|
= link_to(sign_in_path) do
|
||||||
%span.fa.fa-user
|
%span.fa.fa-user
|
||||||
Sign In
|
Sign In
|
||||||
-# %li.dropdown.visible-desktop
|
-#
|
||||||
-# %a.dropdown-toggle{"data-toggle" => "dropdown", href: '#'}
|
%li.dropdown.visible-desktop
|
||||||
-# %span.fa.fa-user
|
%a.dropdown-toggle{"data-toggle" => "dropdown", href: '#'}
|
||||||
-# Sign In
|
%span.fa.fa-user
|
||||||
-# %span.caret
|
Sign In
|
||||||
-# .dropdown-menu
|
%span.caret
|
||||||
-# - if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
.dropdown-menu
|
||||||
-# = form_tag User.ichain_login_url do
|
- if ENV['OSEM_ICHAIN_ENABLED'] == 'true'
|
||||||
-# = text_field_tag 'username', nil, id: 'user_ichain_email_dd', class: 'form-control', placeholder: 'Username'
|
= form_tag User.ichain_login_url do
|
||||||
-# = password_field_tag 'password', nil, id: 'user_ichain_password_dd', class: 'form-control', placeholder: 'Password'
|
= text_field_tag 'username', nil, id: 'user_ichain_email_dd', class: 'form-control', placeholder: 'Username'
|
||||||
-# %button.btn.btn-success.btn-block Sign in
|
= password_field_tag 'password', nil, id: 'user_ichain_password_dd', class: 'form-control', placeholder: 'Password'
|
||||||
-# - else
|
%button.btn.btn-success.btn-block Sign in
|
||||||
-# %div{style: "padding: 6px"}
|
- else
|
||||||
-# = form_tag new_user_session_path, class: 'form-group' do
|
%div{style: "padding: 6px"}
|
||||||
-# = text_field_tag 'user[login]', nil, id: 'user_login_dd', class: 'form-control', placeholder: 'Username / E-Mail'
|
= form_tag new_user_session_path, class: 'form-group' do
|
||||||
-# = password_field_tag 'user[password]', nil, id: 'user_password_dd', class: 'form-control', placeholder: 'Password'
|
= text_field_tag 'user[login]', nil, id: 'user_login_dd', class: 'form-control', placeholder: 'Username / E-Mail'
|
||||||
-# %p.text-right
|
= password_field_tag 'user[password]', nil, id: 'user_password_dd', class: 'form-control', placeholder: 'Password'
|
||||||
-# %small
|
%p.text-right
|
||||||
-# %label{for: 'user_remember_me'} Remember me
|
%small
|
||||||
-# = check_box_tag 'user[remember_me]'
|
%label{for: 'user_remember_me'} Remember me
|
||||||
-# %br
|
= check_box_tag 'user[remember_me]'
|
||||||
-# %button.btn.btn-success.btn-block Sign in
|
%br
|
||||||
-# - unless omniauth_configured.empty?
|
%button.btn.btn-success.btn-block Sign in
|
||||||
-# .divider
|
- unless omniauth_configured.empty?
|
||||||
-# %h6.text-center
|
.divider
|
||||||
-# or
|
%h6.text-center
|
||||||
-# = render 'devise/shared/openid_links'
|
or
|
||||||
-# %p.text-right
|
= render 'devise/shared/openid_links'
|
||||||
-# %br
|
%p.text-right
|
||||||
-# %a.small.btn.btn-xs.btn-default{"data-toggle" => "collapse", "data-target" => "#navbar-devise-help"}
|
%br
|
||||||
-# Need Help?
|
%a.small.btn.btn-xs.btn-default{"data-toggle" => "collapse", "data-target" => "#navbar-devise-help"}
|
||||||
-# #navbar-devise-help.collapse
|
Need Help?
|
||||||
-# = render 'devise/shared/links'
|
#navbar-devise-help.collapse
|
||||||
|
= render 'devise/shared/links'
|
||||||
.trapezoid
|
.trapezoid
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
-# TODO: And if they have a registration ticket?
|
-# TODO: And if they have a registration ticket?
|
||||||
- if !@conference.user_registered?(@user) && @has_registration_ticket
|
- if !@conference.user_registered?(@user) && @has_registration_ticket
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.alert.alert-success{role: 'alert'}
|
.alert.alert-success{ role: 'alert' }
|
||||||
= link_to 'Complete Registration',
|
= link_to 'Complete Registration',
|
||||||
new_conference_conference_registration_path(@conference),
|
new_conference_conference_registration_path(@conference),
|
||||||
class: 'btn btn-info pull-right btn-lg'
|
class: 'btn btn-info pull-right btn-lg'
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
That means you have
|
That means you have
|
||||||
%b.notranslate= pluralize(@program.cfp.remaining_days, 'day')
|
%b.notranslate= pluralize(@program.cfp.remaining_days, 'day')
|
||||||
left!
|
left!
|
||||||
%span.notranslate #{@conference.title}
|
%span.notranslate= @conference.title
|
||||||
will only be as good as the content you present. Submit early, submit often!
|
will only be as good as the content you present. Submit early, submit often!
|
||||||
- else
|
- else
|
||||||
The submission period is closed now.
|
The submission period is closed now.
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,13 @@
|
||||||
.speakerinfo
|
.speakerinfo
|
||||||
.row
|
.row
|
||||||
.col-md-4
|
.col-md-4
|
||||||
= image_tag speaker.profile_picture(:size => 120), class: 'img-responsive img-rounded'
|
= image_tag speaker.profile_picture(size: 120), class: 'img-responsive img-rounded'
|
||||||
.col-md-8
|
.col-md-8
|
||||||
%h4
|
%h4
|
||||||
= link_to speaker.name, user_path(speaker.id)
|
= link_to speaker.name, user_path(speaker.id)
|
||||||
%br
|
%br
|
||||||
- if speaker.email_public?
|
- if speaker.email_public?
|
||||||
= mail_to "#{ speaker.email }" do
|
= mail_to speaker.email.to_s do
|
||||||
%i.fa.fa-envelope-o.fa-2x
|
%i.fa.fa-envelope-o.fa-2x
|
||||||
- if speaker.affiliation?
|
- if speaker.affiliation?
|
||||||
.text-muted
|
.text-muted
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
.speakerinfo
|
.speakerinfo
|
||||||
.row
|
.row
|
||||||
.col-md-4
|
.col-md-4
|
||||||
= image_tag speaker.profile_picture(:size => 120), class: 'img-responsive img-rounded'
|
= image_tag speaker.profile_picture(size: 120), class: 'img-responsive img-rounded'
|
||||||
.col-md-8
|
.col-md-8
|
||||||
%h4
|
%h4
|
||||||
= link_to speaker.name, user_path(speaker.id)
|
= link_to speaker.name, user_path(speaker.id)
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
%table.table.table-striped#events
|
%table.table.table-striped#events
|
||||||
- events.each do |event|
|
- events.each do |event|
|
||||||
%tr
|
%tr
|
||||||
%td.col-md-7{style: "padding:20px 8px 20px 8px;"}
|
%td.col-md-7{ style: 'padding:20px 8px 20px 8px;' }
|
||||||
= link_to event.title, conference_program_proposal_path(@conference.short_title, event.id)
|
= link_to event.title, conference_program_proposal_path(conference.short_title, event.id)
|
||||||
%br
|
%br
|
||||||
%small.text-muted
|
%small.text-muted
|
||||||
= event.event_type.title
|
= event.event_type.title
|
||||||
|
|
@ -10,10 +10,11 @@
|
||||||
= "in #{event.track.name}" if event.track
|
= "in #{event.track.name}" if event.track
|
||||||
- if event.require_registration
|
- if event.require_registration
|
||||||
%br
|
%br
|
||||||
= link_to registered_text(event), registrations_conference_program_proposal_path(@conference.short_title, event), class: 'btn btn-xs btn-danger'
|
= link_to registered_text(event), registrations_conference_program_proposal_path(conference.short_title, event),
|
||||||
|
class: 'btn btn-xs btn-danger'
|
||||||
|
|
||||||
%td.col-md-2{style: "padding:20px 8px 20px 8px;"}
|
%td.col-md-2{ style: 'padding:20px 8px 20px 8px;' }
|
||||||
- event_schedule = event.event_schedules.find_by(schedule_id: @program.selected_schedule_id)
|
- event_schedule = event.event_schedules.find_by(schedule_id: program.selected_schedule_id)
|
||||||
- if event_schedule.present?
|
- if event_schedule.present?
|
||||||
= inyourtz(event_schedule.start_time, @conference.timezone) do
|
= inyourtz(event_schedule.start_time, conference.timezone) do
|
||||||
= event_schedule.start_time.strftime("%Y %B %e - %H:%M")
|
= event_schedule.start_time.strftime('%Y %B %e - %H:%M')
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@
|
||||||
Volunteer Duties
|
Volunteer Duties
|
||||||
%small
|
%small
|
||||||
Thanks for being a host at #{@conference.title}
|
Thanks for being a host at #{@conference.title}
|
||||||
= render 'volunteers_table', events: @volunteer_events
|
= render 'volunteers_table', events: @volunteer_events, conference: @conference, program: @program
|
||||||
|
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,20 @@
|
||||||
.panel.panel-default.event-panel{ onClick: 'eventClicked(event, this);', "data-url" => "#{url_for(conference_program_proposal_path(@conference.short_title, event.id))}" }
|
.panel.panel-default.event-panel{ onClick: 'eventClicked(event, this);', 'data-url' => "#{url_for(conference_program_proposal_path(@conference.short_title, event.id))}" }
|
||||||
- header_color = event.event_type&.color || '#f5f5f5'
|
- header_color = event.event_type&.color || '#f5f5f5'
|
||||||
.trapezoid{style: "color: white; top: 12px; z-index: 100;"}
|
.trapezoid{ style: 'color: white; top: 12px; z-index: 100;' }
|
||||||
.panel-heading{ style: "background-color: #{header_color}; color: #{ contrast_color(header_color) }; border-radius: 4px" }
|
.panel-heading{ style: "background-color: #{header_color}; color: #{ contrast_color(header_color) }; border-radius: 4px" }
|
||||||
- event.speakers_ordered.each do |speaker|
|
- event.speakers_ordered.each do |speaker|
|
||||||
= image_tag speaker.profile_picture, class: "img-circle pull-right", alt: speaker.name, style: "padding: 2px;"
|
= image_tag speaker.profile_picture, class: 'img-circle pull-right', alt: speaker.name, style: 'padding: 2px;'
|
||||||
|
|
||||||
%p
|
%p
|
||||||
= canceled_replacement_event_label(event, event_schedule)
|
= canceled_replacement_event_label(event, event_schedule)
|
||||||
= replacement_event_notice(event_schedule)
|
= replacement_event_notice(event_schedule)
|
||||||
|
|
||||||
%span.h3{style: "margin-bottom: 14px"}
|
%span.h3{ style: 'margin-bottom: 14px' }
|
||||||
= event.title
|
= event.title
|
||||||
%br
|
%br
|
||||||
%small{style: "color: #{contrast_color(header_color)}"}
|
%small{ style: "color: #{contrast_color(header_color)}" }
|
||||||
= event.subtitle
|
= event.subtitle
|
||||||
.trapezoid{style: "color: #{header_color}; top: 12px;"}
|
.trapezoid{ style: "color: #{header_color}; top: 12px;" }
|
||||||
|
|
||||||
.panel-body
|
.panel-body
|
||||||
%h4
|
%h4
|
||||||
|
|
@ -30,13 +30,13 @@
|
||||||
= inyourtz(event_schedule.start_time) do
|
= inyourtz(event_schedule.start_time) do
|
||||||
%span.track
|
%span.track
|
||||||
%span.fa.fa-clock-o
|
%span.fa.fa-clock-o
|
||||||
%span.label{ style: "background-color: grey" }
|
%span.label{ style: 'background-color: grey' }
|
||||||
= event_schedule.start_time.strftime('%l:%M %P')
|
= event_schedule.start_time.strftime('%l:%M %P')
|
||||||
\-
|
\-
|
||||||
= event_schedule.end_time.strftime('%l:%M %P')
|
= event_schedule.end_time.strftime('%l:%M %P')
|
||||||
%span.track
|
%span.track
|
||||||
%span.fa.fa-map-marker
|
%span.fa.fa-map-marker
|
||||||
%span.label{ style: "background-color: grey" }
|
%span.label{ style: 'background-color: grey' }
|
||||||
= event_schedule.room.name
|
= event_schedule.room.name
|
||||||
- if event.track
|
- if event.track
|
||||||
%span.track
|
%span.track
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
%h3
|
%h3
|
||||||
This page was loaded at
|
This page was loaded at
|
||||||
= inyourtz(Time.now) do
|
= inyourtz(Time.now) do
|
||||||
#{Time.now.strftime('%a %b %d at %I:%M %P (%z)')}
|
Time.now.strftime('%a %b %d at %I:%M %P (%z)').to_s
|
||||||
|
|
||||||
.row
|
.row
|
||||||
/ TODO: Clean this up, merge with all events page.
|
/ TODO: Clean this up, merge with all events page.
|
||||||
|
|
@ -23,12 +23,15 @@
|
||||||
- unless event_schedule.start_time.strftime('%Y-%m-%d').eql?(date)
|
- unless event_schedule.start_time.strftime('%Y-%m-%d').eql?(date)
|
||||||
.col-xs-12.col-md-12
|
.col-xs-12.col-md-12
|
||||||
.date-content
|
.date-content
|
||||||
%span{ class: 'date-title', id: "#{ event_schedule.start_time.strftime('%Y-%m-%d') }" }
|
%span.date-title{ id: event_schedule.start_time.strftime('%Y-%m-%d').to_s }
|
||||||
= inyourtz(event_schedule.start_time, @conference.timezone) do
|
= inyourtz(event_schedule.start_time, @conference.timezone) do
|
||||||
= date = event_schedule.start_time.strftime('%Y-%m-%d')
|
= date = event_schedule.start_time.strftime('%Y-%m-%d')
|
||||||
%a{ title: "Go up", class: "pull-right", href: "#program" }
|
%a.pull-right{ title: 'Go up', href: '#program' }
|
||||||
%i{ class: "fa fa-angle-double-up fa-lg", 'aria-hidden' => true }
|
%i.fa.fa-angle-double-up.fa-lg{ 'aria-hidden' => true }
|
||||||
- unless event_schedule.start_time.strftime('%H:%M').eql?(time)
|
- if event_schedule.start_time.strftime('%H:%M').eql?(time)
|
||||||
|
.col-xs-12.col-md-11.col-md-offset-1
|
||||||
|
= render 'event', event: event_schedule.event, event_schedule: event_schedule
|
||||||
|
- else
|
||||||
.col-xs-12.col-md-1
|
.col-xs-12.col-md-1
|
||||||
.start-time
|
.start-time
|
||||||
= inyourtz(event_schedule.start_time, @conference.timezone) do
|
= inyourtz(event_schedule.start_time, @conference.timezone) do
|
||||||
|
|
@ -36,9 +39,6 @@
|
||||||
.col-xs-12.col-md-11
|
.col-xs-12.col-md-11
|
||||||
.new-time-event
|
.new-time-event
|
||||||
= render 'event', event: event_schedule.event, event_schedule: event_schedule
|
= render 'event', event: event_schedule.event, event_schedule: event_schedule
|
||||||
- else
|
|
||||||
.col-xs-12.col-md-11.col-md-offset-1
|
|
||||||
= render 'event', event: event_schedule.event, event_schedule: event_schedule
|
|
||||||
|
|
||||||
:javascript
|
:javascript
|
||||||
// Refresh the page every 5 minutes.
|
// Refresh the page every 5 minutes.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue