Merge master
This commit is contained in:
commit
7586112f72
217 changed files with 2853 additions and 3035 deletions
|
|
@ -1,4 +1,4 @@
|
|||
- headers = ['Booth ID',
|
||||
- headers = ["#{(t'booth').capitalize } ID",
|
||||
'Title',
|
||||
'Description',
|
||||
'Reasoning',
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
'Submitter Relationship',
|
||||
'Website Url',
|
||||
'State']
|
||||
= CSV.generate_line ['All booths']
|
||||
= CSV.generate_line ["All #{(t'booth').pluralize}"]
|
||||
= CSV.generate_line headers
|
||||
- @booths.each do |booth|
|
||||
= CSV.generate_line([booth.id,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
prawn_document(force_download: true, filename: "#{@file_name}.pdf", page_layout: :landscape) do |pdf|
|
||||
booths_array = []
|
||||
header_array = ['Booth ID',
|
||||
header_array = ["#{(t'booth').capitalize } ID",
|
||||
'Title',
|
||||
'Description',
|
||||
'Reasoning',
|
||||
|
|
@ -21,6 +21,6 @@ prawn_document(force_download: true, filename: "#{@file_name}.pdf", page_layout:
|
|||
row << booth.state
|
||||
booths_array << row
|
||||
end
|
||||
pdf.text "#{@conference.short_title} booths", font_size: 25, align: :center
|
||||
pdf.text "#{@conference.short_title} #{(t'booth').pluralize}", font_size: 25, align: :center
|
||||
pdf.table booths_array, header: true, cell_style: {size: 8, border_width: 1},column_widths: [45,70,153,152,70,80,105,45]
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
wb.add_worksheet(name: 'all booths') do |sheet|
|
||||
wb.add_worksheet(name: "all #{(t 'booth').pluralize}") do |sheet|
|
||||
bold_style = wb.styles.add_style(b: true)
|
||||
wrap_text = wb.styles.add_style alignment: {wrap_text: true}
|
||||
row = ['Booth ID',
|
||||
row = ["#{(t 'booth').capitalize} ID",
|
||||
'Title',
|
||||
'Description',
|
||||
'Reasoning',
|
||||
|
|
|
|||
|
|
@ -2,12 +2,12 @@
|
|||
- if booth.transition_possible? :accept
|
||||
- if can? :accept, booth
|
||||
- if @conference.booth_limit > 0
|
||||
- confirm_message = ' You are able to accept '+ pluralize(@conference.booth_limit - (@conference.booths.accepted.count + @conference.booths.confirmed.count), 'more booth') + " (booth limit set to #{@conference.booth_limit}). Are you sure you want to accept this one?"
|
||||
- confirm_message = ' You are able to accept '+ pluralize(@conference.booth_limit - (@conference.booths.accepted.count + @conference.booths.confirmed.count), "more #{t'booth'}") + " (#{t'booth'} limit set to #{@conference.booth_limit}). Are you sure you want to accept this one?"
|
||||
- if @conference.email_settings.send_on_booths_acceptance
|
||||
- link = 'Accept with email'
|
||||
- confirm_message = "By accepting this booth, an email will be sent informing the submitter for the acceptance. You may change the state to \'To accept\' until you are completely sure." + confirm_message
|
||||
- confirm_message = "By accepting this #{t'booth'}, an email will be sent informing the submitter for the acceptance. You may change the state to \'To accept\' until you are completely sure." + confirm_message
|
||||
- else
|
||||
- link = 'Accept booth'
|
||||
- link = "Accept #{t'booth'}"
|
||||
%li= link_to link,
|
||||
accept_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch ,id: "accept_booth_#{booth.id}",
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
data: (@conference.email_settings.send_on_booths_rejection ? { confirm: 'By rejecting this booth, an email will be sent informing the submitter about the rejection. You may change the state to \'To reject\' until you are completely sure.'} : nil)
|
||||
|
||||
- if booth.transition_possible? :to_reject
|
||||
%li= link_to 'To reject booth',
|
||||
%li= link_to "To reject #{t'booth'}",
|
||||
to_reject_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, id: "to_reject_booth_#{booth.id}"
|
||||
|
||||
|
|
@ -34,16 +34,16 @@
|
|||
method: :patch, id: "restart_booth_#{booth.id}"
|
||||
|
||||
- if booth.transition_possible? :to_accept
|
||||
%li= link_to 'To accept booth',
|
||||
%li= link_to "To accept #{t'booth'}",
|
||||
to_accept_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, id: "to_accept_booth_#{booth.id}"
|
||||
|
||||
- if booth.transition_possible? :cancel
|
||||
%li= link_to 'Cancel booth',
|
||||
%li= link_to "Cancel #{t'booth'}",
|
||||
cancel_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, id: "cancel_booth_#{booth.id}"
|
||||
|
||||
- if booth.transition_possible? :confirm
|
||||
%li= link_to 'Confirm booth',
|
||||
%li= link_to "Confirm #{t'booth'}",
|
||||
confirm_admin_conference_booth_path(@conference.short_title, booth),
|
||||
method: :patch, id: "confirm_booth_#{booth.id}"
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
- headers = ['Booth ID',
|
||||
- headers = ["#{(t'booth').capitalize } ID",
|
||||
'Title',
|
||||
'Description',
|
||||
'Reasoning',
|
||||
|
|
@ -6,7 +6,7 @@
|
|||
'Submitter Relationship',
|
||||
'Website Url',
|
||||
'State']
|
||||
= CSV.generate_line ['All booths']
|
||||
= CSV.generate_line ["All #{(t'booth').pluralize}"]
|
||||
= CSV.generate_line headers
|
||||
- @booths.confirmed.each do |booth|
|
||||
= CSV.generate_line([booth.id,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
prawn_document(force_download: true, filename: "#{@file_name}.pdf", page_layout: :landscape) do |pdf|
|
||||
booths_array = []
|
||||
header_array = ['Booth ID',
|
||||
header_array = ["#{(t'booth').capitalize } ID",
|
||||
'Title',
|
||||
'Description',
|
||||
'Reasoning',
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
wb.add_worksheet(name: 'all booths') do |sheet|
|
||||
wb.add_worksheet(name: "all #{(t 'booth').pluralize}") do |sheet|
|
||||
bold_style = wb.styles.add_style(b: true)
|
||||
wrap_text = wb.styles.add_style alignment: {wrap_text: true}
|
||||
row = ['Booth ID',
|
||||
row = ["#{(t 'booth').capitalize} ID",
|
||||
'Title',
|
||||
'Description',
|
||||
'Reasoning',
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
.col-md-12
|
||||
.page-header
|
||||
%h1
|
||||
Booths
|
||||
#{(t'booth').pluralize.capitalize }
|
||||
.pull-right
|
||||
- if can? :read, Booth
|
||||
.btn-group
|
||||
|
|
@ -11,8 +11,8 @@
|
|||
Export PDF
|
||||
%span.caret
|
||||
%ul.dropdown-menu{ role: 'menu' }
|
||||
%li= link_to 'All Booths', admin_conference_booths_path(@conference.short_title, format: :pdf, booth_export_option: 'all')
|
||||
%li= link_to 'Confirmed Booths', admin_conference_booths_path(@conference.short_title, format: :pdf, booth_export_option: 'confirmed')
|
||||
%li= link_to "All #{(t'booth').pluralize.capitalize }", admin_conference_booths_path(@conference.short_title, format: :pdf, booth_export_option: 'all')
|
||||
%li= link_to "Confirmed #{(t'booth').pluralize.capitalize }", admin_conference_booths_path(@conference.short_title, format: :pdf, booth_export_option: 'confirmed')
|
||||
.btn-group
|
||||
%button.btn.btn-default.dropdown-toggle{ 'data-toggle' => 'dropdown', type: 'button', class: 'btn btn-success' }
|
||||
Export CSV
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
%li= link_to 'Confirmed', admin_conference_booths_path(@conference.short_title, format: :xlsx, booth_export_option: 'confirmed')
|
||||
= "(#{@booths.length})" if @booths.any?
|
||||
%p.text-muted
|
||||
All the booth requests
|
||||
All the #{t'booth'} requests
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
|
|
@ -37,21 +37,21 @@
|
|||
- if @conference.booth_limit == 0
|
||||
%p
|
||||
Set the
|
||||
= link_to 'Booth limit', edit_admin_conference_path(@conference.short_title)
|
||||
to make sure you are not accepting more booths than you can accommodate.
|
||||
= link_to "#{(t'booth').capitalize } limit", edit_admin_conference_path(@conference.short_title)
|
||||
to make sure you are not accepting more #{(t'booth').pluralize} than you can accommodate.
|
||||
- elsif !@conference.maximum_accepted_booths?
|
||||
%p
|
||||
You cannot accept more than
|
||||
%b
|
||||
= pluralize(@conference.booth_limit, 'booth')
|
||||
= pluralize(@conference.booth_limit, "#{t'booth'}")
|
||||
(
|
||||
= pluralize(@conference.booths.accepted.count + @conference.booths.confirmed.count, 'accepted booth')
|
||||
= pluralize(@conference.booths.accepted.count + @conference.booths.confirmed.count, "accepted #{t'booth'}")
|
||||
so far)
|
||||
- else
|
||||
%p
|
||||
You have reached the maximum number of accepted booths.
|
||||
You have reached the maximum number of accepted #{(t'booth').pluralize}.
|
||||
(
|
||||
= link_to "#{@conference.booth_limit} booths", edit_admin_conference_path(@conference.short_title)
|
||||
= link_to "#{@conference.booth_limit} #{(t'booth').pluralize}", edit_admin_conference_path(@conference.short_title)
|
||||
)
|
||||
- if @booths.any?
|
||||
%table.datatable
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
%h1 New booth
|
||||
%h1 New #{t'booth'}
|
||||
|
||||
= render 'booths/form'
|
||||
|
|
|
|||
|
|
@ -7,15 +7,15 @@
|
|||
.row
|
||||
.col-md-8
|
||||
= semantic_form_for(cfp, url: cfp_form_url(cfp, conference),
|
||||
html: { multipart: true }) do |f|
|
||||
html: { multipart: true,
|
||||
data: { end_conference: conference.end_date.to_s } }) do |f|
|
||||
= f.input :cfp_type, as: :hidden
|
||||
= f.input :start_date, as: :string,
|
||||
input_html: { id: 'registration-period-start-datepicker',
|
||||
start_date: conference.start_date,
|
||||
end_date: conference.end_date, readonly: 'readonly' }
|
||||
input_html: { class: 'form-control',
|
||||
id: 'registration-period-start-datepicker' }
|
||||
= f.input :end_date, as: :string,
|
||||
input_html: { id: 'registration-period-end-datepicker',
|
||||
readonly: 'readonly' }
|
||||
input_html: { class: 'form-control',
|
||||
id: 'registration-period-end-datepicker' }
|
||||
= f.input :description, hint: markdown_hint,
|
||||
input_html: { rows: 2, data: { provide: 'markdown-editable' } }
|
||||
- if cfp.cfp_type == 'events'
|
||||
|
|
|
|||
|
|
@ -1,23 +0,0 @@
|
|||
.text-center
|
||||
%h4 #{title}
|
||||
%canvas.doughnut_chart{ id: "dough_#{title.parameterize.underscore}", 'data-chart' => data.to_json }
|
||||
- if data
|
||||
- data.each do |key, value|
|
||||
%span{ 'style' => "border-bottom: 3px solid #{value['color']}" } #{key}: #{value['value']}
|
||||
|
||||
:javascript
|
||||
$(document).ready( function(){
|
||||
|
||||
var d = $("#dough_#{title.parameterize.underscore}");
|
||||
var dt = d.get(0).getContext('2d');
|
||||
|
||||
$(window).resize( respondCanvas );
|
||||
|
||||
function respondCanvas(){
|
||||
dt.canvas.width = 150;
|
||||
dt.canvas.height = 150;
|
||||
}
|
||||
|
||||
respondCanvas();
|
||||
|
||||
});
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
.row
|
||||
.col-md-12
|
||||
.text-center
|
||||
%h4
|
||||
= title
|
||||
.row
|
||||
.col-md-12
|
||||
.chart_data{ 'data-chart' => "#{y.to_json}", 'data-conferences' => "#{conferences.to_json}",
|
||||
'data-deactive' => "#{deactive_conferences.to_json}", 'data-weeks' => "#{x.to_json}",
|
||||
'data-active' => "#{active_conferences.to_json}" }
|
||||
%canvas.line_chart{ id: "line_chart_#{name}", 'data-name' => "#{name}" }
|
||||
.row
|
||||
.col-md-12
|
||||
.text-center
|
||||
= unit
|
||||
.row
|
||||
.col-md-12
|
||||
.conferenceCheckboxes{ id: "#{name}Checkboxes", 'data-name' => "#{name}" }
|
||||
- if active_conferences && deactive_conferences && conferences && conferences.length > 1
|
||||
- active_conferences.each do |conference|
|
||||
%div
|
||||
%span{ 'style' => "border-bottom: 3px solid #{conference[:color]};", 'data-chart' => "#{name}" }
|
||||
%input{ 'type' => 'checkbox', 'name' => "#{conference[:short_title]}", 'checked' => 'checked' }
|
||||
#{conference[:short_title]}
|
||||
- deactive_conferences.each do |conference|
|
||||
%div
|
||||
%span{ 'style' => "border-bottom: 3px solid #{conference[:color]};", 'data-chart' => "#{name}" }
|
||||
%input{ 'type' => 'checkbox', 'name' => "#{conference[:short_title]}" }
|
||||
#{conference[:short_title]}
|
||||
|
||||
:javascript
|
||||
$(document).ready( function(){
|
||||
|
||||
var c = $("#line_chart_#{name}");
|
||||
var ct = c.get(0).getContext('2d');
|
||||
var container = $(c).parent();
|
||||
|
||||
$(window).resize( respondCanvas );
|
||||
|
||||
function respondCanvas(){
|
||||
c.attr('width', $(container).width() );
|
||||
c.attr('height', $(container).height() );
|
||||
}
|
||||
|
||||
respondCanvas();
|
||||
|
||||
});
|
||||
|
|
@ -14,10 +14,7 @@
|
|||
%td= link_to user.email, admin_user_path(user.id)
|
||||
%td= user.created_at.strftime('%m/%d/%Y')
|
||||
%td
|
||||
= check_box_tag user.id, user.id, user.confirmed?,
|
||||
url: "/admin/users/#{user.id}/toggle_confirmation?user[to_confirm]=",
|
||||
class: 'switch-checkbox',
|
||||
readonly: true
|
||||
= user.confirmed? ? 'Yes' : 'No'
|
||||
- else
|
||||
%h5.text-warning.text-center
|
||||
No sign ups!
|
||||
|
|
|
|||
|
|
@ -28,5 +28,5 @@
|
|||
= f.input :registration_limit, as: :number, in: 0..9999, hint: 'Limit the number of registrations to the conference (0 no limit). Please note that the registration limit doesn\'t apply to speakers of confirmed events (they will still be able to register even if it has been reached). You currently have ' + pluralize(@conference.registrations.count, 'registration')
|
||||
= f.inputs name: 'Booths' do
|
||||
= f.input :booth_limit, as: :number, in: 0..9999,
|
||||
hint: 'Booth limit is the maximum number of booths that you can accept for this conference. By setting this number (0 no limit) you can be sure that you are not going to accept more booths than the conference can accommodate. You currently have ' + pluralize(@conference.booths.accepted.count, 'accepted booth') +'.'
|
||||
hint: "#{(t'booth').capitalize } limit is the maximum number of #{(t'booth').pluralize} that you can accept for this conference. By setting this number (0 no limit) you can be sure that you are not going to accept more #{(t'booth').pluralize} than the conference can accommodate. You currently have " + pluralize(@conference.booths.accepted.count, "accepted #{t'booth'}") +'.'
|
||||
= f.action :submit, as: :button, button_html: { class: 'btn btn-primary', data: { confirm: 'Are you sure you want to proceed?' } }
|
||||
|
|
|
|||
|
|
@ -1,52 +1,32 @@
|
|||
= javascript_include_tag 'Chart.min'
|
||||
.row
|
||||
.col-sm-3.col-xs-3
|
||||
= render "shared/big_statistic",
|
||||
= render "big_statistic",
|
||||
icon: "user", subtitle: "User", value: @total_user, delta: @new_user
|
||||
.col-sm-3.col-xs-3
|
||||
= render "shared/big_statistic",
|
||||
= render "big_statistic",
|
||||
icon: "check-square", subtitle: "Registration", value: @total_reg, delta: @new_reg
|
||||
.col-sm-3.col-xs-3
|
||||
= render "shared/big_statistic",
|
||||
= render "big_statistic",
|
||||
icon: "file-text", subtitle: "Submission", value: @total_submissions, delta: @new_submissions
|
||||
.col-sm-3.col-xs-3
|
||||
= render "shared/big_statistic",
|
||||
= render "big_statistic",
|
||||
icon: "archive", subtitle: "Withdrawn", value: @total_withdrawn, delta: @new_withdrawn, reverse: true
|
||||
|
||||
.row#registrations
|
||||
.col-md-8
|
||||
= render partial: 'line_chart', locals: { title: 'Registrations over time',
|
||||
name: 'registrations',
|
||||
conferences: @conferences,
|
||||
active_conferences: @active_conferences,
|
||||
deactive_conferences: @deactive_conferences,
|
||||
y: @registrations,
|
||||
x: @registration_weeks,
|
||||
unit: 'weeks' }
|
||||
= render 'line_chart', title: 'Registrations per week', data: @registrations
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: { title: 'Events', data: @event_distribution }
|
||||
= render 'donut_chart', title: 'Events',
|
||||
data: @event_distribution, colors: @event_distribution_colors
|
||||
.row#submissions
|
||||
.col-md-8
|
||||
= render partial: 'line_chart', locals: { title: 'Submissions over time',
|
||||
name: 'submissions',
|
||||
conferences: @conferences,
|
||||
active_conferences: @active_conferences,
|
||||
deactive_conferences: @deactive_conferences,
|
||||
y: @submissions,
|
||||
x: @cfp_weeks,
|
||||
unit: 'weeks' }
|
||||
= render 'line_chart', title: 'Submissions per week', data: @submissions
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: { title: 'User', data: @user_distribution }
|
||||
= render 'donut_chart', title: 'Users',
|
||||
data: @user_distribution, colors: @user_distribution_colors
|
||||
.row#tickets
|
||||
.col-md-8
|
||||
= render partial: 'line_chart', locals: { title: 'Tickets sold over time',
|
||||
name: 'tickets',
|
||||
conferences: @conferences,
|
||||
active_conferences: @active_conferences,
|
||||
deactive_conferences: @deactive_conferences,
|
||||
y: @tickets,
|
||||
x: @ticket_weeks,
|
||||
unit: 'weeks' }
|
||||
= render 'line_chart', title: 'Tickets sold per week', data: @tickets
|
||||
%br
|
||||
.row
|
||||
.col-md-8
|
||||
|
|
|
|||
|
|
@ -1,21 +1,19 @@
|
|||
= javascript_include_tag 'Chart.min'
|
||||
|
||||
%h1
|
||||
%span.fa.fa-tachometer
|
||||
Dashboard for #{@conference.title}
|
||||
%hr
|
||||
.row
|
||||
.col-sm-3.col-xs-3
|
||||
= render "shared/big_statistic",
|
||||
= render "big_statistic",
|
||||
icon: "user", subtitle: "Registration", value: @total_reg, delta: @new_reg
|
||||
.col-sm-3.col-xs-3
|
||||
= render "shared/big_statistic",
|
||||
= render "big_statistic",
|
||||
icon: "check-square", subtitle: "Submission", value: @total_submissions, delta: @new_submissions
|
||||
.col-sm-3.col-xs-3
|
||||
= render "shared/big_statistic",
|
||||
= render "big_statistic",
|
||||
icon: "file-text", subtitle: "Hour", value: @program_length, delta: @new_program_length
|
||||
.col-sm-3.col-xs-3
|
||||
= render "shared/big_statistic",
|
||||
= render "big_statistic",
|
||||
icon: "archive", subtitle: "Withdrawn", value: @total_withdrawn, delta: @new_withdrawn
|
||||
|
||||
.row
|
||||
|
|
@ -24,37 +22,19 @@
|
|||
.col-md-8
|
||||
.row#registrations
|
||||
.col-md-12
|
||||
= render partial: 'line_chart', locals: { title: 'Registrations over time',
|
||||
name: 'registrations',
|
||||
conferences: [@conference],
|
||||
active_conferences: [@conference],
|
||||
deactive_conferences: [],
|
||||
y: @registrations,
|
||||
x: @registration_weeks,
|
||||
unit: 'weeks' }
|
||||
= render 'line_chart',
|
||||
title: 'Registrations per week', data: @registrations
|
||||
.row#submissions
|
||||
.col-md-12
|
||||
= render partial: 'line_chart', locals: { title: 'Submissions over time',
|
||||
name: 'submissions',
|
||||
conferences: @submissions,
|
||||
active_conferences: @submissions,
|
||||
deactive_conferences: [],
|
||||
y: @submissions_data,
|
||||
x: @cfp_weeks,
|
||||
unit: 'weeks' }
|
||||
= render 'line_chart',
|
||||
title: 'Submissions per week', data: @submissions
|
||||
.col-md-4
|
||||
= render partial: 'todo_list', locals: { conference_progress: @conference_progress,
|
||||
conference: @conference }
|
||||
= render 'todo_list',
|
||||
conference_progress: @conference_progress, conference: @conference
|
||||
.row#tickets
|
||||
.col-md-8
|
||||
= render partial: 'line_chart', locals: { title: 'Tickets sold over time',
|
||||
name: 'tickets',
|
||||
conferences: @tickets,
|
||||
active_conferences: @tickets,
|
||||
deactive_conferences: [],
|
||||
y: @tickets_data,
|
||||
x: @ticket_weeks,
|
||||
unit: 'weeks' }
|
||||
= render 'line_chart',
|
||||
title: 'Tickets sold per week', data: @tickets
|
||||
%br
|
||||
.row
|
||||
.col-md-12#doughnut
|
||||
|
|
@ -75,27 +55,36 @@
|
|||
.tab-pane.active#distribution_all
|
||||
.row
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Event types', data: @event_type_distribution}
|
||||
= render 'donut_chart', title: 'Event types',
|
||||
combined_data: @event_type_distribution
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Difficulty levels', data: @difficulty_levels_distribution}
|
||||
= render 'donut_chart', title: 'Difficulty levels',
|
||||
combined_data: @difficulty_levels_distribution
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Tracks', data: @tracks_distribution}
|
||||
= render 'donut_chart', title: 'Tracks',
|
||||
combined_data: @tracks_distribution
|
||||
.tab-pane#distribution_confirmed
|
||||
.row
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Event types', data: @event_type_distribution_confirmed}
|
||||
= render 'donut_chart', title: 'Event types',
|
||||
combined_data: @event_type_distribution_confirmed
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Difficulty levels', data: @difficulty_levels_distribution_confirmed}
|
||||
= render 'donut_chart', title: 'Difficulty levels',
|
||||
combined_data: @difficulty_levels_distribution_confirmed
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Tracks', data: @tracks_distribution_confirmed}
|
||||
= render 'donut_chart', title: 'Tracks',
|
||||
combined_data: @tracks_distribution_confirmed
|
||||
.tab-pane#distribution_withdrawn
|
||||
.row
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Event types', data: @event_type_distribution_withdrawn}
|
||||
= render 'donut_chart', title: 'Event types',
|
||||
combined_data: @event_type_distribution_withdrawn
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Difficulty levels', data: @difficulty_levels_distribution_withdrawn}
|
||||
= render 'donut_chart', title: 'Difficulty levels',
|
||||
combined_data: @difficulty_levels_distribution_withdrawn
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Tracks', data: @tracks_distribution_withdrawn}
|
||||
= render 'donut_chart', title: 'Tracks',
|
||||
combined_data: @tracks_distribution_withdrawn
|
||||
|
||||
.row
|
||||
.col-md-8
|
||||
|
|
|
|||
|
|
@ -114,18 +114,18 @@
|
|||
= f.input :booths_acceptance_subject
|
||||
= f.input :booths_acceptance_body, input_html: { rows:10, cols: 20 }
|
||||
%a.btn.btn-link.control_label.load_template{ 'data-subject-input-id' => 'email_settings_booths_acceptance_subject',
|
||||
'data-subject-text' => 'Your booth has been accepted!',
|
||||
'data-subject-text' => "Your #{t'booth'} has been accepted!",
|
||||
'data-body-input-id' => 'email_settings_booths_acceptance_body',
|
||||
'data-body-text' => "Dear {name},\n\nWe are pleased to inform you that your booth request {booth_title} has been accepted for the conference {conference}.\nPlease click the confirm button to let us know you can make it as soon as possible!\n\nFeel free to contact us with any questions or concerns.\n\nWe are looking forward to seeing you there.\n\nBest wishes\n\n{conference} Team"} Load Template
|
||||
'data-body-text' => "Dear {name},\n\nWe are pleased to inform you that your #{t'booth'} request {booth_title} has been accepted for the conference {conference}.\nPlease click the confirm button to let us know you can make it as soon as possible!\n\nFeel free to contact us with any questions or concerns.\n\nWe are looking forward to seeing you there.\n\nBest wishes\n\n{conference} Team"} Load Template
|
||||
%a.btn.btn-link.control_label.template_help_link{ 'data-name' => 'booth_acceptance_help' } Show help
|
||||
= render partial: 'help', locals: {id: 'booth_acceptance_help', show_event_variables: false}
|
||||
= f.input :send_on_booths_rejection
|
||||
= f.input :booths_rejection_subject
|
||||
= f.input :booths_rejection_body, input_html: { rows:10, cols:20 }
|
||||
%a.btn.btn-link.control_label.load_template{ 'data-subject-input-id' => 'email_settings_booths_rejection_subject',
|
||||
'data-subject-text' => 'Your booth request has been rejected',
|
||||
'data-subject-text' => "Your #{t'booth'} request has been rejected",
|
||||
'data-body-input-id' => 'email_settings_booths_rejection_body',
|
||||
'data-body-text' => "Dear {name},\n\nThank you for your booth request {booth_title} for the conference {conference}.\n\nUnfortunately, we are sorry to inform you that your request has been rejected.\n\n\nBest wishes\n\n{conference} Team" } Load Template
|
||||
'data-body-text' => "Dear {name},\n\nThank you for your #{t'booth'} request {booth_title} for the conference {conference}.\n\nUnfortunately, we are sorry to inform you that your request has been rejected.\n\n\nBest wishes\n\n{conference} Team" } Load Template
|
||||
%a.btn.btn-link.control_label.template_help_link{ 'data-name' => 'booth_rejection_help' } Show help
|
||||
= render partial: 'help', locals: {id: 'booth_rejection_help', show_event_variables: false}
|
||||
|
||||
|
|
|
|||
|
|
@ -24,11 +24,15 @@
|
|||
Unknown submitter
|
||||
|
||||
%td
|
||||
- event.speakers_ordered.each do |speaker|
|
||||
.speaker
|
||||
= link_to speaker.name, admin_user_path(speaker)
|
||||
- unless speaker.registrations.for_conference(event.conference)
|
||||
%span.label.label-danger Unregistered
|
||||
- if event.speakers.any?
|
||||
- event.speakers_ordered.each do |speaker|
|
||||
.speaker
|
||||
= link_to speaker.name, admin_user_path(speaker)
|
||||
- unless speaker.registrations.for_conference(event.conference)
|
||||
%span.label.label-danger Unregistered
|
||||
- else
|
||||
.small
|
||||
No Speaker
|
||||
|
||||
- if @program.languages.present?
|
||||
%td
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
= javascript_include_tag 'Chart.min'
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
.page-header
|
||||
|
|
@ -47,17 +45,14 @@
|
|||
= f.submit 'Add', class: 'btn btn-primary'
|
||||
.row
|
||||
.col-md-4
|
||||
= render 'admin/conferences/doughnut_chart',
|
||||
title: 'Events state',
|
||||
data: @event_distribution
|
||||
= render 'donut_chart', title: 'Events state',
|
||||
data: @event_distribution, colors: @event_distribution_colors
|
||||
.col-md-4
|
||||
= render 'admin/conferences/doughnut_chart',
|
||||
title: 'Confirmed events scheduled',
|
||||
data: @scheduled_event_distribution
|
||||
= render 'donut_chart', title: 'Confirmed events scheduled',
|
||||
combined_data: @scheduled_event_distribution
|
||||
.col-md-4
|
||||
= render 'admin/conferences/doughnut_chart',
|
||||
title: 'Tracks of confirmed events',
|
||||
data: @tracks_distribution_confirmed
|
||||
= render 'donut_chart', title: 'Tracks of confirmed events',
|
||||
combined_data: @tracks_distribution_confirmed
|
||||
.row
|
||||
.col-md-12
|
||||
.margin-event-table
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
for
|
||||
= @event.title
|
||||
|
||||
- if @event.room && (@event_registrations.length > @event.room.size)
|
||||
- if @event.room.try(:size) && (@event_registrations.length > @event.room.size)
|
||||
%b Attention:
|
||||
You have more registrations than the capacity of the room!
|
||||
|
||||
|
|
@ -32,7 +32,7 @@
|
|||
%td= event_registration.email
|
||||
%td= event_registration.created_at
|
||||
%td
|
||||
= check_box_tag @conference.short_title, @event.id, event_registration.attended, class: 'switch-checkbox', url: "/admin/conferences/#{@conference.short_title}/program/events/#{@event.id}/toggle_attendance?events_registration_id=#{event_registration.id}&&event_registration[attended]="
|
||||
= check_box_tag @conference.short_title, @event.id, event_registration.attended, class: 'switch-checkbox', url: "#{toggle_attendance_admin_conference_program_event_path(@conference, @event, events_registration_id: event_registration)}&&event_registration[attended]="
|
||||
%td
|
||||
- if event_registration.registration.attended
|
||||
%i.fa.fa-check.text-success
|
||||
|
|
|
|||
|
|
@ -69,9 +69,10 @@
|
|||
%span{ 'class' => [icon_for_todo(progress_status['registered']), 'fa-lg'] }
|
||||
%tr
|
||||
%td
|
||||
- if @event.speakers.count == 1
|
||||
- speakers_count = @event.speakers.count
|
||||
- if speakers_count == 1
|
||||
= link_to 'Fill out speaker\'s biography', edit_admin_user_path(@event.speakers.first)
|
||||
- else
|
||||
- elsif speakers_count > 1
|
||||
Fill out speaker's biography:
|
||||
= speaker_links(@event)
|
||||
%td{ 'class' => class_for_todo(progress_status['biographies']) }
|
||||
|
|
|
|||
|
|
@ -16,9 +16,9 @@
|
|||
- else
|
||||
- if lodging.website_link.present?
|
||||
= link_to(lodging.website_link, class: 'thumbnail') do
|
||||
= image_tag lodging.picture.thumb, class: 'img-responsive img-lodging'
|
||||
= image_tag lodging.picture.thumb.url, class: 'img-responsive img-lodging'
|
||||
- else
|
||||
= image_tag lodging.picture.thumb, class: 'img-responsive img-lodging'
|
||||
= image_tag lodging.picture.thumb.url, class: 'img-responsive img-lodging'
|
||||
.caption
|
||||
%h3.text-center
|
||||
= lodging.name
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
= javascript_include_tag 'Chart.min'
|
||||
|
||||
.container
|
||||
.row
|
||||
.col-md-12.page-header
|
||||
|
|
@ -9,11 +7,11 @@
|
|||
Tickets sold for the conference
|
||||
.row
|
||||
.col-md-4
|
||||
= render partial: 'admin/conferences/doughnut_chart',
|
||||
locals: { title: 'Tickets sold', data: @tickets_sold_distribution }
|
||||
= render 'donut_chart', title: 'Tickets sold',
|
||||
combined_data: @tickets_sold_distribution
|
||||
.col-md-4
|
||||
= render partial: 'admin/conferences/doughnut_chart',
|
||||
locals: {title: 'Tickets turnover', data: @tickets_turnover_distribution}
|
||||
= render 'donut_chart', title: 'Tickets turnover',
|
||||
combined_data: @tickets_turnover_distribution
|
||||
%br
|
||||
- if @physical_tickets.any?
|
||||
.row
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
= f.input :languages, hint: "Enter the languages allowed for events as values of #{link_to('ISO 639-1', 'http://www.loc.gov/standards/iso639-2/php/code_list.php', target: "_blank")} language codes separated with commas. The first language would be the default language. Leave it blank if you do not want to specify languages.".html_safe
|
||||
= f.input :schedule_interval, input_html: { autofocus: true }, hint: "It is the minimal time interval of your schedule. The value should be 5, 6, 10, 12, 15, 20, 30 or 60. Warning! Some events could be unscheduled when changing this value."
|
||||
= f.input :blind_voting, hint: 'Enable this feature if you do not want to show voting results and voters prior to user submitting a vote. For the feature to work you need to set the voting dates below as well'
|
||||
= f.input :voting_start_date, as: :string, input_html: { id: 'datetimepicker-voting_start_date', readonly: true, value: (f.object.voting_start_date.to_formatted_s(:db_without_seconds) unless f.object.voting_start_date.nil?) }
|
||||
= f.input :voting_end_date, as: :string, input_html: { id: 'datetimepicker-voting_start_date', readonly: true, value: (f.object.voting_end_date.to_formatted_s(:db_without_seconds) unless f.object.voting_end_date.nil?) }
|
||||
= f.input :voting_start_date, as: :string, input_html: { id: 'datetimepicker-voting_start_date', value: (f.object.voting_start_date.to_formatted_s(:db_without_seconds) unless f.object.voting_start_date.nil?) }
|
||||
= f.input :voting_end_date, as: :string, input_html: { id: 'datetimepicker-voting_end_date', value: (f.object.voting_end_date.to_formatted_s(:db_without_seconds) unless f.object.voting_end_date.nil?) }
|
||||
%p.text-right
|
||||
= f.action :submit, as: :button, button_html: {class: 'btn btn-primary'}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
.row
|
||||
.col-md-8
|
||||
= semantic_form_for(@registration_period, url: admin_conference_registration_period_path(@conference.short_title)) do |f|
|
||||
= f.input :start_date, as: :string, input_html: { id: 'registration-period-start-datepicker',start_date: @conference.start_date,end_date: @conference.end_date, readonly: 'readonly' }
|
||||
= f.input :end_date, as: :string, input_html: { id: 'registration-period-end-datepicker', readonly: 'readonly' }
|
||||
= f.input :start_date, as: :string, input_html: { id: 'registration-period-start-datepicker', start_date: @conference.start_date, end_date: @conference.end_date }
|
||||
= f.input :end_date, as: :string, input_html: { id: 'registration-period-end-datepicker' }
|
||||
%p.text-right
|
||||
= f.submit 'Save Registration Period', class: 'btn btn-primary'
|
||||
|
|
|
|||
|
|
@ -8,29 +8,38 @@
|
|||
.row
|
||||
.col-md-8
|
||||
%dl.dl-horizontal
|
||||
%dt
|
||||
Start Date
|
||||
%dd
|
||||
= @registration_period.start_date
|
||||
%dt
|
||||
End Date
|
||||
%dd
|
||||
= @registration_period.end_date
|
||||
%dt Start Date
|
||||
%dd= @registration_period.start_date
|
||||
%dt End Date
|
||||
%dd= @registration_period.end_date
|
||||
%dt Ticket required?
|
||||
%dd= @conference.tickets.for_registration.any? ? 'Yes' : 'No'
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
%p
|
||||
If you would like to require a ticket purchase for registration, at least
|
||||
one
|
||||
= link_to 'ticket', admin_conference_tickets_path(@conference)
|
||||
must be set as a registration ticket, and the registration process
|
||||
will not proceed without the purchase (or selection of a free) single
|
||||
registration ticket.
|
||||
%p
|
||||
To make ticketing optional, do not mark any
|
||||
= link_to 'tickets', admin_conference_tickets_path(@conference)
|
||||
as registration tickets, and registration can proceed without them.
|
||||
.row
|
||||
.col-md-12.text-right
|
||||
- if @registration_period
|
||||
- if can? :update, @registration_period
|
||||
= link_to 'Edit', edit_admin_conference_registration_period_path, class: 'btn btn-primary'
|
||||
- if can? :destroy, @registration_period
|
||||
= link_to 'Delete', admin_conference_registration_period_path,
|
||||
method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-danger'
|
||||
- else
|
||||
- if @conference.tickets.for_registration.empty?
|
||||
.h3.text-left
|
||||
No Registration Tickets!
|
||||
%small
|
||||
= link_to 'Create registration tickets', new_admin_conference_ticket_path
|
||||
before creating the registration period.
|
||||
- else
|
||||
- if can? :create, @conference.build_registration_period
|
||||
= link_to 'New Registration Period', new_admin_conference_registration_period_path, class: 'btn btn-primary'
|
||||
.btn-group{ role: 'group' }
|
||||
- if @registration_period
|
||||
- if can? :update, @registration_period
|
||||
= link_to 'Edit', edit_admin_conference_registration_period_path,
|
||||
class: 'btn btn-primary'
|
||||
- if can? :destroy, @registration_period
|
||||
= link_to 'Delete', admin_conference_registration_period_path,
|
||||
method: :delete, data: { confirm: 'Are you sure?' },
|
||||
class: 'btn btn-danger'
|
||||
- elsif can? :create, @conference.build_registration_period
|
||||
= link_to 'New Registration Period',
|
||||
new_admin_conference_registration_period_path,
|
||||
class: 'btn btn-primary'
|
||||
|
|
|
|||
|
|
@ -1,4 +1,16 @@
|
|||
- headers = ['Name', 'Email']
|
||||
- headers = ['Attended',
|
||||
'Name',
|
||||
'Nickname',
|
||||
'Affilιation',
|
||||
'Email',
|
||||
'Arrival',
|
||||
'Departure']
|
||||
= CSV.generate_line headers
|
||||
- @registrations.each do |registration|
|
||||
= CSV.generate_line([registration.name, registration.email])
|
||||
= CSV.generate_line([registration.attended ? 'X' : '',
|
||||
registration.name,
|
||||
registration.nickname,
|
||||
registration.affiliation,
|
||||
registration.email,
|
||||
registration.arrival.to_s,
|
||||
registration.departure.to_s])
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
= javascript_include_tag 'Chart.min'
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
.page-header
|
||||
|
|
@ -14,10 +12,12 @@
|
|||
%p.text-muted
|
||||
All the people who registered to your event
|
||||
.col-md-4
|
||||
= render partial: 'admin/conferences/doughnut_chart', locals: {title: 'Affiliation', data: @affiliation_distribution}
|
||||
= render 'donut_chart', title: 'Affiliation',
|
||||
combined_data: @affiliation_distribution
|
||||
- unless @conference.pending?
|
||||
.col-md-4
|
||||
= render partial: 'admin/conferences/doughnut_chart', locals: {title: 'Attended registrations', data: @registration_distribution}
|
||||
= render 'donut_chart', title: 'Attended registrations',
|
||||
combined_data: @registration_distribution
|
||||
.row
|
||||
.col-md-12
|
||||
%div.margin-event-table
|
||||
|
|
|
|||
|
|
@ -27,10 +27,14 @@
|
|||
%td
|
||||
= link_to event.title, edit_admin_conference_program_event_path(@conference.short_title, event)
|
||||
%br
|
||||
.small
|
||||
(Presented by
|
||||
= speaker_links(event)
|
||||
)
|
||||
- if(event.speakers.any?)
|
||||
.small
|
||||
(Presented by
|
||||
= speaker_links(event)
|
||||
)
|
||||
- else
|
||||
.small
|
||||
(No speaker)
|
||||
|
||||
- %w(registered biographies commercials subtitle difficulty_level).each do |info|
|
||||
%td{'data-order' => "#{progress_status[info]}"}
|
||||
|
|
|
|||
|
|
@ -18,4 +18,8 @@
|
|||
%td= event.id
|
||||
%td= link_to event.title, edit_admin_conference_program_event_path(@conference.short_title, event)
|
||||
%td
|
||||
= speaker_links(event)
|
||||
- if(event.speakers.any?)
|
||||
= speaker_links(event)
|
||||
- else
|
||||
.small
|
||||
(No speaker)
|
||||
|
|
|
|||
|
|
@ -1,30 +1,29 @@
|
|||
- cache [:admin, @conference, @program, :schedule, event] do
|
||||
- cells_length = event.event_type.length / @program.schedule_interval
|
||||
/ this height fits the room cells
|
||||
- compact_grid = @program.schedule_interval < 15
|
||||
- single_cell_height = compact_grid ? 32 : 58
|
||||
- height = (cells_length * single_cell_height)
|
||||
- height -= 23 unless compact_grid
|
||||
/ subtracting the padding before calculate the number of lines
|
||||
- lines = (height - 7) / 23
|
||||
- color = event.track.try(:color).present? ? event.track.try(:color) : 'FFFFFF'
|
||||
- non_schedulable = event_schedule_id && (EventSchedule.find(event_schedule_id).schedule != @schedule)
|
||||
.schedule-event{ style: "height: #{height}px; background-color: #{color}; color: #{contrast_color(color)}", |
|
||||
id: "event-#{event.id}", |
|
||||
event_id: event.id, |
|
||||
length: cells_length, |
|
||||
event_schedule_id: event_schedule_id, |
|
||||
class: "#{'compact' if compact_grid} #{'non_schedulable' if non_schedulable}" }
|
||||
.schedule-event-text{ style: "-webkit-line-clamp: #{lines}; height: #{lines * 23}px;"}
|
||||
%span.schedule-event-delete-button{ onclick: "Schedule.remove(\'event-#{event.id}\');" } X
|
||||
%b
|
||||
= link_to(event.id, admin_conference_program_event_path(@conference, event))
|
||||
= event.speakers.collect(&:name).to_sentence
|
||||
= ':'
|
||||
= event.title
|
||||
- if event.difficulty_level
|
||||
%span.label.label-default= event.difficulty_level.title
|
||||
- if event.event_type
|
||||
%span.label.label-default= event.event_type.title
|
||||
- if event.track
|
||||
%span.label.label-default= event.track.short_name
|
||||
- cells_length = event.event_type.length / @program.schedule_interval
|
||||
/ this height fits the room cells
|
||||
- compact_grid = @program.schedule_interval < 15
|
||||
- single_cell_height = compact_grid ? 32 : 58
|
||||
- height = (cells_length * single_cell_height)
|
||||
- height -= 23 unless compact_grid
|
||||
/ subtracting the padding before calculate the number of lines
|
||||
- lines = (height - 7) / 23
|
||||
- color = event.track.try(:color).present? ? event.track.try(:color) : 'FFFFFF'
|
||||
- non_schedulable = event_schedule_id && (EventSchedule.find(event_schedule_id).schedule != @schedule)
|
||||
.schedule-event{ style: "height: #{height}px; background-color: #{color}; color: #{contrast_color(color)}", |
|
||||
id: "event-#{event.id}", |
|
||||
event_id: event.id, |
|
||||
length: cells_length, |
|
||||
event_schedule_id: event_schedule_id, |
|
||||
class: "#{'compact' if compact_grid} #{'non_schedulable' if non_schedulable}" }
|
||||
.schedule-event-text{ style: "-webkit-line-clamp: #{lines}; height: #{lines * 23}px;"}
|
||||
%span.schedule-event-delete-button{ onclick: "Schedule.remove(\'event-#{event.id}\');" } X
|
||||
%b
|
||||
= link_to(event.id, admin_conference_program_event_path(@conference, event))
|
||||
= event.speakers.collect(&:name).to_sentence
|
||||
= ':'
|
||||
= event.title
|
||||
- if event.difficulty_level
|
||||
%span.label.label-default= event.difficulty_level.title
|
||||
- if event.event_type
|
||||
%span.label.label-default= event.event_type.title
|
||||
- if event.track
|
||||
%span.label.label-default= event.track.short_name
|
||||
|
|
|
|||
|
|
@ -8,6 +8,13 @@
|
|||
.col-md-12
|
||||
= f.inputs name: 'Components' do
|
||||
%ul.fa-ul
|
||||
%li
|
||||
%th
|
||||
%button.btn.btn-default#select-all{ type: "button" }
|
||||
Select All
|
||||
%th
|
||||
%button.btn.btn-default#unselect-all{ type: "button" }
|
||||
Unselect All
|
||||
%li
|
||||
= f.input :include_cfp, label: 'Display call for papers and call for tracks, while open', input_html: { checked: params[:action] == 'new' || @splashpage.try(:include_cfp) }
|
||||
%li
|
||||
|
|
@ -17,7 +24,7 @@
|
|||
%li
|
||||
= f.input :include_tracks, label: 'Include confirmed tracks', input_html: { checked: params[:action] == 'new' || @splashpage.try(:include_tracks) }
|
||||
%li
|
||||
= f.input :include_booths, label: 'Include confirmed booths', input_html: { checked: params[:action] == 'new' || @splashpage.try(:include_booths) }
|
||||
= f.input :include_booths, label: "Include confirmed #{(t'booth').pluralize}", input_html: { checked: params[:action] == 'new' || @splashpage.try(:include_booths) }
|
||||
|
||||
%li
|
||||
= f.input :include_registrations, label: 'Display the registration period', input_html: { checked: params[:action] == 'new' || @splashpage.try(:include_registrations) }
|
||||
|
|
@ -45,3 +52,15 @@
|
|||
.col-md-12
|
||||
%p.text-right
|
||||
= f.submit 'Save Changes', class: 'btn btn-primary'
|
||||
|
||||
:javascript
|
||||
$(document).ready(function(){
|
||||
$('#select-all').click(function(event) {
|
||||
var parent = $(this).parents('.inputs:last');
|
||||
parent.find('.input.checkbox input[type=checkbox]').prop('checked',true);
|
||||
});
|
||||
$('#unselect-all').click(function(event) {
|
||||
var parent = $(this).parents('.inputs:last');
|
||||
parent.find('.input.checkbox input[type=checkbox]').prop('checked',false);
|
||||
});
|
||||
});
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
Include confirmed tracks
|
||||
%li
|
||||
%i{ class: "fa-li #{icon_for_todo @splashpage.include_booths?}" }
|
||||
Include confirmed booths
|
||||
Include confirmed #{(t'booth').pluralize}
|
||||
%li
|
||||
%i{ class: "fa-li #{icon_for_todo @splashpage.include_registrations?}" }
|
||||
Display the registration period
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
.col-md-8
|
||||
= semantic_form_for(@sponsor, url: (@sponsor.new_record? ? admin_conference_sponsors_path : admin_conference_sponsor_path(@conference.short_title, @sponsor))) do |f|
|
||||
= f.input :name, input_html: { autofocus: true }
|
||||
= f.input :description
|
||||
= f.input :description, input_html: { rows: 5, cols: 20, data: { provide: 'markdown-editable' } }, hint: markdown_hint
|
||||
= image_tag f.object.picture.thumb.url if f.object.picture?
|
||||
= f.input :picture
|
||||
= f.input :website_url
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
%td
|
||||
= sponsor.name
|
||||
%td
|
||||
= truncate(sponsor.description)
|
||||
= truncate(markdown(sponsor.description))
|
||||
%td
|
||||
= sponsor.website_url
|
||||
%td
|
||||
|
|
|
|||
|
|
@ -1,6 +1,3 @@
|
|||
= javascript_include_tag "//www.google.com/jsapi", "chartkick"
|
||||
= javascript_include_tag 'chartkick'
|
||||
|
||||
= bar_chart @survey.survey_questions.map{ |q| [q.title, q.survey_replies.count] }
|
||||
|
||||
- @survey.survey_questions.each.with_index(1) do |survey_question, question_index|
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
= f.input :name, input_html: { autofocus: true }
|
||||
= f.input :short_name, hint: "A short and unique handle for the track, using only letters, numbers, underscores, and dashes. This will be used to identify the track in URLs etc. Example: 'my_awesome_track'", input_html: { required: 'required', pattern: '[a-zA-Z0-9_-]+', title: 'Only letters, numbers, underscores, and dashes.' }
|
||||
= f.input :color, input_html: {size: 6, type: 'color'}, required: true
|
||||
= f.input :start_date, as: :string, input_html: { id: 'registration-period-start-datepicker', start_date: @conference.start_date, end_date: @conference.end_date, readonly: 'readonly', required: @track.self_organized_and_accepted_or_confirmed? }
|
||||
= f.input :end_date, as: :string, input_html: { id: 'registration-period-end-datepicker', readonly: 'readonly', required: @track.self_organized_and_accepted_or_confirmed? }
|
||||
= f.input :start_date, as: :string, input_html: { id: 'registration-period-start-datepicker', start_date: @conference.start_date, end_date: @conference.end_date, required: @track.self_organized_and_accepted_or_confirmed? }
|
||||
= f.input :end_date, as: :string, input_html: { id: 'registration-period-end-datepicker', required: @track.self_organized_and_accepted_or_confirmed? }
|
||||
- if @conference.venue.try(:rooms).present?
|
||||
= f.input :room, as: :select, collection: (@conference.venue.rooms).map {|room| ["#{room.name}", room.id]}, include_blank: true, label: 'Room', input_html: { class: 'select-help-toggle', required: @track.self_organized_and_accepted_or_confirmed? }
|
||||
- else
|
||||
|
|
|
|||
|
|
@ -6,12 +6,12 @@
|
|||
Confirmed?
|
||||
- if can? :toggle_confirmation, @user
|
||||
= check_box_tag @user.id, @user.id, @user.confirmed?,
|
||||
url: "/admin/users/#{@user.id}/toggle_confirmation?user[to_confirm]=",
|
||||
url: "#{toggle_confirmation_admin_user_path(@user.id)}?user[to_confirm]=",
|
||||
class: 'switch-checkbox',
|
||||
readonly: false
|
||||
- else
|
||||
= check_box_tag @user.id, @user.id, @user.confirmed?,
|
||||
url: "/admin/users/#{@user.id}/toggle_confirmation?user[to_confirm]=",
|
||||
url: "#{toggle_confirmation_admin_user_path(@user.id)}?user[to_confirm]=",
|
||||
class: 'switch-checkbox',
|
||||
readonly: true
|
||||
= f.input :is_admin, hint: 'An admin can create a new conference, manage users and make other users admins.'
|
||||
|
|
|
|||
|
|
@ -36,12 +36,12 @@
|
|||
%td
|
||||
- if can? :toggle_confirmation, @user
|
||||
= check_box_tag @user.id, @user.id, @user.confirmed?,
|
||||
url: "/admin/users/#{@user.id}/toggle_confirmation?user[to_confirm]=",
|
||||
url: "#{toggle_confirmation_admin_user_path(@user)}?user[to_confirm]=",
|
||||
class: 'switch-checkbox',
|
||||
readonly: false
|
||||
- else
|
||||
= check_box_tag @user.id, @user.id, @user.confirmed?,
|
||||
url: "/admin/users/#{@user.id}/toggle_confirmation?user[to_confirm]=",
|
||||
url: "#{toggle_confirmation_admin_user_path(@user)}?user[to_confirm]=",
|
||||
class: 'switch-checkbox',
|
||||
readonly: true
|
||||
- else
|
||||
|
|
|
|||
|
|
@ -79,8 +79,8 @@
|
|||
= link_to (current_or_last_object_state('Event', object.event_id).try(:title) || 'deleted'),
|
||||
admin_conference_program_event_path(conference_short_title, object.event_id)
|
||||
in
|
||||
= link_to "Schedule #{event_schedule.schedule_id}",
|
||||
admin_conference_schedule_path(conference_short_title, event_schedule.schedule_id)
|
||||
= link_to "Schedule #{version.item.schedule_id}",
|
||||
admin_conference_schedule_path(conference_short_title, version.item.schedule_id)
|
||||
|
||||
- when 'Schedule'
|
||||
= link_if_alive version, "Schedule #{version.item_id}",
|
||||
|
|
@ -102,7 +102,7 @@
|
|||
conference
|
||||
|
||||
- when 'Booth'
|
||||
= 'booth'
|
||||
= t 'booth'
|
||||
= link_if_alive version, object.title,
|
||||
admin_conference_booth_path(conference_id: Conference.find(version.conference_id).short_title, id: version.item_id ),
|
||||
conference
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue