diff --git a/app/controllers/admin/m_odr_reps_controller.rb b/app/controllers/admin/m_odr_reps_controller.rb index e2dd78c..4b724af 100644 --- a/app/controllers/admin/m_odr_reps_controller.rb +++ b/app/controllers/admin/m_odr_reps_controller.rb @@ -7,7 +7,7 @@ class Admin::MOdrRepsController < ApplicationController before_action :admin_space def admin_space - @admin_space = "stocks" + @admin_space = "payments" end def index @@ -40,10 +40,89 @@ class Admin::MOdrRepsController < ApplicationController @m_odr_reps = sort_by_sorting(@m_odr_reps, "m_odr_reps.created_at DESC") - params[:search][:per_page] = params[:search][:per_page] || 50 - per_page = params[:search][:per_page] - page = (params[:page] and params[:page] != "") ? params[:page] : 1 - @m_odr_reps = @m_odr_reps.page(page).per(per_page) + + + + respond_to do |format| + format.html{ + + + + params[:search][:per_page] = params[:search][:per_page] || 50 + per_page = params[:search][:per_page] + page = (params[:page] and params[:page] != "") ? params[:page] : 1 + @m_odr_reps = @m_odr_reps.page(page).per(per_page) + + } + + format.csv { + @headers = [] + @columns = [] + MOdrRep.qi_table_order.each do |key, value| + + if value.instance_of? Hash + name = value[:name] + else + name = value + end + + if name != "Actions" + @headers << name.to_s + @columns << key + end + + end + + + + xlsx_package = Axlsx::Package.new + wb = xlsx_package.workbook + wb.add_worksheet(name: "import") do |sheet| + sheet.add_row @headers + + @m_odr_reps.each do |p_customer| + line = [] + + @columns.each do |column| + + if (p_customer.respond_to?("csv_"+column.to_s)) + line << p_customer.send("csv_"+column.to_s) + elsif (p_customer.respond_to?("tr_"+column.to_s)) + line << p_customer.send("tr_"+column.to_s) + elsif (p_customer.respond_to?(column)) + if p_customer.send(column.to_s).class.to_s == "BigDecimal" + line << p_customer.send(column.to_s).to_s.gsub('.', ',') + else + line << p_customer.send(column.to_s) + end + else + line << column.to_s + end + + end + + + sheet.add_row line, types: line.map{|t| self.cell_type_from_value(t)} + end + + + end + + @final_file = "#{Rails.root}/private_medias/export-inscrits-#{Time.now.to_s.to_slug}.xlsx" + + + xlsx_package.serialize(@final_file) + + + send_file @final_file + + + + } + + end + + end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 96df211..0e69b26 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -4,7 +4,28 @@ class ApplicationController < ActionController::Base protect_from_forgery with: :exception - + def cell_type_from_value(v) + if v.is_a?(Date) + :date + elsif v.is_a?(String) + :string + elsif v.is_a?(Time) + :time + elsif v.is_a?(TrueClass) || v.is_a?(FalseClass) + :boolean + elsif v.to_s =~ /\A[+-]?\d+?\Z/ #numeric + :integer + elsif v.to_s =~ /\A[-+]?[0-9]*\.?[0-9]+([eE][-+]?[0-9]+)?\Z/ #float + :float + # \A(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9]) + # T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)? + # (Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?\Z + elsif v.to_s =~/\A(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])T(2[0-3]|[0-1][0-9]):([0-5][0-9]):([0-5][0-9])(\.[0-9]+)?(Z|[+-](?:2[0-3]|[0-1][0-9]):[0-5][0-9])?\Z/ + :iso_8601 + else + :string + end + end before_action :set_locale diff --git a/app/models/m_odr_rep.rb b/app/models/m_odr_rep.rb index 19570fc..83dbf2a 100644 --- a/app/models/m_odr_rep.rb +++ b/app/models/m_odr_rep.rb @@ -336,6 +336,14 @@ file_admin_ok remise particular_civilite particular_name particular_firstname pa #, :sort_name => "code" end + def csv_m_odr + self.m_odr.name if self.m_odr + end + + def csv_m_odr_product_cat + self.m_odr_product_cat.name if self.m_odr_product_cat + end + def ca_admin_ok_to_send if self.rib_admin_ok and self.file_admin_ok true diff --git a/app/views/admin/admin_spaces/_payments.html.haml b/app/views/admin/admin_spaces/_payments.html.haml index 9df6456..0eddf57 100644 --- a/app/views/admin/admin_spaces/_payments.html.haml +++ b/app/views/admin/admin_spaces/_payments.html.haml @@ -1,3 +1,6 @@ + +%li= link_to "Participations ODR", admin_m_odr_reps_path + %li= link_to "Virements", admin_m_odr_virements_path =#%li= link_to "Remises", admin_p_remises_path =#%li= link_to "Relances", relances_admin_p_payments_path diff --git a/app/views/admin/admin_spaces/_stocks.html.haml b/app/views/admin/admin_spaces/_stocks.html.haml index 90aae40..95d8c30 100644 --- a/app/views/admin/admin_spaces/_stocks.html.haml +++ b/app/views/admin/admin_spaces/_stocks.html.haml @@ -1,7 +1,6 @@ -%li= link_to "Participations ODR", admin_m_odr_reps_path -if current_admin.has_permission?("odr.view") %li= link_to "ODR", admin_m_odrs_path diff --git a/app/views/admin/m_odr_reps/_m_odr_rep.html.haml b/app/views/admin/m_odr_reps/_m_odr_rep.html.haml index 659ce17..739780a 100644 --- a/app/views/admin/m_odr_reps/_m_odr_rep.html.haml +++ b/app/views/admin/m_odr_reps/_m_odr_rep.html.haml @@ -28,8 +28,8 @@ -if @can_update = link_to i(:"trash-o"), [:admin, m_odr_rep], method: :delete, data: { confirm: 'Voulez-vous vraiment supprimer cet enregistrement ? ' } , :remote => true - = link_to i(:pencil), edit_admin_m_odr_rep_path(m_odr_rep), :remote => true - = link_to i(:eye), admin_m_odr_rep_path(m_odr_rep) + = link_to i(:pencil), admin_m_odr_rep_path(m_odr_rep) #edit_admin_m_odr_rep_path(m_odr_rep), :remote => true + = #link_to i(:eye), admin_m_odr_rep_path(m_odr_rep) diff --git a/app/views/admin/m_odr_reps/index.html.haml b/app/views/admin/m_odr_reps/index.html.haml index 3d17535..b81d704 100644 --- a/app/views/admin/m_odr_reps/index.html.haml +++ b/app/views/admin/m_odr_reps/index.html.haml @@ -38,7 +38,7 @@ %td=text_field_tag :reduc_code, params[:reduc_code],:class => "form-control", :placeholder => "Code réduction" - =render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @m_odr_reps} + =render :partial => "qi/qi_ordered_table_search_footer", :locals => {:collection_object => @m_odr_reps, :csv => true} =render :partial => "qi/qi_ordered_table", :locals => {:qi_ordered_table_collection => @m_odr_reps} diff --git a/app/views/layouts/admin.html.haml b/app/views/layouts/admin.html.haml index ca187cf..6595c56 100644 --- a/app/views/layouts/admin.html.haml +++ b/app/views/layouts/admin.html.haml @@ -40,7 +40,7 @@ -if current_admin.has_permission?("odr_rep.view_for_my") or current_admin.has_permission?("odr_rep.view") .element - =link_to admin_m_odr_reps_path do + =link_to admin_m_odrs_path do .cat#big_cat_stocks =ic :"cubes" Opérations ODR @@ -62,10 +62,10 @@ -if current_admin.has_permission?("virements.view") .element - =link_to admin_m_odr_virements_path do + =link_to admin_m_odr_reps_path do .cat#big_cat_payments =ic :"eur" - Virements + Remboursements -if current_admin.has_permission?("file_tunels.view") .element diff --git a/app/views/qi.old/_autocomplete.html.haml b/app/views/qi.old/_autocomplete.html.haml index d180a6c..2bf3871 100644 --- a/app/views/qi.old/_autocomplete.html.haml +++ b/app/views/qi.old/_autocomplete.html.haml @@ -1,6 +1,6 @@ %div{:class => ("error has-error" if form.object.errors["#{field}_id".to_sym].size > 0 )} %label=label - %input.p_fournisseur_autocomplete_input.form-control{:type => "text", :value => ("#{eval("form.object.#{field}.member_label")}" if eval("form.object.#{field}"))} + %input.form-control{:class => "#{field}_autocomplete_input", :type => "text", :value => ("#{eval("form.object.#{field}.member_label")}" if eval("form.object.#{field}"))} = form.hidden_field "#{field}_id".to_sym, :class => "#{field}_id" diff --git a/app/views/qi.old/_qi_ordered_table.html.haml b/app/views/qi.old/_qi_ordered_table.html.haml index 94f33ed..61af66e 100644 --- a/app/views/qi.old/_qi_ordered_table.html.haml +++ b/app/views/qi.old/_qi_ordered_table.html.haml @@ -34,7 +34,7 @@ %span.qi_ordered_table_column{:onclick => "$(this).next('.qi_ordered_table_sort_select_wrapper').toggle();"} =ic :columns - + .qi_ordered_table_sort_select_wrapper{:style => "display:none;"} =form_tag request.url, :method => "get", :onsubmit => "", :remote => false do diff --git a/app/views/qi.old/_qi_ordered_table_object.html.haml b/app/views/qi.old/_qi_ordered_table_object.html.haml index 15e39b6..13fdc39 100644 --- a/app/views/qi.old/_qi_ordered_table_object.html.haml +++ b/app/views/qi.old/_qi_ordered_table_object.html.haml @@ -21,14 +21,14 @@ -v = object.send(key.to_s) - -if value.instance_of? Hash and value[:format] - - -if value[:format] == :date + -if value.instance_of? Hash and (value[:format] or value[:as]) + -value[:as] = value[:format] if value[:format] and !value[:as] + -if value[:as] == :date %td=l v, :format => :short_date - -elsif value[:format] == :boolean + -elsif value[:as] == :boolean %td="Oui" if v - -elsif value[:format] == :currency + -elsif value[:as] == :currency %td.numeraire=number_to_currency v -else diff --git a/app/views/qi.old/_qi_ordered_table_search_footer.html.haml b/app/views/qi.old/_qi_ordered_table_search_footer.html.haml index b9fe2dd..edd4dfe 100644 --- a/app/views/qi.old/_qi_ordered_table_search_footer.html.haml +++ b/app/views/qi.old/_qi_ordered_table_search_footer.html.haml @@ -1,3 +1,6 @@ +=hidden_field_tag :column, params[:column] +=hidden_field_tag :direction, params[:direction] + =link_to ic(:search)+" Rechercher", "#", :class => "btn btn-default btn-qi-search", :onclick => "$(this).closest('form').submit();$(this).html('...');return false;" diff --git a/app/views/qi.old/_render_collection.html.haml b/app/views/qi.old/_render_collection.html.haml new file mode 100644 index 0000000..4834783 --- /dev/null +++ b/app/views/qi.old/_render_collection.html.haml @@ -0,0 +1,12 @@ +-i =0 +-step = step || 4 + +-collec.each do |c| + =render c + + + -if i + -i += 1 + -if i == step + .clear + -i = 0 diff --git a/app/views/qi/_qi_ordered_table.html.haml b/app/views/qi/_qi_ordered_table.html.haml index 61af66e..3592cb9 100644 --- a/app/views/qi/_qi_ordered_table.html.haml +++ b/app/views/qi/_qi_ordered_table.html.haml @@ -2,20 +2,22 @@ -qi_ordered_table_model = qi_ordered_table_collection.klass +-key = key || "" +-inherit_key = key + +-big_key = qi_ordered_table_name+key.to_s -=render :partial => "qi/qi_ordered_table_head", :locals => {:qi_ordered_table_name => qi_ordered_table_name, :qi_ordered_table_model => qi_ordered_table_model} +=render :partial => "qi/qi_ordered_table_head", :locals => {:qi_ordered_table_name => qi_ordered_table_name, :qi_ordered_table_model => qi_ordered_table_model, :key => key} -@qi_table_orders = @qi_table_orders || {} -if current_admin - - -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+qi_ordered_table_name).first + -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+big_key).first -qi_ordered_table_personalised = ap.value - - - -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+qi_ordered_table_name+"_nbr_col").first + + -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+big_key+"_nbr_col").first -qi_ordered_table_nbr_col = ap.value -else -qi_ordered_table_nbr_col = 1 @@ -23,9 +25,9 @@ -else - -qi_ordered_table_personalised = session[:qi_sort_string][qi_ordered_table_name] + -qi_ordered_table_personalised = session[:qi_sort_string][big_key] - -qi_ordered_table_nbr_col = session[:qi_sort_string][qi_ordered_table_name+"_nbr_col"] || 1 + -qi_ordered_table_nbr_col = session[:qi_sort_string][big_key+"_nbr_col"] || 1 @@ -39,13 +41,12 @@ =form_tag request.url, :method => "get", :onsubmit => "", :remote => false do - =hidden_field_tag "qi_sort_string[class]",qi_ordered_table_name + =hidden_field_tag "qi_sort_string[class]",big_key =hidden_field_tag "qi_sort_string[list]", "", :class => "qi_sort_string" .qi_ordered_table_sort_select - -my_keys = [] - -@qi_table_orders[qi_ordered_table_name.to_sym].each do |key, value| + -@qi_table_orders[big_key.to_sym].each do |key, value| .qi_order_item{:"data-ref" => "#{key}", :class => "active", :onclick => "$(this).toggleClass('active');"} -if value.instance_of? Hash =value[:name] @@ -147,7 +148,7 @@ %table.table.table-striped.table-hover.table-bordered.data_table %thead.header %tr - -@qi_table_orders[qi_ordered_table_name.to_sym].each do |key, value| + -@qi_table_orders[big_key.to_sym].each do |key, value| -if value.instance_of? Hash -if value[:reorder] -sort_name = value[:sort_name] ? value[:sort_name] : key @@ -168,7 +169,9 @@ %tbody{:id => "#{qi_ordered_table_name}_rows"} - =render qi_ordered_table_collection + -qi_ordered_table_collection.each do |ob| + -@inherit_key = inherit_key + =render :partial => "admin/#{qi_ordered_table_name}/#{qi_ordered_table_name.singularize}", :locals => {:inherit_key => "inherit_key", :"#{qi_ordered_table_name.singularize}" => ob } .qi_pagination diff --git a/app/views/qi/_qi_ordered_table.html.haml.old b/app/views/qi/_qi_ordered_table.html.haml.old deleted file mode 100644 index 6105a21..0000000 --- a/app/views/qi/_qi_ordered_table.html.haml.old +++ /dev/null @@ -1,177 +0,0 @@ --qi_ordered_table_name = qi_ordered_table_collection.klass.to_s.tableize - --qi_ordered_table_model = qi_ordered_table_collection.klass - - - -=render :partial => "qi/qi_ordered_table_head", :locals => {:qi_ordered_table_name => qi_ordered_table_name, :qi_ordered_table_model => qi_ordered_table_model} - - --@qi_table_orders = @qi_table_orders || {} - --if current_admin - - -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+qi_ordered_table_name).first - -qi_ordered_table_personalised = ap.value - - - -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+qi_ordered_table_name+"_nbr_col").first - -qi_ordered_table_nbr_col = ap.value - -else - -qi_ordered_table_nbr_col = 1 - - - --else - -qi_ordered_table_personalised = session[:qi_sort_string][qi_ordered_table_name] - - -qi_ordered_table_nbr_col = session[:qi_sort_string][qi_ordered_table_name+"_nbr_col"] || 1 - - - - - - -%span.qi_ordered_table_column{:onclick => "$(this).next('.qi_ordered_table_sort_select_wrapper').toggle();"} - =ic :columns - - -.qi_ordered_table_sort_select_wrapper{:style => "display:none;"} - =form_tag request.url, :method => "get", :onsubmit => "", :remote => false do - - - =hidden_field_tag "qi_sort_string[class]",qi_ordered_table_name - - =hidden_field_tag "qi_sort_string[list]", "", :class => "qi_sort_string" - .qi_ordered_table_sort_select - - -my_keys = [] - -@qi_table_orders[qi_ordered_table_name.to_sym].each do |key, value| - .qi_order_item{:"data-ref" => "#{key}", :class => "active", :onclick => "$(this).toggleClass('active');"} - -if value.instance_of? Hash - =value[:name] - -else - =value - -my_keys << key - - - -qi_ordered_table_collection.klass.qi_table_order.each do |key, value| - -if !my_keys.include?(key) - .qi_order_item{:"data-ref" => "#{key}", :onclick => "$(this).toggleClass('active');"} - -if value.instance_of? Hash - =value[:name] - -else - =value - %hr{:style => "margin:3px 0;"} - -if false - Colonnes fixes : - =select_tag "qi_sort_string[nbr_colonnes]", options_for_select([0,1,2,3], qi_ordered_table_nbr_col) - - - =link_to "Mettre à jour", "#", :class => "btn btn-primary update_table_order_link" - - -:scss - .qi_ordered_table_column{ - position:absolute; - color:rgba(0,0,0,0.2); - font-size:1.2em; - padding-top:3px; - padding-left:10px; - cursor:pointer; - - &:hover{ - color:rgba(0,0,0,0.6); - } - - } - - .qi_ordered_table_sort_select_wrapper{ - background:rgba(white, 0.98); - box-shadow:0 0 10px rgba(0,0,0,0.2); - width:auto; - position:absolute; - margin-left:15px; - margin-top:25px; - z-index:5; - padding:5px 10px; - .qi_order_item{ - padding:2px 0; - cursor:pointer; - - } - .active{ - font-weight:bold; - } - } - -:coffeescript - $(".update_table_order_link").click -> - r = [] - $(this).closest('.qi_ordered_table_sort_select_wrapper').find(".qi_order_item").each -> - if $(this).hasClass("active") - r.push $(this).data("ref") - - - $(this).closest("form").find(".qi_sort_string").val(r.join(',')) - $.ajax - type: "GET", - url: "/", - data: $(this).closest("form").serialize(), - success: -> - location.reload() - - - - - - - - $( ".qi_ordered_table_sort_select" ).sortable - axis: "y" - - - - - -.qi_pannel.padding.new_table_container - - .table-area - .table-area-inner - - - .freezeTable - %table.table.table-striped.table-hover.table-bordered.data_table - %thead.header - %tr - -@qi_table_orders[qi_ordered_table_name.to_sym].each do |key, value| - -if value.instance_of? Hash - -if value[:reorder] - -sort_name = value[:sort_name] ? value[:sort_name] : key - - %th=raw sort_link sort_name.to_s, value[:name] - -else - %th=raw value[:name] - - -else - %th=raw value - - - =#sort_link "code", "Code" - - - -if false - %th - - - %tbody{:id => "#{qi_ordered_table_name}_rows"} - =render qi_ordered_table_collection - - - .qi_pagination - = paginate qi_ordered_table_collection #, :remote => true - -:javascript - resize(); - $('.freezeTable').freezeTable({columnNum:#{qi_ordered_table_nbr_col},fixedNavbar:'#qi_header_wrapper'}); - \ No newline at end of file diff --git a/app/views/qi/_qi_ordered_table_head.html.haml b/app/views/qi/_qi_ordered_table_head.html.haml index 80da8d8..9d7a2f2 100644 --- a/app/views/qi/_qi_ordered_table_head.html.haml +++ b/app/views/qi/_qi_ordered_table_head.html.haml @@ -1,14 +1,16 @@ +-key = key || "" +-big_key = qi_ordered_table_name+key.to_s -@qi_table_orders = @qi_table_orders || {} -if current_admin - -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+qi_ordered_table_name).first + -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+big_key).first -qi_ordered_table_personalised = ap.value - -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+qi_ordered_table_name+"_nbr_col").first + -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+big_key+"_nbr_col").first -qi_ordered_table_nbr_col = ap.value -else -qi_ordered_table_nbr_col = 1 @@ -16,20 +18,20 @@ -else - -qi_ordered_table_personalised = session[:qi_sort_string][qi_ordered_table_name] + -qi_ordered_table_personalised = session[:qi_sort_string][big_key] - -qi_ordered_table_nbr_col = session[:qi_sort_string][qi_ordered_table_name+"_nbr_col"] || 1 + -qi_ordered_table_nbr_col = session[:qi_sort_string][big_key+"_nbr_col"] || 1 -if qi_ordered_table_personalised.to_s != "" - -@qi_table_orders[qi_ordered_table_name.to_sym] = {} + -@qi_table_orders[big_key.to_sym] = {} -qi_ordered_table_personalised.split(",").each do |k| -if qi_ordered_table_model.qi_table_order[k.to_sym] - -@qi_table_orders[qi_ordered_table_name.to_sym][k.to_sym] = qi_ordered_table_model.qi_table_order[k.to_sym] + -@qi_table_orders[big_key.to_sym][k.to_sym] = qi_ordered_table_model.qi_table_order[k.to_sym] -else - -@qi_table_orders[qi_ordered_table_name.to_sym] = qi_ordered_table_model.qi_table_order + -@qi_table_orders[big_key.to_sym] = qi_ordered_table_model.qi_table_order diff --git a/app/views/qi/_qi_ordered_table_head.html.haml.old b/app/views/qi/_qi_ordered_table_head.html.haml.old deleted file mode 100644 index 80da8d8..0000000 --- a/app/views/qi/_qi_ordered_table_head.html.haml.old +++ /dev/null @@ -1,35 +0,0 @@ - - --@qi_table_orders = @qi_table_orders || {} - --if current_admin - - -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+qi_ordered_table_name).first - -qi_ordered_table_personalised = ap.value - - - -if ap = current_admin.admin_preferences.where(:key => "sort_table_"+qi_ordered_table_name+"_nbr_col").first - -qi_ordered_table_nbr_col = ap.value - -else - -qi_ordered_table_nbr_col = 1 - - - --else - -qi_ordered_table_personalised = session[:qi_sort_string][qi_ordered_table_name] - - -qi_ordered_table_nbr_col = session[:qi_sort_string][qi_ordered_table_name+"_nbr_col"] || 1 - - - - --if qi_ordered_table_personalised.to_s != "" - -@qi_table_orders[qi_ordered_table_name.to_sym] = {} - - -qi_ordered_table_personalised.split(",").each do |k| - -if qi_ordered_table_model.qi_table_order[k.to_sym] - - -@qi_table_orders[qi_ordered_table_name.to_sym][k.to_sym] = qi_ordered_table_model.qi_table_order[k.to_sym] - --else - -@qi_table_orders[qi_ordered_table_name.to_sym] = qi_ordered_table_model.qi_table_order diff --git a/app/views/qi/_qi_ordered_table_object.html.haml b/app/views/qi/_qi_ordered_table_object.html.haml index 13fdc39..01c237f 100644 --- a/app/views/qi/_qi_ordered_table_object.html.haml +++ b/app/views/qi/_qi_ordered_table_object.html.haml @@ -1,6 +1,8 @@ -qi_ordered_table_model = object.class -qi_ordered_table_name = qi_ordered_table_model.to_s.tableize +-big_key = qi_ordered_table_name.to_s+@inherit_key.to_s + -if !@qi_table_orders =render :partial => "qi/qi_ordered_table_head", :locals => {:qi_ordered_table_name => qi_ordered_table_name, :qi_ordered_table_model => qi_ordered_table_model} @@ -8,7 +10,7 @@ --@qi_table_orders[qi_ordered_table_name.to_sym].each do |key,value| +-@qi_table_orders[big_key.to_sym].each do |key,value| -if tr[:"#{key}"] =raw tr[:"#{key}"] @@ -40,3 +42,4 @@ %td Err : =key + diff --git a/app/views/qi/_qi_ordered_table_search_footer.html.haml b/app/views/qi/_qi_ordered_table_search_footer.html.haml index edd4dfe..e92811f 100644 --- a/app/views/qi/_qi_ordered_table_search_footer.html.haml +++ b/app/views/qi/_qi_ordered_table_search_footer.html.haml @@ -1,6 +1,7 @@ =hidden_field_tag :column, params[:column] =hidden_field_tag :direction, params[:direction] + =link_to ic(:search)+" Rechercher", "#", :class => "btn btn-default btn-qi-search", :onclick => "$(this).closest('form').submit();$(this).html('...');return false;" @@ -10,4 +11,8 @@ ="-" =select_tag "search[per_page]", options_for_select([50,100,200,500], params[:search][:per_page]) - résultats par page \ No newline at end of file + résultats par page + + -if csv = csv || nil and csv + ="-" + =link_to "export csv", params.permit!.merge(:format => :csv)