diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-01 03:08:09 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-04-01 03:08:09 +0300 |
commit | 396ad86100541bed6bc9960541a7dcddfaddd6de (patch) | |
tree | 65f131996352948dbeb09d7ccd56107561c08fe3 /app | |
parent | abae8f34f377519946a91101ef7abf504454531c (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/projects/settings/integrations_controller.rb | 13 | ||||
-rw-r--r-- | app/finders/group_members_finder.rb | 13 | ||||
-rw-r--r-- | app/models/members/group_member.rb | 1 | ||||
-rw-r--r-- | app/models/project.rb | 18 | ||||
-rw-r--r-- | app/models/service.rb | 2 | ||||
-rw-r--r-- | app/models/system_note_metadata.rb | 4 |
6 files changed, 21 insertions, 30 deletions
diff --git a/app/controllers/projects/settings/integrations_controller.rb b/app/controllers/projects/settings/integrations_controller.rb index a4a53676ec7..96bf7f474d1 100644 --- a/app/controllers/projects/settings/integrations_controller.rb +++ b/app/controllers/projects/settings/integrations_controller.rb @@ -3,23 +3,12 @@ module Projects module Settings class IntegrationsController < Projects::ApplicationController - include ServiceParams - before_action :authorize_admin_project! layout "project_settings" def show - @services = @project.find_or_initialize_services(exceptions: service_exceptions) - end - - private - - # Returns a list of services that should be hidden from the list - def service_exceptions - @project.disabled_services.dup + @services = @project.find_or_initialize_services end end end end - -Projects::Settings::IntegrationsController.prepend_if_ee('EE::Projects::Settings::IntegrationsController') diff --git a/app/finders/group_members_finder.rb b/app/finders/group_members_finder.rb index ffa1552627a..bee18017cf3 100644 --- a/app/finders/group_members_finder.rb +++ b/app/finders/group_members_finder.rb @@ -1,10 +1,14 @@ # frozen_string_literal: true class GroupMembersFinder < UnionFinder + include CreatedAtFilter + # Params can be any of the following: # two_factor: string. 'enabled' or 'disabled' are returning different set of data, other values are not effective. # sort: string # search: string + # created_after: datetime + # created_before: datetime def initialize(group, user = nil) @group = group @@ -15,6 +19,7 @@ class GroupMembersFinder < UnionFinder def execute(include_relations: [:inherited, :direct], params: {}) group_members = group.members relations = [] + @params = params return group_members if include_relations == [:direct] @@ -39,15 +44,15 @@ class GroupMembersFinder < UnionFinder return GroupMember.none if relations.empty? members = find_union(relations, GroupMember) - filter_members(members, params) + filter_members(members) end # rubocop: enable CodeReuse/ActiveRecord private - attr_reader :user, :group + attr_reader :user, :group, :params - def filter_members(members, params) + def filter_members(members) members = members.search(params[:search]) if params[:search].present? members = members.sort_by_attribute(params[:sort]) if params[:sort].present? @@ -55,7 +60,7 @@ class GroupMembersFinder < UnionFinder members = members.filter_by_2fa(params[:two_factor]) end - members + by_created_at(members) end def can_manage_members diff --git a/app/models/members/group_member.rb b/app/models/members/group_member.rb index bc3be67bd32..431a2ccf416 100644 --- a/app/models/members/group_member.rb +++ b/app/models/members/group_member.rb @@ -2,6 +2,7 @@ class GroupMember < Member include FromUnion + include CreatedAtFilterable SOURCE_TYPE = 'Namespace' diff --git a/app/models/project.rb b/app/models/project.rb index 5aec64da4cf..03b247f213b 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -1238,14 +1238,12 @@ class Project < ApplicationRecord update_column(:has_external_wiki, services.external_wikis.any?) if Gitlab::Database.read_write? end - def find_or_initialize_services(exceptions: []) - available_services_names = Service.available_services_names - exceptions + def find_or_initialize_services + available_services_names = Service.available_services_names - disabled_services - available_services = available_services_names.map do |service_name| + available_services_names.map do |service_name| find_or_initialize_service(service_name) end - - available_services.compact end def disabled_services @@ -1258,13 +1256,11 @@ class Project < ApplicationRecord service = find_service(services, name) return service if service - # We should check if template for the service exists template = find_service(services_templates, name) if template Service.build_from_template(id, template) else - # If no template, we should create an instance. Ex `build_gitlab_ci_service` public_send("build_#{name}_service") # rubocop:disable GitlabSecurity/PublicSend end end @@ -1278,10 +1274,6 @@ class Project < ApplicationRecord end # rubocop: enable CodeReuse/ServiceClass - def find_service(list, name) - list.find { |service| service.to_param == name } - end - def ci_services services.where(category: :ci) end @@ -2422,6 +2414,10 @@ class Project < ApplicationRecord private + def find_service(services, name) + services.find { |service| service.to_param == name } + end + def closest_namespace_setting(name) namespace.closest_setting(name) end diff --git a/app/models/service.rb b/app/models/service.rb index e4ae68cdaa7..6bb3a94ce81 100644 --- a/app/models/service.rb +++ b/app/models/service.rb @@ -348,7 +348,7 @@ class Service < ApplicationRecord service.template = false service.project_id = project_id - service.active = false if service.active? && !service.valid? + service.active = false if service.active? && service.invalid? service end diff --git a/app/models/system_note_metadata.rb b/app/models/system_note_metadata.rb index 6324636db1e..b881a43ad4d 100644 --- a/app/models/system_note_metadata.rb +++ b/app/models/system_note_metadata.rb @@ -16,8 +16,8 @@ class SystemNoteMetadata < ApplicationRecord ICON_TYPES = %w[ commit description merge confidential visible label assignee cross_reference title time_tracking branch milestone discussion task moved - opened closed merged duplicate locked unlocked - outdated tag due_date pinned_embed cherry_pick + opened closed merged duplicate locked unlocked outdated + tag due_date pinned_embed cherry_pick health_status ].freeze validates :note, presence: true |