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 ...@@ -33,24 +33,22 @@ class V1::FeedController < ApplicationController
private private
def activities_followed def activities_followed
query = "" query = "privacy = 'public' and ("
values = [""] values = [""]
# builds a query string to find all relevant activities # builds a query string to find all relevant activities
current_user.watching.each do |watching| current_user.watching.each do |watching|
if !watching.respond_to?(:state) || watching.state == "published" if !watching.respond_to?(:state) || watching.state == "published"
# Activities that are made by, owned by, or change the object you follow should be found # 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" query += " (trackable_type = ? and trackable_id = ?) or (owner_type = ? and owner_id = ?) or (recipient_type = ? and recipient_id = ?) or"
values << watching.class.to_s 3.times do
values << watching.id
values << watching.class.to_s
values << watching.id
values << watching.class.to_s values << watching.class.to_s
values << watching.id values << watching.id
end end
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) return PublicActivity::Activity.where(key: activities_filter).where(values).order(created_at: :desc)
end end
......
...@@ -69,6 +69,7 @@ module Trackable ...@@ -69,6 +69,7 @@ module Trackable
end end
def activity_privacy def activity_privacy
proc { |_controller, model| model.try(:privacy) || 'public' } proc { |_controller, model| model.try(:privacy) || model.try(:recipient).try(:privacy) || 'public' }
end end
end end
...@@ -31,7 +31,7 @@ class ActivityPolicy < ApplicationPolicy ...@@ -31,7 +31,7 @@ class ActivityPolicy < ApplicationPolicy
if user_can_edit? if user_can_edit?
scope.includes(:owner,:recipient).order('created_at DESC').all scope.includes(:owner,:recipient).order('created_at DESC').all
else 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
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