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

Merge branch 'fix_activity_draft' into 'master'

Fix activity draft

See merge request portalmec/portalmec!457
parents 9656aec2 9a74443a
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
...@@ -179,4 +179,9 @@ class LearningObject < ApplicationRecord ...@@ -179,4 +179,9 @@ class LearningObject < ApplicationRecord
def ignore_changes def ignore_changes
super + %w(score views_count downloads_count likes_count shares_count attachment_id) super + %w(score views_count downloads_count likes_count shares_count attachment_id)
end end
def privacy
return "public" if self.published?
return "private"
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