diff options
| author | Marc Florisson | 2015-06-23 15:07:00 +0200 |
|---|---|---|
| committer | Marc Florisson | 2015-06-23 15:07:00 +0200 |
| commit | 1b64825fbfbbfd0c1639c9d3d9421516c412d555 (patch) | |
| tree | 5bac142a4b3d96cb24291713645ae4989156ff88 | |
| parent | 195aa18d15f89a2991956f2579e35638bfa64a07 (diff) | |
| parent | eafbf6ea15c5fb027f4e909cc95cd5a3a39070e2 (diff) | |
| download | chouette-core-1b64825fbfbbfd0c1639c9d3d9421516c412d555.tar.bz2 | |
Merge branch 'master' of github.com:afimb/chouette2
| -rw-r--r-- | app/assets/stylesheets/main/compliance_checks.css.scss | 4 | ||||
| -rw-r--r-- | app/helpers/application_helper.rb | 25 | ||||
| -rw-r--r-- | app/models/compliance_check.rb | 41 | ||||
| -rw-r--r-- | app/models/compliance_check_result.rb | 40 | ||||
| -rw-r--r-- | app/views/compliance_checks/report.html.erb | 44 | ||||
| -rw-r--r-- | config/locales/compliance_checks.yml | 4 |
6 files changed, 74 insertions, 84 deletions
diff --git a/app/assets/stylesheets/main/compliance_checks.css.scss b/app/assets/stylesheets/main/compliance_checks.css.scss index 496ebeeae..d31dfab62 100644 --- a/app/assets/stylesheets/main/compliance_checks.css.scss +++ b/app/assets/stylesheets/main/compliance_checks.css.scss @@ -9,6 +9,10 @@ @import "../modules/links"; } +#validation_success{ + margin-top: 15px; +} + #workspace.compliance_checks.report, #workspace.imports.compliance_check{ @import "../modules/job_status_colors"; @import "../modules/job_status_title"; diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index df2cb696b..811ea6f4c 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,18 +1,15 @@ module ApplicationHelper - def font_awesome_classic_tag(name, size = "") - if name == "fa-file-csv-o" - name = "fa-file-text-o" - elsif name == "fa-file-xml-o" - name = "fa-file-code-o" - end - "<i class='fa #{name} #{size}'></i>".html_safe + def font_awesome_classic_tag(name) + name = "fa-file-text-o" if name == "fa-file-csv-o" + name = "fa-file-code-o" if name == "fa-file-xml-o" + content_tag(:id, nil, {class: "fa #{name}"}) end - + def stop_area_picture_url(stop_area) image_path("map/#{stop_area.area_type.underscore}.png") end - + def selected_referential? @referential.present? and not @referential.new_record? end @@ -29,13 +26,13 @@ module ApplicationHelper relative_url_root = Rails.application.config.relative_url_root relative_url_root && !source.starts_with?("#{relative_url_root}/") ? "#{relative_url_root}#{source}" : source end - + def assets_path_patch( source) relative_url_root = Rails.application.config.relative_url_root return "/assets/#{source}" unless relative_url_root "#{relative_url_root}/assets/#{source}" end - + def help_page? controller_name == "help" @@ -83,9 +80,9 @@ module ApplicationHelper else "" end - + url_for(:controller => "/help", :action => "show") + '/' + target end - - + + end diff --git a/app/models/compliance_check.rb b/app/models/compliance_check.rb index 714c183d7..d3e4054a6 100644 --- a/app/models/compliance_check.rb +++ b/app/models/compliance_check.rb @@ -4,19 +4,15 @@ class ComplianceCheck def initialize( response ) @datas = response end - + def report? links["action_report"].present? end - + def report Rails.cache.fetch("#{cache_key}/action_report", expires_in: cache_expiration) do - report_path = links["action_report"] - if report_path - response = Ievkit.get(report_path) - ComplianceCheckReport.new(response) - else - nil + if report_path = links["action_report"] + ComplianceCheckReport.new Ievkit.get(report_path) end end end @@ -24,15 +20,11 @@ class ComplianceCheck def compliance_check_validation_report? links["validation_report"].present? end - + def compliance_check_validation_report Rails.cache.fetch("#{cache_key}/validation_report", expires_in: cache_expiration) do - report_path = links["validation_report"] - if report_path - response = Ievkit.get(report_path) - ComplianceCheckResult.new(response) - else - nil + if report_path = links["validation_report"] + ComplianceCheckResult.new Ievkit.get(report_path) end end end @@ -43,31 +35,24 @@ class ComplianceCheck def rule_parameter_set Rails.cache.fetch("#{cache_key}/validation_params", expires_in: cache_expiration) do - rule_parameter_set_path = links["validation_params"] - if rule_parameter_set_path + if rule_parameter_set_path = links["validation_params"] response = Ievkit.get(rule_parameter_set_path) - rule_parameter_set = RuleParameterSet.new(:name => "", :compliance_check => self).tap { |rps| rps.parameters = response.validation } - else - nil + RuleParameterSet.new(name: '', compliance_check: self).tap do |rps| + rps.parameters = response.validation + end end end end def destroy - delete_path = links["delete"] - cancel_path = links["cancel"] - - if delete_path + if delete_path = links["delete"] Ievkit.delete(delete_path) - elsif cancel_path + elsif cancel_path = links["cancel"] Ievkit.delete(cancel_path) - else - nil end end def format datas.type end - end diff --git a/app/models/compliance_check_result.rb b/app/models/compliance_check_result.rb index 399f406a9..cd956a021 100644 --- a/app/models/compliance_check_result.rb +++ b/app/models/compliance_check_result.rb @@ -2,9 +2,9 @@ class ComplianceCheckResult extend ActiveModel::Naming extend ActiveModel::Translation include ActiveModel::Model - + attr_accessor :datas - + def initialize(response) @datas = response.validation_report end @@ -14,44 +14,40 @@ class ComplianceCheckResult end def ok_error - tests? ? tests.select { |test| (test.result == "OK" && test.severity == "ERROR") } : [] + all('ok', 'error') end - + def nok_error - tests? ? tests.select { |test| (test.result == "NOK" && test.severity == "ERROR")} : [] + all('nok', 'error') end - + def na_error - tests? ? tests.select { |test| (test.result == "UNCHECK" && test.severity == "ERROR")} : [] + all('uncheck', 'error') end def ok_warning - tests? ? tests.select { |test| (test.result == "OK" && test.severity == "WARNING")} : [] + all('ok', 'warning') end - + def nok_warning - tests? ? tests.select { |test| (test.result == "NOK" && test.severity == "WARNING")} : [] + all('nok', 'warning') end - + def na_warning - tests? ? tests.select { |test| (test.result == "UNCHECK" && test.severity == "WARNING")} : [] + all('uncheck', 'warning') end - + def all(status, severity) - tests? ? tests.select { |test| ( test.result == status && test.severity == severity ) } : [] + tests? ? tests.select { |test| test.result == status.downcase && test.severity == severity.downcase } : [] end def tests - [].tap do |tests| - datas.tests.each do |test| - tests << Test.new(test) - end if datas.tests? - end + @tests ||= tests? ? datas.tests.map{ |test| Test.new(test) } : [] end class Test attr_reader :options - + def initialize( options ) @options = options end @@ -59,7 +55,7 @@ class ComplianceCheckResult def test_id options.test_id if options.test_id? end - + def severity options.severity.downcase if options.severity? end @@ -76,5 +72,5 @@ class ComplianceCheckResult options.error_count if options.error_count? end end - + end diff --git a/app/views/compliance_checks/report.html.erb b/app/views/compliance_checks/report.html.erb index e4d91e57c..24cffab38 100644 --- a/app/views/compliance_checks/report.html.erb +++ b/app/views/compliance_checks/report.html.erb @@ -8,27 +8,33 @@ <% else %> <%= link_to font_awesome_classic_tag("fa-external-link") + t("compliance_checks.rule_parameter_set"), rule_parameter_set_referential_compliance_check_path(@referential, @compliance_check.id) if @compliance_check.rule_parameter_set? %> <% end %> - <div class="btn-group pull-right"> - <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> - <%= t("compliance_checks.show.export") %> <span class="caret"></span> - </button> - <ul class="dropdown-menu" role="menu"> - <li> - <% if @compliance_check.class == Import %> - <%= link_to t("compliance_checks.show.export_csv"), export_referential_import_path(@referential, @compliance_check.id) %> - <% else %> - <%= link_to t("compliance_checks.show.export_csv"), export_referential_compliance_check_path(@referential, @compliance_check.id) %> - <% end %> - </li> - </ul> - </div> - </div> - <div class="report" data-refresh-interval="<%= job_refresh_interval(@compliance_check) %>"> - <%= render :partial => "compliance_checks/compliance_check_results", :locals => { :compliance_check_validation_report => @compliance_check.compliance_check_validation_report } %> - </div> + <div class="btn-group pull-right"> + <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false"> + <%= t("compliance_checks.show.export") %> <span class="caret"></span> + </button> + <ul class="dropdown-menu" role="menu"> + <li> + <% if @compliance_check.class == Import %> + <%= link_to t("compliance_checks.show.export_csv"), export_referential_import_path(@referential, @compliance_check.id) %> + <% else %> + <%= link_to t("compliance_checks.show.export_csv"), export_referential_compliance_check_path(@referential, @compliance_check.id) %> + <% end %> + </li> + </ul> + </div> + </div> + <div class="report" data-refresh-interval="<%= job_refresh_interval(@compliance_check) %>"> + <%= render :partial => "compliance_checks/compliance_check_results", locals: { compliance_check_validation_report: @compliance_check.compliance_check_validation_report } %> + </div> </div> <% content_for :sidebar do %> + <% if @compliance_check.compliance_check_validation_report.nok_error.blank? %> + <div class="row"> + <%=font_awesome_classic_tag('fa-thumbs-up fa-5x col-md-3')%> + <p class='col-md-7' id='validation_success'><%=t('.validation_success')%></p> + </div> + <% end %> <ul class="actions"> <li> <% if @compliance_check.class != Import %> @@ -39,6 +45,4 @@ <%= history_tag(@compliance_check) %> <div id="error" class="graph"></div> <div id="warning" class="graph"></div> - </div> - <% end %> diff --git a/config/locales/compliance_checks.yml b/config/locales/compliance_checks.yml index 5917754cb..1d2331bcb 100644 --- a/config/locales/compliance_checks.yml +++ b/config/locales/compliance_checks.yml @@ -14,6 +14,8 @@ en: processing: "[ In progress... ]" export: "Download test report" export_csv: "CSV format" + report: + validation_success: "Validation successfully passed." actions: destroy_confirm: "Do you confirm to destroy this validation ?" destroy: "Destroy this validation" @@ -83,6 +85,8 @@ fr: processing: "[ En progression... ]" export: "Télécharger les résultats" export_csv: "Format CSV" + report: + validation_success: "La validation est passé avec succès." actions: destroy_confirm: "Voulez-vous supprimer ce résultat de validation ?" destroy: "Supprimer cette validation" |
