Skip to content

Commit 61181ef

Browse files
authored
Merge branch 'main' into feature/github-integration
2 parents b7ef209 + 8aab26e commit 61181ef

File tree

11 files changed

+79
-31
lines changed

11 files changed

+79
-31
lines changed

Gemfile.lock

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -174,18 +174,18 @@ GEM
174174
unf
175175
ast (2.4.3)
176176
aws-eventstream (1.4.0)
177-
aws-partitions (1.1120.0)
178-
aws-sdk-core (3.226.1)
177+
aws-partitions (1.1124.0)
178+
aws-sdk-core (3.226.2)
179179
aws-eventstream (~> 1, >= 1.3.0)
180180
aws-partitions (~> 1, >= 1.992.0)
181181
aws-sigv4 (~> 1.9)
182182
base64
183183
jmespath (~> 1, >= 1.6.1)
184184
logger
185-
aws-sdk-kms (1.105.0)
185+
aws-sdk-kms (1.106.0)
186186
aws-sdk-core (~> 3, >= 3.225.0)
187187
aws-sigv4 (~> 1.5)
188-
aws-sdk-s3 (1.191.0)
188+
aws-sdk-s3 (1.192.0)
189189
aws-sdk-core (~> 3, >= 3.225.0)
190190
aws-sdk-kms (~> 1)
191191
aws-sigv4 (~> 1.5)
@@ -318,7 +318,7 @@ GEM
318318
factory_bot_rails (6.5.0)
319319
factory_bot (~> 6.5)
320320
railties (>= 6.1.0)
321-
faker (3.5.1)
321+
faker (3.5.2)
322322
i18n (>= 1.8.11, < 2)
323323
faraday (2.13.0)
324324
faraday-net_http (>= 2.0, < 3.5)
@@ -472,7 +472,7 @@ GEM
472472
mutex_m (0.3.0)
473473
net-http (0.6.0)
474474
uri
475-
net-imap (0.5.8)
475+
net-imap (0.5.9)
476476
date
477477
net-protocol
478478
net-pop (0.1.2)
@@ -484,7 +484,7 @@ GEM
484484
nio4r (2.7.4)
485485
nokogiri (1.18.8-x86_64-linux-gnu)
486486
racc (~> 1.4)
487-
noticed (2.7.0)
487+
noticed (2.7.1)
488488
rails (>= 6.1.0)
489489
oauth2 (2.0.9)
490490
faraday (>= 0.17.3, < 3.0)
@@ -607,7 +607,7 @@ GEM
607607
ffi (>= 1.0.6)
608608
msgpack (>= 0.4.3)
609609
optimist (>= 3.0.0)
610-
rdoc (6.14.0)
610+
rdoc (6.14.1)
611611
erb
612612
psych (>= 4.0.0)
613613
redis (5.4.0)
@@ -727,16 +727,16 @@ GEM
727727
addressable (>= 2.3.5)
728728
faraday (>= 0.17.3, < 3)
729729
securerandom (0.4.1)
730-
selenium-webdriver (4.33.0)
730+
selenium-webdriver (4.34.0)
731731
base64 (~> 0.2)
732732
logger (~> 1.4)
733733
rexml (~> 3.2, >= 3.2.5)
734734
rubyzip (>= 1.2.2, < 3.0)
735735
websocket (~> 1.0)
736-
sentry-rails (5.25.0)
736+
sentry-rails (5.26.0)
737737
railties (>= 5.0)
738-
sentry-ruby (~> 5.25.0)
739-
sentry-ruby (5.25.0)
738+
sentry-ruby (~> 5.26.0)
739+
sentry-ruby (5.26.0)
740740
bigdecimal
741741
concurrent-ruby (~> 1.0, >= 1.0.2)
742742
shoulda-callback-matchers (1.1.4)
@@ -822,7 +822,7 @@ GEM
822822
bindex (>= 0.4.0)
823823
railties (>= 6.0.0)
824824
websocket (1.2.11)
825-
websocket-driver (0.7.7)
825+
websocket-driver (0.8.0)
826826
base64
827827
websocket-extensions (>= 0.1.0)
828828
websocket-extensions (0.1.5)

app/controllers/better_together/hub_controller.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module BetterTogether
44
# Internal hub for logged-in users to see relevant platform & community information
55
class HubController < ApplicationController
66
def index
7-
authorize :'better_together/hub', :index?
7+
authorize PublicActivity::Activity
88
@activities = helpers.activities
99
end
1010
end

app/helpers/better_together/hub_helper.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ def whose?(user, object) # rubocop:todo Metrics/MethodLength, Naming/PredicateMe
4040
def link_to_trackable(object, object_type)
4141
if object
4242
object_url = object.respond_to?(:url) ? object.url : object
43-
trackable_name = "#{object.class.model_name.human}: #{object}"
44-
link_to trackable_name, object_url
43+
trackable_name = "#{object.class.model_name.human}: "
44+
(trackable_name + link_to(object, object_url, class: 'text-decoration-none')).html_safe
4545
else
4646
"a #{object_type.downcase} which does not exist anymore"
4747
end

app/models/concerns/better_together/tracked_activity.rb

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ module TrackedActivity
99
included do
1010
include PublicActivity::Model
1111

12-
tracked owner: proc { |controller, _model| controller&.helpers&.current_person }
12+
tracked owner: proc { |controller, _model| controller&.helpers&.current_person },
13+
# rubocop:todo Lint/UnderscorePrefixedVariableName
14+
privacy: proc { |_controller, _model| _model.privacy if _model.respond_to?(:privacy) }
15+
# rubocop:enable Lint/UnderscorePrefixedVariableName
16+
17+
has_many :activities, as: :trackable, class_name: 'PublicActivity::Activity', dependent: :destroy
1318
end
1419

1520
def self.included_in_models

app/policies/better_together/activity_policy.rb

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ module BetterTogether
44
# Access control fro PublicActivity::Activity records
55
class ActivityPolicy < ApplicationPolicy
66
def index?
7-
permitted_to?('manage_platform')
7+
user.present?
88
end
99

1010
def show?
@@ -14,7 +14,15 @@ def show?
1414
# Filter and sort public activity results
1515
class Scope < ApplicationPolicy::Scope
1616
def resolve
17-
scope.order(updated_at: :desc)
17+
results = scope.order(updated_at: :desc)
18+
19+
query = table[:privacy].eq('public')
20+
21+
results.where(query)
22+
end
23+
24+
def table
25+
scope.arel_table
1826
end
1927
end
2028
end

app/views/better_together/hub/index.html.erb

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<div class="col-md-6">
1111
<div class="card mb-4">
1212
<div class="card-header">
13-
<h5><%= t('.your_activity', default: 'Your Activity') %></h5>
13+
<h5><%= t('.activity', default: 'Activity') %></h5>
1414
</div>
1515
<div class="card-body">
1616
<%= render_activities(@activities, :layout => "layouts/better_together/activity_wrapper") %>
@@ -19,7 +19,7 @@
1919
</div>
2020

2121
<!-- Platform-wide section -->
22-
<div class="col-md-6">
22+
<!-- <div class="col-md-6">
2323
<div class="card mb-4">
2424
<div class="card-header">
2525
<h5><%= t('.platform_updates', default: 'Platform Updates') %></h5>
@@ -32,11 +32,10 @@
3232
</ul>
3333
</div>
3434
</div>
35-
</div>
35+
</div> -->
3636
</div>
3737

38-
<div class="row">
39-
<!-- Additional sections -->
38+
<!-- <div class="row">
4039
<div class="col-md-6">
4140
<div class="card mb-4">
4241
<div class="card-header">
@@ -58,5 +57,5 @@
5857
</div>
5958
</div>
6059
</div>
61-
</div>
60+
</div> -->
6261
</div>

app/views/layouts/better_together/_activity_wrapper.html.erb

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,16 @@
1010
<% if a.owner %>
1111
<div class="me-3">
1212
</div>
13-
<%= link_to(a.owner, class: "fw-bold text-decoration-none") do %>
14-
<%= profile_image_tag(a.owner, class: 'rounded-circle border activity', style: "height: 30px; width: 30px;") %>
15-
<%= a.owner %>
13+
<% if policy(a.owner).show? %>
14+
<%= link_to(a.owner, class: "fw-bold text-decoration-none") do %>
15+
<%= profile_image_tag(a.owner, class: 'rounded-circle border activity', style: "height: 30px; width: 30px;") %>
16+
<%= a.owner %>
17+
<% end %>
18+
<% else %>
19+
<span class="fw-bold">
20+
<%= profile_image_tag(a.owner, class: 'rounded-circle border activity', style: "height: 30px; width: 30px;") %>
21+
<%= a.owner %>
22+
</span>
1623
<% end %>
1724
<% else %>
1825
<span class="fw-bold">someone</span>

config/initializers/public_activity.rb

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,17 @@
22

33
# config/initializers/public_activity.rb
44

5-
PublicActivity::Activity.table_name = :better_together_activities
5+
# require 'better_togehter/privacy'
6+
7+
ActiveSupport::Reloader.to_prepare do
8+
PublicActivity::Config.set do
9+
table_name 'better_together_activities'
10+
end
11+
12+
# PublicActivity::Activity.include BetterTogether::Privacy
13+
PublicActivity::Activity.class_eval do
14+
def self.policy_class
15+
BetterTogether::ActivityPolicy
16+
end
17+
end
18+
end
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# frozen_string_literal: true
2+
3+
class AddDefaultActivityParameters < ActiveRecord::Migration[7.1] # rubocop:todo Style/Documentation
4+
def change
5+
change_column_default :better_together_activities, :parameters, from: nil, to: '{}'
6+
end
7+
end
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# frozen_string_literal: true
2+
3+
class AddPrivacyToActivities < ActiveRecord::Migration[7.1] # rubocop:todo Style/Documentation
4+
def change
5+
change_table :better_together_activities, &:bt_privacy
6+
end
7+
end

0 commit comments

Comments
 (0)