diff --git a/app/controllers/admin/events_controller.rb b/app/controllers/admin/events_controller.rb index 3cfbf0aa..46a2931c 100644 --- a/app/controllers/admin/events_controller.rb +++ b/app/controllers/admin/events_controller.rb @@ -11,6 +11,7 @@ class Admin::EventsController < ApplicationController def index @events = @conference.events @tracks = @conference.tracks + @event_states = @events.state_machine.states.map respond_to do |format| format.html format.json { render :json => Event.where(:state => :confirmed) } diff --git a/app/views/admin/events/index.html.haml b/app/views/admin/events/index.html.haml index b7386458..9b6401f3 100644 --- a/app/views/admin/events/index.html.haml +++ b/app/views/admin/events/index.html.haml @@ -1,3 +1,91 @@ +.row-fluid + .span + .row + %h5{:style=>"text-align: right"} + = link_to "Events Stats", "#", :id => "events-stats1-link", :class => "btn btn-success" + #events-stats1 + %table.table.table-bordered.table-striped + + %thead + %th + - @event_states.each do |state| + - totalstate = @events.where("state = ?", state.name).count + - if totalstate > 0 + %th{:colspan => 2, :style => "text-align:center"} + Type "#{state.name}" + %th{:colspan => 2, :style => "text-align:center"} + Total + %br + No & Time + + %tr + %td + %b Total + - @event_states.each do |state| + - totalstate = @events.where("state = ?", state.name).count + - if totalstate > 0 + %td + %b= totalstate + %td + - length = 0 + - @events.where("state = ?", state.name).each do |event| + - length += event.event_type.length + - length_hour = length / 60 + %b + #{length_hour} h #{length-(length_hour*60)} m + %td + %b= @events.count + %td + - length = 0 + - @events.each do |event| + - length += event.event_type.length + - length_hour = length / 60 + %b + = length_hour + h + %b + = length-(length_hour*60) + m + + - @conference.event_types.each do |type| + %tr + %td + %b= type.title + - @event_states.each do |state| + - totalstate = @events.where("state = ?", state.name).count + - if totalstate > 0 + %td + - var = @events.where("event_type_id = ? AND state = ?", type.id, state.name) + - if var.count == 0 + - + - else + = var.count + - length = 0 + %td + - var.each do |e| + - length += e.event_type.length + - hour = length / 60 + - min = length-(hour*60) + + - if hour == 0 && min == 0 + - + - else + = hour + h + = min + m + %td + = @events.where("event_type_id = ?", type.id).count + %td + - length = 0 + - @events.where("event_type_id = ?", type.id).each do |event| + - length += event.event_type.length + - length_hour = length / 60 + = length_hour + h + = length-(length_hour*60) + m + .row-fluid .span12 %h2 @@ -87,3 +175,9 @@ "bPaginate": false } ); } ); + + $(document).ready( function() { + $("#events-stats1-link").click(function() { + $("#events-stats1").toggle(); + }); + }); \ No newline at end of file