diff --git a/app/controllers/orders_controller.rb b/app/controllers/orders_controller.rb index 1e041bf2..cfa7cef6 100644 --- a/app/controllers/orders_controller.rb +++ b/app/controllers/orders_controller.rb @@ -49,7 +49,7 @@ class OrdersController < ApplicationController send_order_pdf @order, params[:document] end format.csv do - send_data OrderCsv.new(@order, options= {custom_csv: params[:custom_csv]}).to_csv, filename: @order.name + '.csv', type: 'text/csv' + send_data OrderCsv.new(@order).to_csv, filename: @order.name + '.csv', type: 'text/csv' end format.text do send_data OrderTxt.new(@order).to_txt, filename: @order.name + '.txt', type: 'text/plain' @@ -57,19 +57,6 @@ class OrdersController < ApplicationController end end - def custom_csv - @order = Order.find(params[:id]) - @view = (params[:view] || 'default').gsub(/[^-_a-zA-Z0-9]/, '') - @partial = case @view - when 'default' then 'articles' - when 'groups' then 'shared/articles_by/groups' - when 'articles' then 'shared/articles_by/articles' - else 'articles' - end - - render :layout => false - end - # Page to create a new order. def new if params[:order_id] diff --git a/app/helpers/orders_helper.rb b/app/helpers/orders_helper.rb index 5f7fb904..ff238730 100644 --- a/app/helpers/orders_helper.rb +++ b/app/helpers/orders_helper.rb @@ -155,16 +155,4 @@ module OrdersHelper link_to t('orders.index.action_receive'), receive_order_path(order), class: "btn#{' btn-success' unless order.received?} #{options[:class]}" end end - - def custom_csv_collection - [ - OrderArticle.human_attribute_name(:units_to_order), - Article.human_attribute_name(:order_number), - Article.human_attribute_name(:name), - Article.human_attribute_name(:unit), - Article.human_attribute_name(:unit_quantity_short), - ArticlePrice.human_attribute_name(:price), - OrderArticle.human_attribute_name(:total_price) - ] - end end diff --git a/app/lib/order_csv.rb b/app/lib/order_csv.rb index 653edf90..b238f90c 100644 --- a/app/lib/order_csv.rb +++ b/app/lib/order_csv.rb @@ -2,60 +2,28 @@ require 'csv' class OrderCsv < RenderCsv def header - params = @options[:custom_csv] - arr = if params.nil? - [ - OrderArticle.human_attribute_name(:units_to_order), - Article.human_attribute_name(:order_number), - Article.human_attribute_name(:name), - Article.human_attribute_name(:unit), - Article.human_attribute_name(:unit_quantity_short), - ArticlePrice.human_attribute_name(:price), - OrderArticle.human_attribute_name(:total_price) - ] - else - [ - params[:first], - params[:second], - params[:third], - params[:fourth], - params[:fifth], - params[:sixth], - params[:seventh] - ] - end + [ + OrderArticle.human_attribute_name(:units_to_order), + Article.human_attribute_name(:order_number), + Article.human_attribute_name(:name), + Article.human_attribute_name(:unit), + Article.human_attribute_name(:unit_quantity_short), + ArticlePrice.human_attribute_name(:price), + OrderArticle.human_attribute_name(:total_price) + ] end def data @object.order_articles.ordered.includes([:article, :article_price]).all.map do |oa| yield [ - match_params(oa, header[0]), - match_params(oa, header[1]), - match_params(oa, header[2]), - match_params(oa, header[3]), - match_params(oa, header[4]), - match_params(oa, header[5]), - match_params(oa, header[6]) + oa.units_to_order, + oa.article.order_number, + oa.article.name, + oa.article.unit, + oa.price.unit_quantity > 1 ? oa.price.unit_quantity : nil, + number_to_currency(oa.price.price * oa.price.unit_quantity), + number_to_currency(oa.total_price) ] end end - - def match_params(object, attribute) - case attribute - when OrderArticle.human_attribute_name(:units_to_order) - object.units_to_order - when Article.human_attribute_name(:order_number) - object.article.order_number - when Article.human_attribute_name(:name) - object.article.name - when Article.human_attribute_name(:unit) - object.article.unit - when Article.human_attribute_name(:unit_quantity_short) - object.price.unit_quantity > 1 ? object.price.unit_quantity : nil - when ArticlePrice.human_attribute_name(:price) - number_to_currency(object.price.price * object.price.unit_quantity) - when OrderArticle.human_attribute_name(:total_price) - number_to_currency(object.total_price) - end - end end diff --git a/app/lib/render_csv.rb b/app/lib/render_csv.rb index c1fd24db..1f20b075 100644 --- a/app/lib/render_csv.rb +++ b/app/lib/render_csv.rb @@ -20,7 +20,6 @@ class RenderCsv end data { |d| csv << d } end - ret << I18n.t('.orders.articles.prices_sum') << ";" << "#{number_to_currency(@object.sum(:gross))}/#{number_to_currency(@object.sum(:net))}" if @options[:custom_csv] ret.encode(@options[:encoding], invalid: :replace, undef: :replace) end diff --git a/app/views/orders/_custom_csv_form.html.haml b/app/views/orders/_custom_csv_form.html.haml deleted file mode 100644 index 87295af0..00000000 --- a/app/views/orders/_custom_csv_form.html.haml +++ /dev/null @@ -1,15 +0,0 @@ -= simple_form_for :custom_csv,format: :csv, :url => order_path(@order, view: @view, format: :csv), method: :get do |f| - .modal-header - = close_button :modal - .h3=I18n.t('.orders.custom_csv.description') - .modal-body - = f.input :first, as: :select, collection: custom_csv_collection, label: "1. " + I18n.t('.orders.custom_csv.column') - = f.input :second, as: :select, collection: custom_csv_collection, required: false, label: "2. " + I18n.t('.orders.custom_csv.column') - = f.input :third, as: :select, collection: custom_csv_collection, required: false, label: "3. " + I18n.t('.orders.custom_csv.column') - = f.input :fourth, as: :select, collection: custom_csv_collection, required: false, label: "4. " + I18n.t('.orders.custom_csv.column') - = f.input :fifth, as: :select, collection: custom_csv_collection, required: false, label: "5. " + I18n.t('.orders.custom_csv.column') - = f.input :sixth, as: :select, collection: custom_csv_collection, required: false, label: "6. " + I18n.t('.orders.custom_csv.column') - = f.input :seventh, as: :select, collection: custom_csv_collection, required: false, label: "7. " + I18n.t('.orders.custom_csv.column') - .modal-footer - = link_to t('ui.close'), '#', class: 'btn', data: {dismiss: 'modal'} - = f.submit class: 'btn btn-primary' diff --git a/app/views/orders/custom_csv.js.haml b/app/views/orders/custom_csv.js.haml deleted file mode 100644 index 41a6ec83..00000000 --- a/app/views/orders/custom_csv.js.haml +++ /dev/null @@ -1,3 +0,0 @@ -$('#modalContainer').html('#{j(render("custom_csv_form"))}'); -$('#modalContainer').modal(); -$('#modalContainer').submit(function() {$('#modalContainer').modal('hide');}); \ No newline at end of file diff --git a/app/views/shared/_order_download_button.html.haml b/app/views/shared/_order_download_button.html.haml index 2c362533..6890c3ca 100644 --- a/app/views/shared/_order_download_button.html.haml +++ b/app/views/shared/_order_download_button.html.haml @@ -10,4 +10,3 @@ - unless order.stockit? %li= link_to t('.fax_txt'), order_path(order, format: :txt), {title: t('.download_file')} %li= link_to t('.fax_csv'), order_path(order, format: :csv), {title: t('.download_file')} - %li= link_to t('.custom_csv'), custom_csv_order_path(order), remote: true diff --git a/config/locales/de.yml b/config/locales/de.yml index 740d6a2b..5a1a5b35 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -1463,9 +1463,6 @@ de: units_ordered: Bestellte Einheiten create: notice: Die Bestellung wurde erstellt. - custom_csv: - description: Wähle die Attribute und deren Reihenfolge für die zu erzeugende CSV Datei - column: Spalte edit: title: 'Bestellung bearbeiten: %{name}' edit_amount: diff --git a/config/locales/en.yml b/config/locales/en.yml index 87c27e21..59e94385 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1473,9 +1473,6 @@ en: units_ordered: Units ordered create: notice: The order was created. - custom_csv: - description: Please choose the order as well as the attributes for the csv file - column: column edit: title: 'Edit order: %{name}' edit_amount: @@ -1629,7 +1626,6 @@ en: who_ordered: Who ordered? order_download_button: article_pdf: Article PDF - custom_csv: Custom CSV download_file: Download file fax_csv: Fax CSV fax_pdf: Fax PDF diff --git a/config/locales/es.yml b/config/locales/es.yml index d8f1c31e..620ec3bb 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -1259,9 +1259,6 @@ es: units_ordered: Unidades pedidas create: notice: Se ha creado el pedido - custom_csv: - description: Por favor elija el orden de los atributos así como los atributos para el archivo csv - column: columna edit: title: 'Edita pedido: %{name}' edit_amount: diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 0953b0db..4dbdb864 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1010,9 +1010,6 @@ fr: units_ordered: Unités commandées create: notice: La commande a bien été définie. - custom_csv: - description: Veuillez choisir l'ordre des attributs ainsi que les attributs pour le fichier csv - column: colonne edit: title: 'Modifier la commande: %{name}' edit_amount: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 9b13ab79..4c97dda4 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1438,9 +1438,6 @@ nl: units_ordered: Bestelde eenheden create: notice: De bestelling is aangemaakt. - custom_csv: - description: Kies de volgorde van de attributen en de attributen voor het csv-bestand - column: kolom edit: title: 'Bestelling aanpassen: %{name}' edit_amount: diff --git a/config/routes.rb b/config/routes.rb index b82699ec..83e65707 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -47,7 +47,6 @@ Rails.application.routes.draw do get :receive post :receive - get :custom_csv get :receive_on_order_article_create get :receive_on_order_article_update end