diff --git a/app/controllers/catalog_controller.rb b/app/controllers/catalog_controller.rb index e78b0451abde13131a3186b8128e3492410d14ea..324e40d84599637abcc7c116e7b6767cb8d7930f 100644 --- a/app/controllers/catalog_controller.rb +++ b/app/controllers/catalog_controller.rb @@ -53,20 +53,20 @@ class CatalogController < ApplicationController # Display an issue def show @issue = Issue.from_solr params[:id], with_pages = true, with_articles = true - session["named_entities"] = Issue.named_entities @issue.id - session["named_entities_labels"] = helpers.get_linked_entities session["named_entities"].map { |k, v| v.keys }.flatten.uniq - # puts session.inspect end ## # Retrieve named entities for a list of documents (issue and/or articles) def named_entities_for_docs named_entities = { LOC: {}, PER: {}, ORG: {}, HumanProd: {} } + linked_entities = {} params[:docs_ids].each do |doc_id| - if doc_id.index("_article_").nil? - doc_named_entities = session["named_entities"] + if doc_id.index("_article_").nil? # if issue, get named entities from Issue + doc_named_entities = Issue.named_entities doc_id else # if article, filter stored list - doc_named_entities = session["named_entities"].map { |ne_type, ne_list| + issue_id = doc_id.split(/_article_/, 2).first + doc_named_entities = Issue.named_entities issue_id + doc_named_entities = doc_named_entities.map { |ne_type, ne_list| [ne_type, ne_list.select { |linked_id, namedentities| namedentities.any? { |ne| ne["article_id_ssi"] == doc_id @@ -86,8 +86,10 @@ class CatalogController < ApplicationController named_entities[:HumanProd] = named_entities[:HumanProd].merge(doc_named_entities[:HumanProd]) do |key, oldval, newval| oldval.concat newval end + doc_named_entities_labels = helpers.get_linked_entities(doc_named_entities.map { |k, v| v.keys }.flatten.uniq) + linked_entities.merge(doc_named_entities_labels) end - render partial: "named_entities/named_entities", locals: { named_entities: named_entities, linked_entities: session["named_entities_labels"] } + render partial: "named_entities/named_entities", locals: { named_entities: named_entities, linked_entities: linked_entities } end ## diff --git a/app/javascript/packs/utils/search_api.js b/app/javascript/packs/utils/search_api.js index a0a83e0219f48b021df7200b0692371f1cae0fc5..7b01d2792d85bf28537bb6cac7e492d6441e0a52 100644 --- a/app/javascript/packs/utils/search_api.js +++ b/app/javascript/packs/utils/search_api.js @@ -73,7 +73,7 @@ export class SearchAPI { static confirm_compond_creation(article_parts, callback) { $.ajax({ type: "POST", - url: `/en/tool/newspapers-platform/catalog/confirm_compound_creation`, + url: addPrefixURL() + "/catalog/confirm_compound_creation", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -89,7 +89,7 @@ export class SearchAPI { static create_compound(title, all_text, issue_id, article_parts_ids, callback) { $.ajax({ type: "POST", - url: `/en/tool/newspapers-platform/catalog/create_compound`, + url: addPrefixURL() + "/catalog/create_compound", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -108,7 +108,7 @@ export class SearchAPI { static delete_compound_article(compound_id, callback) { $.ajax({ type: "POST", - url: `/en/tool/newspapers-platform/catalog/delete_compound`, + url: addPrefixURL() + "/catalog/delete_compound", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, @@ -124,7 +124,7 @@ export class SearchAPI { static random_sample(callback) { $.ajax({ type: "POST", - url: `/en/tool/newspapers-platform/catalog/random_sample`, + url: addPrefixURL() + "/catalog/random_sample", headers: { 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') }, diff --git a/app/views/dataset/_document.html.erb b/app/views/dataset/_document.html.erb index 82f6334a82bdef00fcd9c3cc771a89d450def822..8ab1625b9e75dd035c4bb0e5dedf52a3dfed49f5 100644 --- a/app/views/dataset/_document.html.erb +++ b/app/views/dataset/_document.html.erb @@ -5,11 +5,11 @@ <h5> <% if doc.is_a?(Article) - url = "/en/tool/newspapers-platform/catalog/#{doc.issue_id}?selected=#{doc.id}" + url = "/catalog/#{doc.issue_id}?selected=#{doc.id}" elsif doc.is_a?(CompoundArticle) - url = "/en/tool/newspapers-platform/catalog/#{doc.issue_id}?selected_compound=#{doc.id}" + url = "/catalog/#{doc.issue_id}?selected_compound=#{doc.id}" else - url = "/en/tool/newspapers-platform/catalog/#{doc.id}" + url = "/catalog/#{doc.id}" end %> <a href="<%= url %>"> diff --git a/config/database.yml b/config/database.yml index 6c797573a5a4853ef31f3d29977e255d479118bc..76e702432abc3039790430c9b57c4f56366e15df 100644 --- a/config/database.yml +++ b/config/database.yml @@ -23,7 +23,7 @@ development: # Do not set this db to the same as development or production. test: <<: *default - database: db/test.sqlite3 + database: db_test production: <<: *default diff --git a/config/environments/development.rb b/config/environments/development.rb index ffc77188548f754f8d071b4a2dbb85155b94427f..e3191fb130d0d38a56bb2d3ae58d434484c80b3f 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -74,8 +74,8 @@ Rails.application.configure do config.file_watcher = ActiveSupport::EventedFileUpdateChecker # Allow Action Cable access from any origin. - config.action_cable.url = ENV['NEP_CABLE_URL'] || "http://127.0.0.1:3000/cable" - config.action_cable.disable_request_forgery_protection = true + config.action_cable.url = ENV['NEP_CABLE_URL'] || 'http://127.0.0.1:3000/cable' + config.action_cable.allowed_request_origins = [ENV['NEP_LABS_DOMAIN'], 'http://127.0.0.1:8001'] # Allow XHR/Ajax requests from different origin config.action_controller.forgery_protection_origin_check = false end diff --git a/db/migrate/20211202095539_add_sessions_table.rb b/db/migrate/20211202095539_add_sessions_table.rb deleted file mode 100644 index 855e0c0b97c50943d8b2ce4fbe982218bf2f20f1..0000000000000000000000000000000000000000 --- a/db/migrate/20211202095539_add_sessions_table.rb +++ /dev/null @@ -1,12 +0,0 @@ -class AddSessionsTable < ActiveRecord::Migration[6.1] - def change - create_table :sessions do |t| - t.string :session_id, :null => false - t.text :data - t.timestamps - end - - add_index :sessions, :session_id, :unique => true - add_index :sessions, :updated_at - end -end diff --git a/db/schema.rb b/db/schema.rb index bc77a9743cb6ef840820d50377795764c21df84e..332f259f28d515c4ea0cb1977156ce63ba64756b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_12_02_095539) do +ActiveRecord::Schema.define(version: 2021_11_23_112405) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -45,7 +45,7 @@ ActiveRecord::Schema.define(version: 2021_12_02_095539) do create_table "experiments", force: :cascade do |t| t.string "title" t.bigint "user_id" - t.jsonb "description", default: { "children" => [] } + t.jsonb "description", default: {"children"=>[]} t.datetime "created_at", precision: 6, null: false t.datetime "updated_at", precision: 6, null: false t.index ["title", "user_id"], name: "index_experiments_on_title_and_user_id", unique: true @@ -61,15 +61,6 @@ ActiveRecord::Schema.define(version: 2021_12_02_095539) do t.index ["user_id"], name: "index_notifications_on_user_id" end - create_table "sessions", force: :cascade do |t| - t.string "session_id", null: false - t.text "data" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - t.index ["session_id"], name: "index_sessions_on_session_id", unique: true - t.index ["updated_at"], name: "index_sessions_on_updated_at" - end - create_table "tools", force: :cascade do |t| t.bigint "experiment_id" t.bigint "parent_id"