diff options
| author | Alban Peignier | 2015-05-21 15:53:08 +0200 |
|---|---|---|
| committer | Alban Peignier | 2015-05-21 15:53:14 +0200 |
| commit | 3ce316f104dfb4bda2a666a358ef195cc51c31bd (patch) | |
| tree | cada869de7c8e7f49aae8776f460991843c09a1a | |
| parent | 0632361d27cc6fa9abbc7369fb4130f6c467e768 (diff) | |
| download | chouette-core-3ce316f104dfb4bda2a666a358ef195cc51c31bd.tar.bz2 | |
Move import profile detail in panel footer in imports#index. Add save/no-save icon
| -rw-r--r-- | app/assets/stylesheets/main/imports.css.scss | 29 | ||||
| -rw-r--r-- | app/assets/stylesheets/modules/icons.css.scss | 8 | ||||
| -rw-r--r-- | app/helpers/job_status_icon_helper.rb | 10 | ||||
| -rw-r--r-- | app/models/import.rb | 21 | ||||
| -rw-r--r-- | app/views/imports/_import.erb | 20 |
5 files changed, 59 insertions, 29 deletions
diff --git a/app/assets/stylesheets/main/imports.css.scss b/app/assets/stylesheets/main/imports.css.scss index 185800be2..46942feee 100644 --- a/app/assets/stylesheets/main/imports.css.scss +++ b/app/assets/stylesheets/main/imports.css.scss @@ -1,11 +1,32 @@ -#workspace.imports.index -{ +#workspace.imports.index { + .panel.import { + .panel-footer { + min-height: 5.5em; + + .save-mode, .format { + display: inline-block; + } + + .save-mode { + color: $brand-info; + .fa-lg { + font-size: 1em; + } + .fa-ban { + opacity: 0.6; + } + } + + .history { + margin-top: 10px; + } + } + } } #workspace.imports.show { @import "../partials/ie_report"; @import "../modules/job_status_colors"; @import "../modules/job_status_title"; - @import "../modules/links"; - + @import "../modules/links"; } diff --git a/app/assets/stylesheets/modules/icons.css.scss b/app/assets/stylesheets/modules/icons.css.scss index 3da56d1c9..1b6217fce 100644 --- a/app/assets/stylesheets/modules/icons.css.scss +++ b/app/assets/stylesheets/modules/icons.css.scss @@ -18,7 +18,7 @@ a.edit:before { // fa-pencil a.remove:before { // fa-trash content: "\f1f8"; color: $brand-danger; - } + } a.export:before { // fa-upload content: "\f093"; @@ -33,7 +33,7 @@ a.import:before { // fa-download a.clone:before { // fa-copy content: "\f0c5"; color: $brand-success; - } + } a.link:before { // fa-external-link content: "\f08e"; @@ -74,10 +74,6 @@ a.clock:before { // fa-clock-o content: "\f017"; } -/* first-child makes sure to grab the first element inside -your fa-stack. The top margin shifts the inner icon down */ -.fa-stack-1x { top: .25em; } - .fa-stack { /* sizes whole .fa-stack down to make them the regular sized */ font-size: .5em; diff --git a/app/helpers/job_status_icon_helper.rb b/app/helpers/job_status_icon_helper.rb index 4ac6670ec..9b8e485db 100644 --- a/app/helpers/job_status_icon_helper.rb +++ b/app/helpers/job_status_icon_helper.rb @@ -4,27 +4,27 @@ module JobStatusIconHelper status = object.status name = object.name object_name = object.class.model_name.human.capitalize - + title = "" if %w{ aborted canceled }.include?(status) title += "<span class='name aborted'><i class='fa fa-times'></i>" elsif %w{ started scheduled }.include?(status) title += "<span class='name processed'><i class='fa fa-spinner fa-spin'></i>" - elsif %w{ terminated}.include?(status) + elsif %w{terminated}.include?(status) title += "<span class='name terminated'><i class='fa fa-check'></i>" end title += "#{object_name} #{truncate(name, :length => 20)}</span>" - title += "<p class='format'><span class='label label-default'>#{t("enumerize.data_format.#{object.format}")}</span></p>" if object.format.present? + title.html_safe end def job_status_short_title(object) name = object.name - object_name = object.class.model_name.human.capitalize + object_name = object.class.model_name.human.capitalize title = "#{object_name} #{truncate(name, :length => 20)}" title.html_safe end - + end diff --git a/app/models/import.rb b/app/models/import.rb index 87f5058ec..b7cfd5a24 100644 --- a/app/models/import.rb +++ b/app/models/import.rb @@ -6,27 +6,27 @@ class Import 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 + if report_path response = Ievkit.get(report_path) ImportReport.new(response) else nil end end - end + end def rule_parameter_set? links["validation_params"].present? end - + def rule_parameter_set Rails.cache.fetch("#{cache_key}/validation_params", expires_in: cache_expiration) do rule_parameter_set_path = links["validation_params"] @@ -42,7 +42,7 @@ class Import def compliance_check? links["validation_report"].present? end - + def compliance_check_validation_report puts "compliance_check_validation_report" Rails.cache.fetch("#{cache_key}/validation_report", expires_in: cache_expiration) do @@ -59,7 +59,7 @@ class Import def destroy delete_path = links["delete"] cancel_path = links["cancel"] - + if delete_path Ievkit.delete(delete_path) elsif cancel_path @@ -72,7 +72,7 @@ class Import def file_path? links["data"].present? end - + def file_path links["data"] end @@ -84,9 +84,10 @@ class Import def filename_extension File.extname(filename).gsub(".", "") if filename end - + def no_save datas.action_parameters.no_save end - + alias_method :no_save?, :no_save + end diff --git a/app/views/imports/_import.erb b/app/views/imports/_import.erb index e08511762..744fbcbdb 100644 --- a/app/views/imports/_import.erb +++ b/app/views/imports/_import.erb @@ -1,13 +1,13 @@ -<div id="index_item" class="panel panel-default"> +<div id="index_item" class="panel panel-default import"> <div class="panel-heading"> <div class="panel-title clearfix"> - <span class="pull-right"> + <span class="pull-right"> <%= link_to referential_import_path(@referential, import.id), :method => :delete, :data => {:confirm => t('imports.actions.destroy_confirm')}, :class => "btn btn-danger btn-sm" do %> <span class="fa fa-trash-o"></span> <% end %> </span> <h5> - <%= link_to( referential_import_path(@referential, import.id), :class => "preview", :title => "#{ImportTask.model_name.human.capitalize} #{import.name}") do %> + <%= link_to( referential_import_path(@referential, import.id), :class => "preview", :title => "#{ImportTask.model_name.human.capitalize} #{import.name}") do %> <%= job_status_title(import) %> <% end %> </h5> @@ -17,7 +17,19 @@ <p><%= link_to font_awesome_classic_tag("fa-file-#{import.filename_extension}-o") + t("imports.show.imported_file"), imported_file_referential_import_path(@referential, import.id) if import.file_path? %></p> <p><%= link_to font_awesome_classic_tag("fa-external-link") + t("imports.show.compliance_check"), compliance_check_referential_import_path(@referential, import.id) if import.compliance_check? %></p> </div> - <div class="panel-footer"> + <div class="panel-footer"> + <% if import.format.present? %> + <div class="format"><span class='label label-default'><%= t("enumerize.data_format.#{import.format}") %></span></div> + <% end %> + + <div class="save-mode"> + <% if import.no_save? %> + <span class="fa-stack fa-lg"><i class="fa fa-database fa-stack-1x"></i><i class="fa fa-ban fa-stack-2x"></i></span> + <% else %> + <span class="fa-lg"><i class="fa fa-database"></i></span> + <% end %> + </div> + <div class="history"> <%= l(import.created_at, :format => "%d/%m/%Y %H:%M") if import.created_at %> | <%= import.user_name %> </div> |
