summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-06-01 21:10:06 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2021-06-01 21:10:06 +0000
commitf7bc7dc5eafc4eef9043a3d1b2dcbc15ca76a571 (patch)
tree8577ded3a5ac4c2b76d7194066fccf9882159956 /app/models
parentc3afdb42ddc7f24d51032ed0daef071a2dafdc93 (diff)
downloadgitlab-ce-f7bc7dc5eafc4eef9043a3d1b2dcbc15ca76a571.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models')
-rw-r--r--app/models/concerns/has_timelogs_report.rb20
-rw-r--r--app/models/group.rb1
-rw-r--r--app/models/members/group_member.rb4
-rw-r--r--app/models/project.rb4
-rw-r--r--app/models/timelog.rb8
5 files changed, 14 insertions, 23 deletions
diff --git a/app/models/concerns/has_timelogs_report.rb b/app/models/concerns/has_timelogs_report.rb
deleted file mode 100644
index 3af063438bf..00000000000
--- a/app/models/concerns/has_timelogs_report.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-# frozen_string_literal: true
-
-module HasTimelogsReport
- extend ActiveSupport::Concern
- include Gitlab::Utils::StrongMemoize
-
- def timelogs(start_time, end_time)
- strong_memoize(:timelogs) { timelogs_for(start_time, end_time) }
- end
-
- def user_can_access_group_timelogs?(current_user)
- Ability.allowed?(current_user, :read_group_timelogs, self)
- end
-
- private
-
- def timelogs_for(start_time, end_time)
- Timelog.between_times(start_time, end_time).in_group(self)
- end
-end
diff --git a/app/models/group.rb b/app/models/group.rb
index 5c991f74208..bbae40f4442 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -16,7 +16,6 @@ class Group < Namespace
include Gitlab::Utils::StrongMemoize
include GroupAPICompatibility
include EachBatch
- include HasTimelogsReport
include BulkMemberAccessLoad
has_many :all_group_members, -> { where(requested_at: nil) }, dependent: :destroy, as: :source, class_name: 'GroupMember' # rubocop:disable Cop/ActiveRecordDependent
diff --git a/app/models/members/group_member.rb b/app/models/members/group_member.rb
index 61e89125b5f..c7bc31cde5d 100644
--- a/app/models/members/group_member.rb
+++ b/app/models/members/group_member.rb
@@ -36,6 +36,10 @@ class GroupMember < Member
Gitlab::Access.sym_options_with_owner
end
+ def self.pluck_user_ids
+ pluck(:user_id)
+ end
+
def group
source
end
diff --git a/app/models/project.rb b/app/models/project.rb
index fb6e6437964..53054e5304f 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -900,6 +900,10 @@ class Project < ApplicationRecord
alias_method :ancestors, :ancestors_upto
+ def ancestors_upto_ids(...)
+ ancestors_upto(...).pluck(:id)
+ end
+
def emails_disabled?
strong_memoize(:emails_disabled) do
# disabling in the namespace overrides the project setting
diff --git a/app/models/timelog.rb b/app/models/timelog.rb
index bd543526685..96fd485b797 100644
--- a/app/models/timelog.rb
+++ b/app/models/timelog.rb
@@ -18,8 +18,12 @@ class Timelog < ApplicationRecord
joins(:project).where(projects: { namespace: group.self_and_descendants })
end
- scope :between_times, -> (start_time, end_time) do
- where('spent_at BETWEEN ? AND ?', start_time, end_time)
+ scope :at_or_after, -> (start_time) do
+ where('spent_at >= ?', start_time)
+ end
+
+ scope :at_or_before, -> (end_time) do
+ where('spent_at <= ?', end_time)
end
def issuable