Skip to content

Commit

Permalink
Move model methods to the model
Browse files Browse the repository at this point in the history
From the component. This supports the split of the LocationItemComponent in #4070, so that there is no duplication
  • Loading branch information
jcoyne committed Mar 19, 2024
1 parent 244b7f9 commit b120efa
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 16 deletions.
17 changes: 1 addition & 16 deletions app/components/access_panels/location_item_component.rb
Original file line number Diff line number Diff line change
Expand Up @@ -15,22 +15,7 @@ def initialize(item:, document:, classes: nil, render_item_level_request_link: t
@render_item_note = render_item_note
end

def availability_text
item.status.status_text unless temporary_location_text
end

def temporary_location_text
return if item.effective_location&.details&.key?('availabilityClass') ||
item.effective_location&.details&.key?('searchworksTreatTemporaryLocationAsPermanentLocation') ||
item.effective_permanent_location_code == item.temporary_location_code

item.temporary_location&.name
end

def has_in_process_availability_class?
availability_class = item.effective_location&.details&.dig('availabilityClass')
availability_class.present? && availability_class == 'In_process'
end
delegate :has_in_process_availability_class?, :temporary_location_text, :availability_text, to: :item

def render_item_details?
!item.suppressed?
Expand Down
17 changes: 17 additions & 0 deletions lib/holdings/item.rb
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,23 @@ def allowed_request_types
request_policy&.dig('requestTypes') || []
end

def availability_text
status.status_text unless temporary_location_text
end

def temporary_location_text
return if effective_location&.details&.key?('availabilityClass') ||
effective_location&.details&.key?('searchworksTreatTemporaryLocationAsPermanentLocation') ||
effective_permanent_location_code == temporary_location_code

temporary_location&.name
end

def has_in_process_availability_class?
availability_class = effective_location&.details&.dig('availabilityClass')
availability_class.present? && availability_class == 'In_process'
end

private

def standard_or_zombie_library
Expand Down

0 comments on commit b120efa

Please sign in to comment.