diff options
| author | jpl | 2016-10-05 14:28:36 +0200 | 
|---|---|---|
| committer | jpl | 2016-10-05 14:28:36 +0200 | 
| commit | 1ad2d20af7cc2d9a7a5fab8375967565a12ef505 (patch) | |
| tree | a7335925c133862401d33083d84ca410ee0beb76 | |
| parent | f4885c9ad9091712a85e47beede17b4712377259 (diff) | |
| download | chouette-core-1ad2d20af7cc2d9a7a5fab8375967565a12ef505.tar.bz2 | |
update company views with table builder (helper)
| -rw-r--r-- | app/helpers/application_helper.rb | 2 | ||||
| -rw-r--r-- | app/helpers/pagination_helper.rb | 8 | ||||
| -rw-r--r-- | app/helpers/refobjects_helper.rb | 27 | ||||
| -rw-r--r-- | app/views/companies/_companies.html.slim | 6 | ||||
| -rw-r--r-- | app/views/referential_companies/index.js.slim | 2 | 
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'))"); | 
