From da21a071b8e3cb6c3ada574c91ee1a072a051a54 Mon Sep 17 00:00:00 2001 From: Jeffrey Hardy Date: Wed, 2 Oct 2024 15:47:33 -0400 Subject: [PATCH] Introduce scopes for finding bubbles assigned to or by someone --- app/models/bubble/assignable.rb | 3 +++ app/models/user.rb | 1 - 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/app/models/bubble/assignable.rb b/app/models/bubble/assignable.rb index 3619341ee..3abf18d39 100644 --- a/app/models/bubble/assignable.rb +++ b/app/models/bubble/assignable.rb @@ -6,6 +6,9 @@ module Bubble::Assignable has_many :assignees, through: :assignments has_many :assigners, through: :assignments + + scope :assigned_to, ->(user) { joins(:assignments).where(assignments: { assignee: user }) } + scope :assigned_by, ->(user) { joins(:assignments).where(assignments: { assigner: user }) } end def assign(users, assigner: Current.user) diff --git a/app/models/user.rb b/app/models/user.rb index 46e00237e..643f0f7c5 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -8,7 +8,6 @@ class User < ApplicationRecord has_many :buckets, through: :accesses has_many :bubbles, through: :buckets - has_many :assignments, foreign_key: :assignee_id, dependent: :destroy has_many :assignings, foreign_key: :assigner_id, class_name: "Assignment" has_many :assigned_bubbles, through: :assignments, source: :bubble