mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-17 10:34:50 +08:00
Fix assets sorting in report
This commit is contained in:
parent
b5999e27de
commit
fcdad51222
3 changed files with 15 additions and 3 deletions
|
@ -133,7 +133,8 @@ module ReportActions
|
|||
end
|
||||
end
|
||||
if in_params? :step_assets
|
||||
step.assets.each do |asset|
|
||||
sort_value = step.current_view_state(current_user).state.dig('assets', 'sort')
|
||||
step.assets.order(view_mode: :desc).sort_assets(sort_value).each do |asset|
|
||||
res << generate_new_el(false)
|
||||
res << generate_el(
|
||||
'reports/elements/step_asset_element.html.erb', asset: asset
|
||||
|
|
|
@ -12,7 +12,7 @@ class Asset < ApplicationRecord
|
|||
# Lock duration set to 30 minutes
|
||||
LOCK_DURATION = 60 * 30
|
||||
|
||||
enum view_mode: { thumbnail: 0, inline: 1, list: 2 }
|
||||
enum view_mode: { thumbnail: 0, list: 1, inline: 2 }
|
||||
|
||||
# ActiveStorage configuration
|
||||
has_one_attached :file
|
||||
|
@ -43,6 +43,17 @@ class Asset < ApplicationRecord
|
|||
has_many :report_elements, inverse_of: :asset, dependent: :destroy
|
||||
has_one :asset_text_datum, inverse_of: :asset, dependent: :destroy
|
||||
|
||||
scope :sort_assets, lambda { |sort_value = 'new'|
|
||||
sort = case sort_value
|
||||
when 'old' then { created_at: :asc }
|
||||
when 'atoz' then { 'active_storage_blobs.filename': :asc }
|
||||
when 'ztoa' then { 'active_storage_blobs.filename': :desc }
|
||||
else { created_at: :desc }
|
||||
end
|
||||
|
||||
joins(file_attachment: :blob).order(sort)
|
||||
}
|
||||
|
||||
attr_accessor :file_content, :file_info, :in_template
|
||||
|
||||
def self.search(
|
||||
|
|
|
@ -4,7 +4,7 @@ class Step < ApplicationRecord
|
|||
include TinyMceImages
|
||||
include ViewableModel
|
||||
|
||||
enum assets_view_mode: { thumbnail: 0, inline: 1, list: 2 }
|
||||
enum assets_view_mode: { thumbnail: 0, list: 1, inline: 2 }
|
||||
|
||||
auto_strip_attributes :name, :description, nullify: false
|
||||
validates :name,
|
||||
|
|
Loading…
Add table
Reference in a new issue