diff --git a/app/controllers/media_assets_controller.rb b/app/controllers/media_assets_controller.rb index cd8c37c91..b4c55007a 100644 --- a/app/controllers/media_assets_controller.rb +++ b/app/controllers/media_assets_controller.rb @@ -1,8 +1,15 @@ class MediaAssetsController < ApplicationController - respond_to :json, :xml + respond_to :html, :json, :xml def index - @media_assets = authorize MediaAsset.visible(CurrentUser.user).paginated_search(params, count_pages: true) + @media_assets = authorize MediaAsset.visible(CurrentUser.user).paginated_search(params, count_pages: false) + @media_assets = @media_assets.joins(:media_metadata) respond_with(@media_assets) end + + def show + @media_asset = authorize MediaAsset.find(params[:id]) + @post = Post.find_by_md5(@media_asset.md5) + respond_with(@media_asset) + end end diff --git a/app/javascript/src/styles/common/utilities.scss b/app/javascript/src/styles/common/utilities.scss index 22f375b2f..ba273a574 100644 --- a/app/javascript/src/styles/common/utilities.scss +++ b/app/javascript/src/styles/common/utilities.scss @@ -8,7 +8,7 @@ $spacer: 0.25rem; /* 4px */ .invisible { visibility: hidden; } .visible { visibility: visible; } -.font-monospace { font-family: var(--monospace-font); } +.font-monospace { font: var(--monospace-font); } .font-bold { font-weight: bold; } .inline-block { display: inline-block; } diff --git a/app/models/media_asset.rb b/app/models/media_asset.rb index bc14af6f7..074bd5458 100644 --- a/app/models/media_asset.rb +++ b/app/models/media_asset.rb @@ -11,7 +11,12 @@ class MediaAsset < ApplicationRecord } def self.search(params) - q = search_attributes(params, :id, :created_at, :updated_at, :md5, :file_ext, :file_size, :image_width, :image_height) + q = search_attributes(params, :id, :created_at, :updated_at, :md5, :file_ext, :file_size, :image_width, :image_height, :media_metadata) + + if params[:metadata].present? + q = q.joins(:media_metadata).merge(MediaMetadata.search(metadata: params[:metadata])) + end + q.apply_default_order(params) end diff --git a/app/views/media_assets/index.html.erb b/app/views/media_assets/index.html.erb new file mode 100644 index 000000000..f69972245 --- /dev/null +++ b/app/views/media_assets/index.html.erb @@ -0,0 +1,39 @@ +
MD5: <%= link_to @media_asset.md5, posts_path(md5: @media_asset.md5) %>
+ <% end %> + +| <%= key %> | +<%= link_to value, media_assets_path(search: { metadata: { key => value }}) %> | +
|---|