aboutsummaryrefslogtreecommitdiffstats
path: root/app/helpers/progress_bar_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers/progress_bar_helper.rb')
-rw-r--r--app/helpers/progress_bar_helper.rb40
1 files changed, 40 insertions, 0 deletions
diff --git a/app/helpers/progress_bar_helper.rb b/app/helpers/progress_bar_helper.rb
new file mode 100644
index 000000000..9a4bbfc9c
--- /dev/null
+++ b/app/helpers/progress_bar_helper.rb
@@ -0,0 +1,40 @@
+module ProgressBarHelper
+
+ def percentage_progress(object_model, report)
+ if %w{ aborted canceled terminated }.include? object_model.status
+ percentage_progress = "100"
+ elsif object_model.status == "started" && report.total_steps != 0
+ percentage_progress = "#{report.current_step / report.total_steps}"
+ else # %w{ scheduled nil }.include? object_model.status
+ percentage_progress = "0"
+ end
+ end
+
+ def progress_bar_tag(object_model)
+ report = object_model.report
+ percentage_progress = percentage_progress(object_model, report)
+
+ percentage_info = ""
+ if %w{ aborted canceled scheduled terminated }.include? object_model.status
+ percentage_info = "#{percentage_progress}% " + I18n.t("#{object_model.class.to_s.downcase.pluralize}.statuses.#{object_model.status}")
+ elsif object_model.status == "started"
+ percentage_info = "Niv #{report.current_level} : #{report.current_step_name.downcase} #{report.current_step} / #{report.total_steps}"
+ end
+
+ if %w{ aborted canceled }.include? object_model.status
+ div_class = "progress-bar progress-bar-danger"
+ elsif %w{ started scheduled }.include? object_model.status
+ div_class = "progress-bar progress-bar-info"
+ elsif object_model.status == "terminated"
+ div_class = "progress-bar progress-bar-success"
+ else
+ div_class = "progress-bar"
+ end
+
+ content_tag :div, :class => "progress", :title => percentage_info do
+ content_tag :div, :class => div_class, role: "progressbar", :'aria-valuenow' => "#{percentage_progress}", :'aria-valuemin' => "0", :'aria-valuemax' => "100", :style => "width: #{percentage_progress}%;" do
+ "#{percentage_progress}%"
+ end
+ end
+ end
+end