Merge master tidy routes
This commit is contained in:
commit
de8b06c4b3
120 changed files with 1321 additions and 1293 deletions
|
|
@ -16,7 +16,8 @@
|
|||
That means you have
|
||||
%b.notranslate= pluralize(@program.cfp.remaining_days, 'day')
|
||||
left!
|
||||
%span.notranslate #{@conference.title}
|
||||
will only be as good as the content you present. Submit early, submit often!
|
||||
%span.notranslate= @conference.title
|
||||
will only be as good as the content you present.
|
||||
%br Submit early, submit often!
|
||||
- else
|
||||
The submission period is closed now.
|
||||
|
|
|
|||
|
|
@ -11,83 +11,49 @@
|
|||
|
||||
= track_selector_input f
|
||||
|
||||
= f.input :event_type_id, as: :select,
|
||||
collection: @conference.program.event_types.map {|type| ["#{type.title} - #{show_time(type.length)}", type.id,
|
||||
data: { min_words: type.minimum_abstract_length, max_words: type.maximum_abstract_length, help: type.description }]},
|
||||
include_blank: false, label: 'Type', input_html: { class: 'select-help-toggle' }
|
||||
|
||||
- if @program.languages.present?
|
||||
= f.input :language, as: :select,
|
||||
collection: @languages,
|
||||
include_blank: false, label: 'Language', input_html: { class: 'select-help-toggle' }
|
||||
|
||||
- @conference.program.event_types.each do |event_type|
|
||||
%span{ class: 'help-block select-help-text event_event_type_id collapse', id: "#{event_type.id}-help" }
|
||||
= event_type.description
|
||||
- if @program.difficulty_levels.present?
|
||||
= f.input :difficulty_level, as: :select, collection: @program.difficulty_levels,
|
||||
input_html: { class: 'select-help-toggle' },
|
||||
include_blank: '(Please select)' if @conference.program.difficulty_levels.any?
|
||||
|
||||
= f.input :difficulty_level, as: :select, collection: @conference.program.difficulty_levels, input_html: { class: 'select-help-toggle' },
|
||||
include_blank: '(Please select)' if @conference.program.difficulty_levels.any?
|
||||
- @program.difficulty_levels.each do |difficulty_level|
|
||||
%span{ class: 'help-block select-help-text collapse event_difficulty_level_id', id: "#{difficulty_level.id}-help" }
|
||||
= difficulty_level.description
|
||||
|
||||
- @conference.program.difficulty_levels.each do |difficulty_level|
|
||||
%span{ class: 'help-block select-help-text collapse event_difficulty_level_id', id: "#{difficulty_level.id}-help" }
|
||||
= difficulty_level.description
|
||||
|
||||
= f.input :abstract, required: true, input_html: { rows: 5, data: { provide: 'markdown' } },
|
||||
hint: markdown_hint('[Tips to improve your presentations.](http://blog.hubspot.com/blog/tabid/6307/bid/5975/10-Rules-to-Instantly-Improve-Your-Presentations.aspx)')
|
||||
|
||||
%p
|
||||
You have used
|
||||
%span#abstract-count #{@event.abstract_word_count}
|
||||
words. Abstracts must be between
|
||||
%span#abstract-minimum-word-count
|
||||
0
|
||||
and
|
||||
%span#abstract-maximum-word-count
|
||||
250
|
||||
words.
|
||||
|
||||
%br
|
||||
|
||||
= f.input :submission_text, input_html: { rows: 5, data: { provide: 'markdown' }, placeholder: '' },
|
||||
hint: markdown_hint('Only conference organizers will read this.')
|
||||
|
||||
%p
|
||||
You have used
|
||||
%span#submission-count #{@event.submission_word_count}
|
||||
words. Submission descriptions must be between
|
||||
%span#submission-minimum-word-count
|
||||
0
|
||||
and
|
||||
%span#submission-maximum-word-count
|
||||
250
|
||||
words.
|
||||
= render 'proposals/submission_type_content_form', f: f, program: @program
|
||||
|
||||
-# TODO-SNAPCON: Extract this to be a `conference_committee_role?`
|
||||
- if current_user.has_any_role? :admin, { name: :organizer, resource: @conference }, { name: :cfp, resource: @conference }
|
||||
%br
|
||||
= f.input :committee_review, input_html: { rows: 5, data: { provide: 'markdown' }, placeholder: '' },
|
||||
hint: markdown_hint('This field is shared with the submission authors.')
|
||||
= f.input :committee_review, input_html: { rows: 5, data: { provide: 'markdown' } },
|
||||
hint: markdown_hint('This field is shared with the submission authors.')
|
||||
|
||||
- if current_user.is_admin? or @program.cfp.enable_registrations?
|
||||
- if @program.cfp&.enable_registrations?
|
||||
= f.inputs 'Enable pre-registration' do
|
||||
= f.input :require_registration, label: 'Require participants to register to your event'
|
||||
- message = @event.room ? "Value must be between 1 and #{@event.room.size}" : 'Check room capacity after scheduling.'
|
||||
= f.input :max_attendees, hint: 'The maximum number of participants. ' + message
|
||||
|
||||
- if current_user.has_any_role? :admin, { name: :organizer, resource: @conference }, { name: :cfp, resource: @conference }
|
||||
= f.input :is_highlight
|
||||
|
||||
%p.text-right
|
||||
= link_to '#description', 'data-toggle' => 'collapse' do
|
||||
Do you require something special?
|
||||
#description{ class: "collapse #{ 'in' if @event.description.present? }" }
|
||||
= f.input :description, input_html: { rows: 5 }, label: 'Requirements', placeholder: 'Eg. Whiteboard, printer, or something like that.'
|
||||
|
||||
- if current_user.has_any_role? :admin, { name: :organizer, resource: @conference }, { name: :cfp, resource: @conference }
|
||||
%p (Admin Only)
|
||||
= f.input :is_highlight
|
||||
|
||||
%p.text-right
|
||||
- if @event.new_record?
|
||||
= f.submit 'Submit Proposal', class: 'btn btn-success'
|
||||
- else
|
||||
= f.submit 'Update Proposal', class: 'btn btn-success'
|
||||
= f.submit 'Update Proposal', class: 'btn btn-primary'
|
||||
|
||||
:javascript
|
||||
$(document).ready(function() {
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
.speakerinfo
|
||||
.row
|
||||
.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
|
||||
%h4
|
||||
= link_to speaker.name, user_path(speaker.id)
|
||||
%br
|
||||
- if speaker.email_public?
|
||||
= mail_to "#{ speaker.email }" do
|
||||
= mail_to speaker.email.to_s do
|
||||
%i.fa.fa-envelope-o.fa-2x
|
||||
- if speaker.affiliation?
|
||||
.text-muted
|
||||
|
|
|
|||
68
app/views/proposals/_submission_type_content_form.haml
Normal file
68
app/views/proposals/_submission_type_content_form.haml
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
-# PARTIAL FOR EVENT/PROPOSAL FORM
|
||||
|
||||
= f.input :event_type_id, as: :select, include_blank: false, label: 'Type',
|
||||
input_html: { class: 'select-help-toggle' },
|
||||
collection: event_type_options(program.event_types)
|
||||
|
||||
|
||||
- program.event_types.each do |event_type|
|
||||
.help-block.event_event_type_id.collapse{ id: "#{event_type.id}-help" }
|
||||
%strong Description
|
||||
%div
|
||||
= markdown(event_type.description)
|
||||
|
||||
%h3 Submission Abstract
|
||||
%p
|
||||
The abstract is reviewed by the committee and included in the conference program.
|
||||
You are encouraged to include links or other references as appropriate.
|
||||
|
||||
= f.label :abstract, class: 'sr-only'
|
||||
= f.input :abstract, required: true, label: false,
|
||||
input_html: { rows: 5, data: { provide: 'markdown' } },
|
||||
hint: markdown_hint
|
||||
|
||||
%p
|
||||
You have used
|
||||
%span#abstract-count 0
|
||||
words. Abstracts must be between
|
||||
%span#abstract-minimum-word-count 0
|
||||
and
|
||||
%span#abstract-maximum-word-count 250
|
||||
words.
|
||||
|
||||
%hr
|
||||
%h3 Submission Details
|
||||
%p
|
||||
This part of the submission is intended only for the conference committee.
|
||||
|
||||
- program.event_types.each do |event_type|
|
||||
.help-block.select-help-text.event_event_type_id.collapse{ id: "#{event_type.id}-instructions" }
|
||||
- if event_type.submission_instructions.blank?
|
||||
%p
|
||||
Use this space to include any additional inforrmation that is helpful in reviewing your
|
||||
submission. If you have any co-presenters, please include them
|
||||
below. After submission, you will have the opportunity to add them to the
|
||||
speakers list. (However, they must have an active #{ENV['OSEM_NAME']} account.)
|
||||
- else
|
||||
%p
|
||||
Please use the following as the template for your submission. This will help the conference
|
||||
committee review your submission with all the details they need. If you have any
|
||||
co-presenters, please include them below. After submission, you will have the opportunity
|
||||
to add them to the speakers list. (However, they must have an active #{ENV['OSEM_NAME']}
|
||||
account.)
|
||||
.panel.panel-primary
|
||||
.panel-heading
|
||||
= event_type.name
|
||||
Template
|
||||
.panel-body
|
||||
= markdown(event_type.submission_instructions)
|
||||
.panel-footer
|
||||
%button.btn.btn-warning.btn-xs.js-resetSubmissionText{ type: 'button',
|
||||
data: { confirm: 'Do you really want to reset your submission text to the provided template?' } }
|
||||
Reset Submission to Template
|
||||
%span.small You may want to use this if you have changed the submission type.
|
||||
|
||||
= f.label :submission_text, class: 'sr-only'
|
||||
= f.input :submission_text, label: false,
|
||||
input_html: { rows: 10, data: { provide: 'markdown' } },
|
||||
hint: markdown_hint
|
||||
|
|
@ -1,30 +1,31 @@
|
|||
- progress_status = event.progress_status
|
||||
%ul.list-unstyled
|
||||
- if can? :create, @conference.registrations.new
|
||||
%li{'class'=>class_for_todo(progress_status['registered'])}
|
||||
%span{'class'=>icon_for_todo(progress_status['registered'])}
|
||||
- if progress_status['registered']
|
||||
%li{class: class_for_todo(progress_status[:registered])}
|
||||
%span{class: icon_for_todo(progress_status[:registered])}
|
||||
- if progress_status[:registered]
|
||||
Speaker(s) registered to the conference
|
||||
- else
|
||||
= link_to 'Speaker(s) not registered to the conference', new_conference_conference_registration_path(event.program.conference.short_title)
|
||||
%li{'class'=>class_for_todo(progress_status['biographies'])}
|
||||
%span{'class'=>icon_for_todo(progress_status['biographies'])}
|
||||
- if progress_status['biographies']
|
||||
%li{class: class_for_todo(progress_status[:biographies])}
|
||||
%span{class: icon_for_todo(progress_status[:biographies])}
|
||||
- if progress_status[:biographies]
|
||||
Speakers have filled out their biographies
|
||||
- elsif current_user.biography.blank? && event.speakers.include?(current_user)
|
||||
= link_to 'Fill out your biography', edit_user_path(current_user)
|
||||
- else
|
||||
Speakers' biographies missing
|
||||
%li{'class'=>class_for_todo(progress_status['subtitle'])}
|
||||
%span{'class'=>icon_for_todo(progress_status['subtitle'])}
|
||||
%li{class: class_for_todo(progress_status[:subtitle])}
|
||||
%span{class: icon_for_todo(progress_status[:subtitle])}
|
||||
= link_to 'Add a subtitle', edit_conference_program_proposal_path(event.program.conference.short_title, event)
|
||||
%li{'class'=>class_for_todo(progress_status['commercials'])}
|
||||
%span{'class'=>icon_for_todo(progress_status['commercials'])}
|
||||
%li{class: class_for_todo(progress_status[:commercials])}
|
||||
%span{class: icon_for_todo(progress_status[:commercials])}
|
||||
= link_to 'Add materials', edit_conference_program_proposal_path(event.program.conference.short_title, event, anchor: 'commercials-content')
|
||||
- unless progress_status['track'].nil?
|
||||
%li{'class'=>class_for_todo(progress_status['track'])}
|
||||
%span{'class'=>icon_for_todo(progress_status['track'])}
|
||||
- unless progress_status[:track].nil?
|
||||
%li{class: class_for_todo(progress_status[:track])}
|
||||
%span{class: icon_for_todo(progress_status[:track])}
|
||||
= link_to 'Add a track', edit_conference_program_proposal_path(event.program.conference.short_title, event)
|
||||
%li{'class'=>class_for_todo(progress_status['difficulty_level'])}
|
||||
%span{'class'=>icon_for_todo(progress_status['difficulty_level'])}
|
||||
= link_to 'Add a difficulty level', edit_conference_program_proposal_path(event.program.conference.short_title, event)
|
||||
- unless progress_status[:difficulty_level].nil?
|
||||
%li{class: class_for_todo(progress_status[:difficulty_level])}
|
||||
%span{class: icon_for_todo(progress_status[:difficulty_level])}
|
||||
= link_to 'Add a difficulty level', edit_conference_program_proposal_path(event.program.conference.short_title, event)
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
.speakerinfo
|
||||
.row
|
||||
.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
|
||||
%h4
|
||||
= link_to speaker.name, user_path(speaker.id)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
%table.table.table-striped#events
|
||||
- events.each do |event|
|
||||
%tr
|
||||
%td.col-md-7{style: "padding:20px 8px 20px 8px;"}
|
||||
= link_to event.title, conference_program_proposal_path(@conference.short_title, event.id)
|
||||
%td.col-md-7{ style: 'padding:20px 8px 20px 8px;' }
|
||||
= link_to event.title, conference_program_proposal_path(conference.short_title, event.id)
|
||||
%br
|
||||
%small.text-muted
|
||||
= event.event_type.title
|
||||
|
|
@ -10,10 +10,11 @@
|
|||
= "in #{event.track.name}" if event.track
|
||||
- if event.require_registration
|
||||
%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;"}
|
||||
- event_schedule = event.event_schedules.find_by(schedule_id: @program.selected_schedule_id)
|
||||
%td.col-md-2{ style: 'padding:20px 8px 20px 8px;' }
|
||||
- event_schedule = event.event_schedules.find_by(schedule_id: program.selected_schedule_id)
|
||||
- if event_schedule.present?
|
||||
= inyourtz(event_schedule.start_time, @conference.timezone) do
|
||||
= event_schedule.start_time.strftime("%Y %B %e - %H:%M")
|
||||
= inyourtz(event_schedule.start_time, conference.timezone) do
|
||||
= event_schedule.start_time.strftime('%Y %B %e - %H:%M')
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@
|
|||
Volunteer Duties
|
||||
%small
|
||||
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
|
||||
.col-md-12
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
%h1 New #{@conference.title} Proposal
|
||||
- if @program.cfp_open?
|
||||
- if @program.cfp.description.present?
|
||||
%h2 Call for Proposals
|
||||
.row
|
||||
.col-md-12
|
||||
= markdown(@program.cfp.description, escape_html=false)
|
||||
|
|
@ -31,51 +32,22 @@
|
|||
|
||||
= f.inputs name: 'Proposal Information' do
|
||||
= f.input :title, as: :string, required: true, input_html: { required: true }
|
||||
= f.input :event_type_id, as: :select,
|
||||
collection: @program.event_types.map {|type| ["#{type.title} - #{show_time(type.length)}", type.id,
|
||||
data: { min_words: type.minimum_abstract_length, max_words: type.maximum_abstract_length }]},
|
||||
include_blank: false, label: 'Type', input_html: { class: 'select-help-toggle' }
|
||||
|
||||
- @program.event_types.each do |event_type|
|
||||
%div{ class: 'help-block event_event_type_id collapse', id: "#{event_type.id}-help"}
|
||||
%strong Directions
|
||||
%div
|
||||
= markdown(event_type.description)
|
||||
|
||||
- if @program.languages.present?
|
||||
= f.input :language, as: :select,
|
||||
collection: @languages,
|
||||
include_blank: false, label: 'Language', input_html: { class: 'select-help-toggle' }
|
||||
|
||||
= f.input :abstract, required: true, input_html: { rows: 5, data: { provide: 'markdown' } },
|
||||
hint: markdown_hint
|
||||
|
||||
%p
|
||||
You have used
|
||||
%span#abstract-count #{@event.abstract_word_count}
|
||||
words. Abstracts must be between
|
||||
%span#abstract-minimum-word-count
|
||||
0
|
||||
and
|
||||
%span#abstract-maximum-word-count
|
||||
250
|
||||
words.
|
||||
|
||||
= f.input :submission_text, input_html: { rows: 5, data: { provide: 'markdown' } },
|
||||
hint: markdown_hint
|
||||
|
||||
%p
|
||||
You have used
|
||||
%span#submission-count #{@event.submission_word_count}
|
||||
words. Submission descriptions must be between
|
||||
%span#submission-minimum-word-count
|
||||
0
|
||||
and
|
||||
%span#submission-maximum-word-count
|
||||
250
|
||||
words.
|
||||
- if @program.difficulty_levels.present?
|
||||
= f.input :difficulty_level, as: :select, collection: @program.difficulty_levels,
|
||||
input_html: { class: 'select-help-toggle' },
|
||||
include_blank: '(Please select)' if @conference.program.difficulty_levels.any?
|
||||
|
||||
- @program.difficulty_levels.each do |difficulty_level|
|
||||
%span.help-block.select-help-text.collapse.event_difficulty_level_id{ id: "#{difficulty_level.id}-help" }
|
||||
= difficulty_level.description
|
||||
|
||||
= render 'submission_type_content_form', f: f, program: @program
|
||||
|
||||
- if @program.cfp.enable_registrations?
|
||||
= f.input :require_registration, label: 'Require participants to register to your event'
|
||||
|
|
@ -88,7 +60,7 @@
|
|||
= f.input :description, input_html: { rows: 5 }, label: 'Requirements', placeholder: 'Eg. Whiteboard, printer, or something like that.'
|
||||
|
||||
%p.text-right
|
||||
= f.submit 'Submit Proposal', class: 'btn btn-success'
|
||||
= f.submit 'Submit Proposal', class: 'btn btn-success btn-lg'
|
||||
|
||||
.tab-pane{role: 'tabpanel', id: 'signin'}
|
||||
= render partial: 'devise/shared/sign_in_form_embedded'
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue