diff options
Diffstat (limited to 'app/controllers/related_assets_controller.rb')
| -rw-r--r-- | app/controllers/related_assets_controller.rb | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/app/controllers/related_assets_controller.rb b/app/controllers/related_assets_controller.rb index 906c02c..ae37d2f 100644 --- a/app/controllers/related_assets_controller.rb +++ b/app/controllers/related_assets_controller.rb | |||
| @@ -3,17 +3,15 @@ class RelatedAssetsController < ApplicationController | |||
| 3 | before_action :find_node | 3 | before_action :find_node |
| 4 | 4 | ||
| 5 | def search | 5 | def search |
| 6 | term = params[:q].to_s.strip | 6 | term = params[:search_term].to_s.strip |
| 7 | if term.blank? | ||
| 8 | render json: [] | ||
| 9 | return | ||
| 10 | end | ||
| 11 | |||
| 12 | attached_ids = @node.editable_page.related_assets.pluck(:asset_id) | 7 | attached_ids = @node.editable_page.related_assets.pluck(:asset_id) |
| 13 | results = Asset.images | 8 | scope = Asset.images.where.not(id: attached_ids) |
| 14 | .where("name ILIKE ?", "%#{term}%") | 9 | |
| 15 | .where.not(id: attached_ids) | 10 | results = if term.present? |
| 16 | .limit(10) | 11 | scope.where("name ILIKE ?", "%#{term}%").limit(10) |
| 12 | else | ||
| 13 | scope.order(created_at: :desc).limit(5) | ||
| 14 | end | ||
| 17 | 15 | ||
| 18 | render json: results.map { |a| | 16 | render json: results.map { |a| |
| 19 | { id: a.id, name: a.name, thumb_url: a.upload.url(:thumb) } | 17 | { id: a.id, name: a.name, thumb_url: a.upload.url(:thumb) } |
