From 17af20ac0ae91b548ec6d1e2b13fdb00e9c66cef Mon Sep 17 00:00:00 2001 From: Martin Hinz Date: Wed, 12 Jun 2024 11:16:17 +0200 Subject: [PATCH 1/3] reenabled download of c14s from site show view --- app/controllers/c14s_controller.rb | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/controllers/c14s_controller.rb b/app/controllers/c14s_controller.rb index f7227e62..bcfe7312 100644 --- a/app/controllers/c14s_controller.rb +++ b/app/controllers/c14s_controller.rb @@ -25,7 +25,11 @@ def index unless c14_params.blank? @c14s = @c14s.where(c14_params) end - + +# if params[:sample_attributes][:context_attributes][:site_id].present? +# @c14s = @c14s.joins(sample: { context: :site }).where(sample:{context:{sites:{id: params[:sample_attributes][:context_attributes][:site_id]}}}) +# end + # order if params.has_key?(:c14s_order_by) order = { params[:c14s_order_by] => params.fetch(:c14s_order, "asc") } @@ -159,7 +163,13 @@ def c14_params :position_y, :position_z, :position_crs - ]} + ]}, + sample: [ + :context_id, + contexts: [ + :site_id + ] + ] ) end From 4988f2f7c6e5858fb8444c2cccbfaf31fdcd1c43 Mon Sep 17 00:00:00 2001 From: Martin Hinz Date: Wed, 12 Jun 2024 15:43:16 +0200 Subject: [PATCH 2/3] added format csv to data controller --- app/controllers/data_controller.rb | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/app/controllers/data_controller.rb b/app/controllers/data_controller.rb index ec531fcb..0df26665 100644 --- a/app/controllers/data_controller.rb +++ b/app/controllers/data_controller.rb @@ -13,6 +13,7 @@ def reset_manual_table_selection def index @data = Data.new(filter_params, select_params) + @raw_filter_params = filter_params logger.debug { "Parsed filters: #{@data.filters.inspect}" } @sites = @data.xrons.select("sites.id", "sites.lng", "sites.lat", "sites.name").distinct @@ -35,6 +36,20 @@ def index ) ) AS geojson from (" + @sites.to_sql+ ") AS subquery1) AS subquery2").to_sql)[0]['measurements'], adapter: nil, serializer: nil } + format.csv { + query = "COPY (SELECT * FROM data_views WHERE id IN (" + @data.xrons.pluck(:id).join(', ').to_s + ") ) TO STDOUT WITH CSV HEADER" + + connection = ActiveRecord::Base.connection.raw_connection + csv_data = "" + + connection.copy_data(query) do + while row = connection.get_copy_data + csv_data << row + end + end + + render plain: csv_data, content_type: 'text/csv', filename: "data_#{Date.today}.csv" + } end end From 4e7bed91e65d48c51b25e72413edd06f99685c0a Mon Sep 17 00:00:00 2001 From: Martin Hinz Date: Wed, 12 Jun 2024 15:46:35 +0200 Subject: [PATCH 3/3] reactivated and relocated download action, added csv and json link --- app/views/data/_toolbar.html.erb | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/app/views/data/_toolbar.html.erb b/app/views/data/_toolbar.html.erb index 7c371ece..285f1960 100644 --- a/app/views/data/_toolbar.html.erb +++ b/app/views/data/_toolbar.html.erb @@ -51,8 +51,8 @@ <%= render "filter_status" %> +