Skip to content
Snippets Groups Projects
Commit 9a74443a authored by Israel Barreto Sant'Anna's avatar Israel Barreto Sant'Anna
Browse files

Fixed LO drafts activities privacy

parent 4e369210
No related branches found
No related tags found
No related merge requests found
......@@ -33,24 +33,22 @@ class V1::FeedController < ApplicationController
private
def activities_followed
query = ""
query = "privacy = 'public' and ("
values = [""]
# builds a query string to find all relevant activities
current_user.watching.each do |watching|
if !watching.respond_to?(:state) || watching.state == "published"
# Activities that are made by, owned by, or change the object you follow should be found
query += " (trackable_type = ? and trackable_id = ?) or (owner_type = ? and owner_id = ?) or (recipient_type = ? and recipient_id = ?) or"
values << watching.class.to_s
values << watching.id
values << watching.class.to_s
values << watching.id
if !watching.respond_to?(:state) || watching.state == "published"
# Activities that are made by, owned by, or change the object you follow should be found
query += " (trackable_type = ? and trackable_id = ?) or (owner_type = ? and owner_id = ?) or (recipient_type = ? and recipient_id = ?) or"
3.times do
values << watching.class.to_s
values << watching.id
end
end
end
values[0] = query[0..-3] # remove trailing "or" on the query
values[0] = query[0..-3]+")" # remove trailing "or" on the query
return PublicActivity::Activity.where(key: activities_filter).where(values).order(created_at: :desc)
end
......
......@@ -69,6 +69,7 @@ module Trackable
end
def activity_privacy
proc { |_controller, model| model.try(:privacy) || 'public' }
proc { |_controller, model| model.try(:privacy) || model.try(:recipient).try(:privacy) || 'public' }
end
end
......@@ -31,7 +31,7 @@ class ActivityPolicy < ApplicationPolicy
if user_can_edit?
scope.includes(:owner,:recipient).order('created_at DESC').all
else
scope.includes(:owner,:recipient).where("privacy = 'public'").where(key: activities_filter).order('created_at DESC').all
scope.includes(:owner,:recipient).where(privacy: 'public').where(key: activities_filter).order('created_at DESC').all
end
end
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment