Rename 'ConferenceController' to 'ConferencesController', and 'ProposalController' to 'ProposalsController'
This commit is contained in:
parent
0b6550d060
commit
daf1f805bd
71 changed files with 225 additions and 191 deletions
40
app/views/admin/conferences/_campaigns.html.haml
Normal file
40
app/views/admin/conferences/_campaigns.html.haml
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
- if campaigns && !campaigns.empty?
|
||||
.row
|
||||
.col-md-12
|
||||
%p
|
||||
Your target "#{campaigns.values[0]['target_name']}" from campaign "#{campaigns.values[0]['campaign_name']}" has generated
|
||||
%strong
|
||||
#{pluralize(campaigns.values[0]['value'], campaigns.values[0]['unit'])}
|
||||
since #{campaigns.values[0]['created_at']}.
|
||||
%p
|
||||
That is
|
||||
%strong{'style'=>"color: #{target_progress_color(campaigns.values[0]['progress'])};"}
|
||||
#{campaigns.values[0]['progress']} %
|
||||
of your target, there are
|
||||
%strong{'style'=>"color: #{days_left_color(campaigns.values[0]['days_left'])};"}
|
||||
#{pluralize(campaigns.values[0]['days_left'], 'day')} left.
|
||||
.row
|
||||
.col-md-12
|
||||
%div{'style'=>'display: none;', 'id'=>"#{name}"}
|
||||
- campaigns.drop(1).each do |(key, value)|
|
||||
%div
|
||||
%p
|
||||
Your target "#{value['target_name']}" from campaign "#{value['campaign_name']}" has generated
|
||||
%strong
|
||||
#{pluralize(value['value'], value['unit'])}
|
||||
since #{value['created_at']}.
|
||||
%p
|
||||
That is
|
||||
%strong{'style'=>"color: #{target_progress_color(value['progress'])};"}
|
||||
#{value['progress']} %
|
||||
of your target, there are
|
||||
%strong{'style'=>"color: #{days_left_color(value['days_left'])};"}
|
||||
#{pluralize(value['days_left'], 'day')} left.
|
||||
.row
|
||||
.col-md-12
|
||||
- if campaigns.length > 1
|
||||
%a.show_targets{'href'=>'#', 'data-name'=>"#{name}"}
|
||||
more
|
||||
- else
|
||||
%h5.text-warning.text-center
|
||||
No Campaigns!
|
||||
6
app/views/admin/conferences/_doughnut_chart.html.haml
Normal file
6
app/views/admin/conferences/_doughnut_chart.html.haml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
.text-center
|
||||
%h4 #{title}
|
||||
%canvas.doughnut_chart{"data-chart"=>data.to_json}
|
||||
- if data
|
||||
- data.each do |key, value|
|
||||
%span{"style"=>"border-bottom: 3px solid #{value['color']}"} #{key}: #{value['value']}
|
||||
29
app/views/admin/conferences/_line_chart.html.haml
Normal file
29
app/views/admin/conferences/_line_chart.html.haml
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
.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]}
|
||||
19
app/views/admin/conferences/_recent_registrations.html.haml
Normal file
19
app/views/admin/conferences/_recent_registrations.html.haml
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
- if recent_registrations && !recent_registrations.empty?
|
||||
.table-responsive
|
||||
%table.table
|
||||
%thead
|
||||
%tr
|
||||
%th #
|
||||
%th Public Name
|
||||
%th Conference
|
||||
%th Date
|
||||
- recent_registrations.each_with_index do |registration, index|
|
||||
%tbody
|
||||
%tr
|
||||
%td= index + 1
|
||||
%td= link_to registration.name, admin_user_path(registration.user.id)
|
||||
%td= link_to registration.conference.title, admin_conference_path(registration.conference.short_title)
|
||||
%td= registration.created_at.strftime('%m/%d/%Y')
|
||||
- else
|
||||
%h5.text-warning.text-center
|
||||
No registrations!
|
||||
25
app/views/admin/conferences/_recent_submissions.html.haml
Normal file
25
app/views/admin/conferences/_recent_submissions.html.haml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
- if recent_events && !recent_events.empty?
|
||||
.table-responsive
|
||||
%table.table
|
||||
%thead
|
||||
%tr
|
||||
%th #
|
||||
%th Submitter
|
||||
%th Title
|
||||
%th Conference
|
||||
%th Status
|
||||
- recent_events.each_with_index do |event, index|
|
||||
%tbody
|
||||
%tr
|
||||
%td= index + 1
|
||||
- if event.submitter
|
||||
%td= link_to event.submitter.name, admin_user_path(event.submitter.id)
|
||||
- else
|
||||
%td Unknown Submitter
|
||||
%td= link_to event.title, admin_conference_program_event_path(event.program.conference.short_title, event)
|
||||
%td= link_to event.program.conference.title, admin_conference_path(event.program.conference.short_title)
|
||||
%td
|
||||
.span{'class'=>label_for(event.state)} #{event.state.humanize}
|
||||
- else
|
||||
%h5.text-warning.text-center
|
||||
No submissions!
|
||||
25
app/views/admin/conferences/_recent_users.html.haml
Normal file
25
app/views/admin/conferences/_recent_users.html.haml
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
- if recent_users && !recent_users.empty?
|
||||
.table-responsive
|
||||
%table.table
|
||||
%thead
|
||||
%tr
|
||||
%th #
|
||||
%th E-Mail
|
||||
%th Date registered
|
||||
%th Confirmed?
|
||||
- recent_users.each_with_index do |user, index|
|
||||
%tbody
|
||||
%tr
|
||||
%td= index + 1
|
||||
%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?,
|
||||
method: :patch,
|
||||
url: "/admin/users/#{user.id}/toggle_confirmation?user[to_confirm]=",
|
||||
class: 'switch-checkbox',
|
||||
readonly: true,
|
||||
data: { size: 'small', on_color: 'success', off_color: 'warning', on_text: 'Yes', off_text: 'No' }
|
||||
- else
|
||||
%h5.text-warning.text-center
|
||||
No sign ups!
|
||||
32
app/views/admin/conferences/_targets.html.haml
Normal file
32
app/views/admin/conferences/_targets.html.haml
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
- if targets && !targets.empty?
|
||||
.row
|
||||
.col-md-8.col-md-offset-2
|
||||
.row
|
||||
.col-md-10
|
||||
%h6.text-muted.pull-left
|
||||
Target 1
|
||||
.row
|
||||
.col-md-10
|
||||
.progress{'title'=>"#{targets.keys[0]}"}
|
||||
.progress-bar{ 'role'=>'progressbar', 'aria-valuenow'=>"#{targets.values[0]}", 'aria-valuemin'=>'0',
|
||||
'aria-valuemax'=>'100', 'style'=>"width: #{targets.values[0]}%;"}
|
||||
= "#{targets.values[0]} %"
|
||||
.row
|
||||
.col-md-8.col-md-offset-2
|
||||
%div{'style'=>'display: none;', 'id'=>"#{name}"}
|
||||
- targets.drop(1).each_with_index do |(key, value), index|
|
||||
.row
|
||||
.col-md-10
|
||||
%h6.text-muted.pull-left
|
||||
= "Target #{index + 2}"
|
||||
.row
|
||||
.col-md-10
|
||||
.progress{'title'=>"#{key}"}
|
||||
.progress-bar{ 'role'=>'progressbar', 'aria-valuenow'=>"#{value}", 'aria-valuemin'=>'0',
|
||||
'aria-valuemax'=>'100', 'style'=>"width: #{value}%;" }
|
||||
= "#{value} %"
|
||||
.row
|
||||
.col-md-2.col-md-offset-2
|
||||
- if targets.length > 1
|
||||
%a.show_targets{'href'=>'#', 'data-name'=>"#{name}"}
|
||||
more
|
||||
62
app/views/admin/conferences/_todo_list.html.haml
Normal file
62
app/views/admin/conferences/_todo_list.html.haml
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
.list-group
|
||||
%li.list-group-item
|
||||
%h4
|
||||
Conference progress
|
||||
.progress
|
||||
.progress-bar{ 'role'=>'progressbar', 'aria-valuenow'=>"#{conference_progress['process']}", 'aria-valuemin'=>'0',
|
||||
'aria-valuemax'=>'100', 'style'=>"width: #{conference_progress['process']}%;" }
|
||||
= conference_progress['process'] + '%'
|
||||
%li{'class'=>"list-group-item #{class_for_todo(conference_progress['registration'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['registration'])}
|
||||
- if can? :update, @conference
|
||||
- if conference.registration_period
|
||||
= link_to 'Set up registration period', edit_admin_conference_registration_period_path(conference_progress['short_title'])
|
||||
- else
|
||||
= link_to 'Set up registration period', new_admin_conference_registration_period_path(conference_progress['short_title'])
|
||||
- else
|
||||
Set up registration period
|
||||
%li{'class'=>"list-group-item #{class_for_todo(conference_progress['cfp'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['cfp'])}
|
||||
- if can? :update, Cfp.new(program_id: @program.id)
|
||||
= link_to 'Set up call for papers', admin_conference_program_cfp_path(conference_progress['short_title'])
|
||||
- else
|
||||
Set up call for papers
|
||||
%li{'class'=>"list-group-item #{class_for_todo(conference_progress['venue'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['venue'])}
|
||||
- if can? :update, @conference.venue
|
||||
- if conference.venue
|
||||
= link_to 'Add venue', edit_admin_conference_venue_path(conference_progress['short_title'])
|
||||
- else
|
||||
= link_to 'Add venue', new_admin_conference_venue_path(conference_progress['short_title'])
|
||||
- else
|
||||
Add venue
|
||||
%li{'class'=>"list-group-item #{class_for_todo(conference_progress['rooms'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['rooms'])}
|
||||
- if @conference.venue && (can? :update, @conference.venue.rooms.build)
|
||||
= link_to 'Add rooms', admin_conference_venue_rooms_path(conference_progress['short_title'])
|
||||
- else
|
||||
Add rooms
|
||||
%li{'class'=>"list-group-item #{class_for_todo(conference_progress['tracks'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['tracks'])}
|
||||
- if can? :update, @conference.program.tracks.build
|
||||
= link_to 'Add tracks', admin_conference_program_tracks_path(conference_progress['short_title'])
|
||||
- else
|
||||
Add tracks
|
||||
%li{'class'=>"list-group-item #{class_for_todo(conference_progress['event_types'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['event_types'])}
|
||||
- if can? :update, @conference.program.event_types.build
|
||||
= link_to 'Add event types', admin_conference_program_event_types_path(conference_progress['short_title'])
|
||||
- else
|
||||
Add event types
|
||||
%li{'class'=>"list-group-item #{class_for_todo(conference_progress['difficulty_levels'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['difficulty_levels'])}
|
||||
- if can? :update, @conference.program.difficulty_levels.build
|
||||
= link_to 'Add difficulty levels', admin_conference_program_difficulty_levels_path(conference_progress['short_title'])
|
||||
- else
|
||||
Add difficulty levels
|
||||
%li{class: "list-group-item #{class_for_todo(conference_progress['splashpage'])}"}
|
||||
%span{'class'=>icon_for_todo(conference_progress['splashpage'])}
|
||||
- if can? :update, @conference
|
||||
= link_to 'Set up a Splashpage', admin_conference_splashpage_path(conference_progress['short_title'])
|
||||
- else
|
||||
Set up a Splashpage
|
||||
18
app/views/admin/conferences/_top_submitter.html.haml
Normal file
18
app/views/admin/conferences/_top_submitter.html.haml
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
.row
|
||||
.col-md-12
|
||||
%h3
|
||||
Top Submitter
|
||||
- if @top_submitter && !@top_submitter.empty?
|
||||
- @top_submitter.each do |key, value|
|
||||
.row.top-submitter
|
||||
.col-md-2
|
||||
= image_tag(key.gravatar_url(size: '25'), title: "Yo #{key.name}!", :alt => '', 'class'=>'img-circle img-responsive text-center')
|
||||
.col-md-10
|
||||
%h4
|
||||
= link_to key.name, admin_user_path(key)
|
||||
%div
|
||||
%small
|
||||
= link_to pluralize(value, 'submission'), admin_user_path(key, tab: 'submissions-content')
|
||||
- else
|
||||
%h4.text-warning
|
||||
No submissions!
|
||||
26
app/views/admin/conferences/edit.html.haml
Normal file
26
app/views/admin/conferences/edit.html.haml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
.row
|
||||
.col-md-12
|
||||
.page-header
|
||||
%h1 Basics
|
||||
%p.text-muted
|
||||
The most basic settings of your conference
|
||||
.row
|
||||
.col-md-8
|
||||
= semantic_form_for(@conference, :url => admin_conference_path(@conference.short_title),:html => {:multipart => true}) do |f|
|
||||
= f.input :title, :hint => "The full title of the conference, e.g. 'openSUSE Conference 2014'"
|
||||
= f.input :short_title, :hint => "A short title, e.g. 'oSC14', to be used in URLs"
|
||||
= f.input :description, hint: markdown_hint('A description of the conference.'), input_html: { rows: 5, data: { provide: 'markdown-editable' } }
|
||||
= f.input :color, :hint => "The color will be used eg for the dashboard.", :input_html => {:size => 6, :type => "color"}
|
||||
= f.label 'Conference Logo'
|
||||
%br
|
||||
- if @conference.picture?
|
||||
= image_tag @conference.picture.thumb.url
|
||||
= f.input :picture, :label => false, :hint => "This will be displayed on the front page."
|
||||
= f.hidden_field :picture_cache
|
||||
= f.inputs :name => "Scheduling" do
|
||||
= f.input :timezone, :as => :time_zone, :hint => "The conference time zone"
|
||||
= f.input :start_date, :as => :string, :input_html => { :id => "conference-start-datepicker", :readonly => "readonly" }
|
||||
= f.input :end_date, :as => :string, :input_html => { :id => "conference-end-datepicker", :readonly => "readonly" }
|
||||
= f.inputs name: "Registrations" do
|
||||
= f.input :registration_limit, as: :number, in: 0..9999, hint: "Limit the number of registrations to the conference (0 no limit)"
|
||||
= f.action :submit, :as => :button, :button_html => {:class => "btn btn-primary"}
|
||||
86
app/views/admin/conferences/index.html.haml
Normal file
86
app/views/admin/conferences/index.html.haml
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
.row
|
||||
.col-sm-4.col-xs-4
|
||||
.dashbox.text-center
|
||||
%span.fa.fa-user.fa-lg
|
||||
%span.fa.fa-lg
|
||||
= @total_user
|
||||
%p
|
||||
%small
|
||||
#{'User'.pluralize(@total_user)}
|
||||
- if @new_user
|
||||
%span.label.label-success{title: "+ #{@new_user} since you last logged in!"}
|
||||
+
|
||||
= @new_user
|
||||
.col-sm-4.col-xs-4
|
||||
.dashbox.text-center
|
||||
%span.fa.fa-check-square.fa-lg
|
||||
%span.fa.fa-lg
|
||||
= @total_reg
|
||||
%p
|
||||
%small
|
||||
#{'Registration'.pluralize(@total_reg)}
|
||||
- if @new_reg
|
||||
%span.label.label-success{title: "+#{@new_reg} since you last logged in!"}
|
||||
+
|
||||
= @new_reg
|
||||
.col-sm-4.col-xs-4
|
||||
.dashbox.text-center
|
||||
%span.fa.fa-file-text.fa-lg
|
||||
%span.fa.fa-lg
|
||||
= @total_submissions
|
||||
%p
|
||||
%small
|
||||
#{'Submission'.pluralize(@total_submissions)}
|
||||
- if @new_submissions
|
||||
%span.label.label-success{title: "+#{@new_submissions} since you last logged in!"}
|
||||
+
|
||||
= @new_submissions
|
||||
|
||||
.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' }
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: { title: 'Events',data: @event_distribution }
|
||||
.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' }
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: { title: 'User',data: @user_distribution }
|
||||
.row
|
||||
.col-md-8
|
||||
%ul.nav.nav-tabs#recentTable
|
||||
%li.active
|
||||
%a{:href=>"#recent_user", "data-toggle"=>"tab"}
|
||||
%span.fa.fa-user
|
||||
Recent Users
|
||||
%li
|
||||
%a{:href=>"#recent_reg", "data-toggle"=>"tab"}
|
||||
%span.fa.fa-check-square
|
||||
Recent Registrations
|
||||
%li
|
||||
%a{:href=>"#recent_submissions", "data-toggle"=>"tab"}
|
||||
%span.fa.fa-file-text
|
||||
Recent Submissions
|
||||
.tab-content
|
||||
.tab-pane.active#recent_user
|
||||
= render partial: 'recent_users', locals: {recent_users: @recent_users}
|
||||
.tab-pane#recent_reg
|
||||
= render partial: 'recent_registrations', locals: {recent_registrations: @recent_registrations}
|
||||
.tab-pane#recent_submissions
|
||||
= render partial: 'recent_submissions', locals: {recent_events: @recent_events}
|
||||
.col-md-4
|
||||
= render partial: 'top_submitter', locals: {top_submitter: @top_submitter}
|
||||
14
app/views/admin/conferences/new.html.haml
Normal file
14
app/views/admin/conferences/new.html.haml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
.row
|
||||
.col-md-8
|
||||
= semantic_form_for(@conference, :url => admin_conferences_path) do |f|
|
||||
= f.inputs 'Basic Information' do
|
||||
= f.input :title, hint: "The name of your conference as it shall appear throughout the site. Example: 'OpenSUSE Conference 2013'",
|
||||
input_html: { required: 'required' }
|
||||
= f.input :short_title, hint: "A short and unique handle for your conference, using only lower-case letters, numbers and underscores. This will be used to identify your conference in URLs etc. Example: 'froscon2011'",
|
||||
input_html: { required: 'required' }
|
||||
= f.inputs 'Scheduling' do
|
||||
= f.input :timezone, as: :time_zone, default: Time.zone.name, hint: 'Please select in what time zone your conference will take place.'
|
||||
= f.input :start_date, as: :string, input_html: { id: 'conference-start-datepicker', required: 'required' }
|
||||
= f.input :end_date, as: :string, input_html: { id: 'conference-end-datepicker', required: 'required' }
|
||||
= f.actions do
|
||||
= f.action :submit, button_html: {class: 'btn btn-success pull-right'}
|
||||
131
app/views/admin/conferences/show.html.haml
Normal file
131
app/views/admin/conferences/show.html.haml
Normal file
|
|
@ -0,0 +1,131 @@
|
|||
%h1
|
||||
%span.fa.fa-tachometer
|
||||
Dashboard for #{@conference.title}
|
||||
%hr
|
||||
.row
|
||||
.col-sm-4.col-xs-4
|
||||
.dashbox.text-center
|
||||
%span.fa.fa-user.fa-lg
|
||||
%span.fa.fa-lg
|
||||
= @total_reg
|
||||
%p
|
||||
%small
|
||||
#{'Registration'.pluralize(@total_reg)}
|
||||
- if @new_reg
|
||||
%span.label.label-success{title: "+#{@new_reg} since you last logged in!"}
|
||||
+
|
||||
= @new_reg
|
||||
|
||||
.col-sm-4.col-xs-4
|
||||
.dashbox.text-center
|
||||
%span.fa.fa-check-square.fa-lg
|
||||
%span.fa.fa-lg
|
||||
= @total_submissions
|
||||
%p
|
||||
%small
|
||||
#{'Submission'.pluralize(@total_submissions)}
|
||||
- if @new_submissions
|
||||
%span.label.label-success{title: "+#{@new_submissions} since you last logged in!"}
|
||||
+
|
||||
= @new_submissions
|
||||
|
||||
.col-sm-4.col-xs-4
|
||||
.dashbox.text-center
|
||||
%span.fa.fa-file-text.fa-lg
|
||||
%span.fa.fa-lg
|
||||
= @program_length
|
||||
%p
|
||||
%small
|
||||
#{'Hour'.pluralize(@program_length)}
|
||||
- if @new_reg
|
||||
%span.label.label-success{title: "+#{@new_program_length} since you last logged in!"}
|
||||
+
|
||||
= @new_program_length
|
||||
|
||||
.row
|
||||
.col-md-12
|
||||
.row
|
||||
.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' }
|
||||
.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' }
|
||||
.col-md-4
|
||||
= render partial: 'todo_list', locals: { conference_progress: @conference_progress,
|
||||
conference: @conference }
|
||||
.row
|
||||
.col-md-12#doughnut
|
||||
%ul.nav.nav-tabs#doughnut_tabs
|
||||
%li.active
|
||||
%a{:href=>"#distribution_all", "data-toggle"=>"tab"}
|
||||
%span.fa.fa-star
|
||||
All
|
||||
%li
|
||||
%a{:href=>"#distribution_confirmed", "data-toggle"=>"tab"}
|
||||
%span.fa.fa-comment
|
||||
Confirmed
|
||||
.tab-content
|
||||
.tab-pane.active#distribution_all
|
||||
.row
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Event types', data: @event_type_distribution}
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Difficulty levels', data: @difficulty_levels_distribution}
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Tracks', data: @tracks_distribution}
|
||||
.tab-pane#distribution_confirmed
|
||||
.row
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Event types', data: @event_type_distribution_confirmed}
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Difficulty levels', data: @difficulty_levels_distribution_confirmed}
|
||||
.col-md-4
|
||||
= render partial: 'doughnut_chart', locals: {title: 'Tracks', data: @tracks_distribution_confirmed}
|
||||
|
||||
.row
|
||||
.col-md-8
|
||||
%ul.nav.nav-tabs#recentTable
|
||||
%li.active
|
||||
%a{:href=>"#recent_reg", "data-toggle"=>"tab"}
|
||||
%span.fa.fa-user
|
||||
Recent Registrations
|
||||
%li
|
||||
%a{:href=>"#recent_submissions", "data-toggle"=>"tab"}
|
||||
%span.fa.fa-file-text
|
||||
Recent Submissions
|
||||
.tab-content
|
||||
.tab-pane.active#recent_reg
|
||||
= render partial: 'recent_registrations', locals: {recent_registrations: @recent_registrations}
|
||||
.tab-pane#recent_submissions
|
||||
= render partial: 'recent_submissions', locals: {recent_events: @recent_events}
|
||||
.col-md-4
|
||||
= render partial: 'top_submitter', locals: {top_submitter: @top_submitter}
|
||||
.row
|
||||
.col-md-12
|
||||
%h3
|
||||
%span
|
||||
%i.fa.fa-flag
|
||||
Campaigns
|
||||
= render partial: 'campaigns', locals: {campaigns: @campaigns, name: 'campaigns'}
|
||||
|
||||
:javascript
|
||||
$('#recentTable a').click(function (e) {
|
||||
e.preventDefault();
|
||||
$(this).tab('show');
|
||||
})
|
||||
Loading…
Add table
Add a link
Reference in a new issue