diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index b5216afe..3fd34c53 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -29,11 +29,15 @@ module ApplicationHelper end def event_progress_color(progress) - case progress.to_i - when 100 then 'progress-bar-success' - when 85 then 'progress-bar-info' - when 71 then 'progress-bar-warning' - when 14, 28, 42, 57 then 'progress-bar-danger' + progress = progress.to_i + if progress == 100 + 'progress-bar-success' + elsif progress >= 85 + 'progress-bar-info' + elsif progress >= 71 + 'progress-bar-warning' + else + 'progress-bar-danger' end end diff --git a/app/models/event.rb b/app/models/event.rb index 518825bb..ce77480f 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -190,7 +190,7 @@ class Event < ActiveRecord::Base commercials: self.commercials.any?, biography: !self.submitter.biography.blank?, subtitle: !self.subtitle.blank?, - track: !self.track.blank?, + track: (!self.track.blank? unless self.program.tracks.empty?), difficulty_level: !self.difficulty_level.blank?, title: true, abstract: true @@ -204,7 +204,7 @@ class Event < ActiveRecord::Base # * +String+ -> Progress in Percent def calculate_progress result = self.progress_status - (100 * result.values.count(true) / result.values.count).to_s + (100 * result.values.count(true) / result.values.compact.count).to_s end private diff --git a/app/views/proposal/_tooltip.html.haml b/app/views/proposal/_tooltip.html.haml index dd626209..fda551f3 100644 --- a/app/views/proposal/_tooltip.html.haml +++ b/app/views/proposal/_tooltip.html.haml @@ -15,9 +15,10 @@ %li{'class'=>class_for_todo(progress_status['commercials'])} %span{'class'=>icon_for_todo(progress_status['commercials'])} = link_to 'Add a commercial', edit_conference_program_proposal_path(event.program.conference.short_title, event, anchor: 'commercials-content') - %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) + - 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) diff --git a/app/views/proposal/index.html.haml b/app/views/proposal/index.html.haml index f9afd688..259b936d 100644 --- a/app/views/proposal/index.html.haml +++ b/app/views/proposal/index.html.haml @@ -76,7 +76,7 @@ - progress_percentage = event.calculate_progress .progress %div{class: "progress-bar #{event_progress_color(progress_percentage)}", style: "width:#{progress_percentage}%;"} - = event.progress_status.reject{ |_key, value| value }.length + = event.progress_status.reject{ |_key, value| value || value.nil? }.length left %td.col-md-3{style: "padding:20px 0px 20px 0px;"}