diff --git a/app/controllers/entities_controller.rb b/app/controllers/entities_controller.rb index 14787c7..ef5d5c2 100644 --- a/app/controllers/entities_controller.rb +++ b/app/controllers/entities_controller.rb @@ -43,7 +43,7 @@ def show # GET /entities/autocomplete?search=* def autocomplete - query = strip_tags params[:searcn] + query = strip_tags params[:search] render json: Entity.search( query, fields: [:clean_label], diff --git a/app/models/published_entity.rb b/app/models/published_entity.rb index 2b00d75..38d2b50 100644 --- a/app/models/published_entity.rb +++ b/app/models/published_entity.rb @@ -6,6 +6,8 @@ class PublishedEntity < ApplicationRecord self.table_name = 'entities' + has_many :letters, -> { where(published: true).order('letters.date') }, through: :mentions, source: :letter + def self.default_scope where(published: true) end diff --git a/app/views/entities/letters.json.jbuilder b/app/views/entities/letters.json.jbuilder index 5c6f5de..3df1992 100644 --- a/app/views/entities/letters.json.jbuilder +++ b/app/views/entities/letters.json.jbuilder @@ -5,12 +5,12 @@ json.set! 'max_date', @max_date&.strftime('%Y-%m-%d') json.set! 'total_pages', @letters.total_pages json.letters do - @letters.each do |letter| + @letters.select(&:published).each do |letter| json.child! do json.set! 'id', letter.id json.set! 'label', letter.label json.set! 'recipient', letter.recipients.map(&:label).to_sentence - json.set! 'repository', letter.repositories.map(&:label).to_sentence + json.set! 'repository', letter.repositories.select(&:published).map(&:label).to_sentence json.set! 'date', letter.date&.strftime('%d %B %Y') next unless @relation == 'mention'