Skip to content

Commit

Permalink
Adds optional use of note's author and description
Browse files Browse the repository at this point in the history
Adds optional use of author and description from notes (in case data-migration is done) and author and description from first visible note comment (in case data-migration is not done). Also, adds author association to Note model.
  • Loading branch information
nenad-vujicic committed Jan 30, 2025
1 parent 68481fe commit 6b29f3a
Showing 1 changed file with 12 additions and 2 deletions.
14 changes: 12 additions & 2 deletions app/models/note.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
class Note < ApplicationRecord
include GeoRecord

belongs_to :author, :class_name => "User", :foreign_key => "user_id", :optional => true

has_many :comments, -> { left_joins(:author).where(:visible => true, :users => { :status => [nil, "active", "confirmed"] }).order(:created_at) }, :class_name => "NoteComment", :foreign_key => :note_id
has_many :all_comments, -> { left_joins(:author).order(:created_at) }, :class_name => "NoteComment", :foreign_key => :note_id, :inverse_of => :note
has_many :subscriptions, :class_name => "NoteSubscription"
Expand Down Expand Up @@ -91,12 +93,20 @@ def freshly_closed_until

# Return the note's description, derived from the first comment
def description
comments.first.body
if user_ip.nil? && user_id.nil?
comments.first.body
else
RichText.new("text", super)
end
end

# Return the note's author object, derived from the first comment
def author
comments.first.author
if user_ip.nil? && user_id.nil?
comments.first.author
else
super
end
end

private
Expand Down

0 comments on commit 6b29f3a

Please sign in to comment.