aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjpl2016-10-05 14:28:36 +0200
committerjpl2016-10-05 14:28:36 +0200
commit1ad2d20af7cc2d9a7a5fab8375967565a12ef505 (patch)
treea7335925c133862401d33083d84ca410ee0beb76
parentf4885c9ad9091712a85e47beede17b4712377259 (diff)
downloadchouette-core-1ad2d20af7cc2d9a7a5fab8375967565a12ef505.tar.bz2
update company views with table builder (helper)
-rw-r--r--app/helpers/application_helper.rb2
-rw-r--r--app/helpers/pagination_helper.rb8
-rw-r--r--app/helpers/refobjects_helper.rb27
-rw-r--r--app/views/companies/_companies.html.slim6
-rw-r--r--app/views/referential_companies/index.js.slim2
5 files changed, 37 insertions, 8 deletions
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 0aa106028..132b7dcaa 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -1,5 +1,7 @@
module ApplicationHelper
+ include RefobjectsHelper
+
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"
diff --git a/app/helpers/pagination_helper.rb b/app/helpers/pagination_helper.rb
index c0e28ab56..e373629af 100644
--- a/app/helpers/pagination_helper.rb
+++ b/app/helpers/pagination_helper.rb
@@ -3,9 +3,9 @@ module PaginationHelper
def paginated_content(models, default_partial_name = nil, options = {})
default_options = {:delete => true, :edit => true}
options = default_options.merge(options)
-
- return "" if models.blank?
-
+
+ # return "" if models.blank?
+
html = ""
models.each_slice(3) do |row_models|
html += '<div class="row">'
@@ -16,6 +16,6 @@ module PaginationHelper
html += '</div>'
end
- html.html_safe
+ return html.html_safe unless models.blank?
end
end
diff --git a/app/helpers/refobjects_helper.rb b/app/helpers/refobjects_helper.rb
new file mode 100644
index 000000000..c4a93134b
--- /dev/null
+++ b/app/helpers/refobjects_helper.rb
@@ -0,0 +1,27 @@
+module RefobjectsHelper
+
+ def table_builder collection, columns, cls = nil
+ return unless collection.present?
+
+ head = content_tag :thead do
+ content_tag :tr do
+ columns.each do |col|
+ concat content_tag(:th, collection.first.respond_to?(col) ? col.to_s.titleize : "Doesn't exist")
+ end
+ end
+ end
+
+ body = content_tag :tbody do
+ collection.collect { |item|
+ content_tag :tr do
+ columns.collect { |col|
+ concat content_tag(:td, item.try(col))
+ }.to_s.html_safe
+ end
+ }.join().html_safe
+ end
+
+ content_tag :table, head.concat(body), class: cls
+ end
+
+end
diff --git a/app/views/companies/_companies.html.slim b/app/views/companies/_companies.html.slim
index bcd471cc7..8891912f0 100644
--- a/app/views/companies/_companies.html.slim
+++ b/app/views/companies/_companies.html.slim
@@ -2,8 +2,8 @@
span.search = t('will_paginate.page_entries_info.search')
= page_entries_info(@companies)
-.companies.paginated_content
- = paginated_content(@companies)
+.companies.paginated_content style="margin-top:20px;"
+ = table_builder @companies, [:name, :edited_at, :published_at, :validity_period, :lines, :transporter, :status], 'table table-bordered'
.pagination
- = will_paginate @companies, :container => false, renderer: RemoteBootstrapPaginationLinkRenderer \ No newline at end of file
+ = will_paginate @companies, :container => false, renderer: RemoteBootstrapPaginationLinkRenderer
diff --git a/app/views/referential_companies/index.js.slim b/app/views/referential_companies/index.js.slim
index cfb1c719c..3a1739abf 100644
--- a/app/views/referential_companies/index.js.slim
+++ b/app/views/referential_companies/index.js.slim
@@ -1 +1 @@
-| $('#companies').html("= escape_javascript(render('companies'))"); \ No newline at end of file
+/ | $('#companies').html("= escape_javascript(render('companies'))");