aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlban Peignier2015-05-21 15:53:08 +0200
committerAlban Peignier2015-05-21 15:53:14 +0200
commit3ce316f104dfb4bda2a666a358ef195cc51c31bd (patch)
treecada869de7c8e7f49aae8776f460991843c09a1a
parent0632361d27cc6fa9abbc7369fb4130f6c467e768 (diff)
downloadchouette-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.scss29
-rw-r--r--app/assets/stylesheets/modules/icons.css.scss8
-rw-r--r--app/helpers/job_status_icon_helper.rb10
-rw-r--r--app/models/import.rb21
-rw-r--r--app/views/imports/_import.erb20
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>