Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-08-07 18:10:17 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-08-07 18:10:17 +0300
commit61d62a296064e0330cffec7ed4b7914371b4984b (patch)
tree4f77ac3d2e272f0283ac2156e9b68b262ac19fa4 /app
parent5958e399de2e45d509f25b9c84b0a4d7bafa41a1 (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app')
-rw-r--r--app/controllers/profiles/personal_access_tokens_controller.rb8
-rw-r--r--app/helpers/application_helper.rb4
-rw-r--r--app/models/ci/job_artifact.rb2
-rw-r--r--app/policies/personal_access_token_policy.rb3
-rw-r--r--app/services/metrics/dashboard/pod_dashboard_service.rb2
-rw-r--r--app/services/personal_access_tokens/revoke_service.rb36
6 files changed, 46 insertions, 9 deletions
diff --git a/app/controllers/profiles/personal_access_tokens_controller.rb b/app/controllers/profiles/personal_access_tokens_controller.rb
index 30f25e8fdaa..21adc032940 100644
--- a/app/controllers/profiles/personal_access_tokens_controller.rb
+++ b/app/controllers/profiles/personal_access_tokens_controller.rb
@@ -20,12 +20,8 @@ class Profiles::PersonalAccessTokensController < Profiles::ApplicationController
def revoke
@personal_access_token = finder.find(params[:id])
-
- if @personal_access_token.revoke!
- flash[:notice] = _("Revoked personal access token %{personal_access_token_name}!") % { personal_access_token_name: @personal_access_token.name }
- else
- flash[:alert] = _("Could not revoke personal access token %{personal_access_token_name}.") % { personal_access_token_name: @personal_access_token.name }
- end
+ service = PersonalAccessTokens::RevokeService.new(current_user, token: @personal_access_token).execute
+ service.success? ? flash[:notice] = service.message : flash[:alert] = service.message
redirect_to profile_personal_access_tokens_path
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index 7cf68b26eab..3b061ce2e67 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -194,6 +194,10 @@ module ApplicationHelper
'https://' + promo_host
end
+ def contact_sales_url
+ promo_url + '/sales'
+ end
+
def support_url
Gitlab::CurrentSettings.current_application_settings.help_page_support_url.presence || promo_url + '/getting-help/'
end
diff --git a/app/models/ci/job_artifact.rb b/app/models/ci/job_artifact.rb
index 47ac19635ab..6df1538ce8c 100644
--- a/app/models/ci/job_artifact.rb
+++ b/app/models/ci/job_artifact.rb
@@ -284,7 +284,7 @@ module Ci
def expire_in=(value)
self.expire_at =
if value
- ChronicDuration.parse(value)&.seconds&.from_now
+ ::Gitlab::Ci::Build::Artifacts::ExpireInParser.new(value).seconds_from_now
end
end
diff --git a/app/policies/personal_access_token_policy.rb b/app/policies/personal_access_token_policy.rb
index c9b4c2d44d5..aa87550fd6b 100644
--- a/app/policies/personal_access_token_policy.rb
+++ b/app/policies/personal_access_token_policy.rb
@@ -3,7 +3,8 @@
class PersonalAccessTokenPolicy < BasePolicy
condition(:is_owner) { user && subject.user_id == user.id }
- rule { is_owner | admin }.policy do
+ rule { is_owner | admin & ~blocked }.policy do
enable :read_token
+ enable :revoke_token
end
end
diff --git a/app/services/metrics/dashboard/pod_dashboard_service.rb b/app/services/metrics/dashboard/pod_dashboard_service.rb
index a4b3393409b..310f78c6a4b 100644
--- a/app/services/metrics/dashboard/pod_dashboard_service.rb
+++ b/app/services/metrics/dashboard/pod_dashboard_service.rb
@@ -7,7 +7,7 @@ module Metrics
DASHBOARD_NAME = N_('K8s pod health')
# SHA256 hash of dashboard content
- DASHBOARD_VERSION = '0515db7a99078a2423b037f99251ba16bd163603c0a30229ae8aa7386e96421c'
+ DASHBOARD_VERSION = '3a91b32f91b2dd3d90275333c0ea3630b3f3f37c4296ede5b5eef59bf523d66b'
SEQUENCE = [
STAGES::MetricEndpointInserter,
diff --git a/app/services/personal_access_tokens/revoke_service.rb b/app/services/personal_access_tokens/revoke_service.rb
new file mode 100644
index 00000000000..16ba42bd317
--- /dev/null
+++ b/app/services/personal_access_tokens/revoke_service.rb
@@ -0,0 +1,36 @@
+# frozen_string_literal: true
+
+module PersonalAccessTokens
+ class RevokeService
+ attr_reader :token, :current_user
+
+ def initialize(current_user = nil, params = { token: nil })
+ @current_user = current_user
+ @token = params[:token]
+ end
+
+ def execute
+ return ServiceResponse.error(message: 'Not permitted to revoke') unless revocation_permitted?
+
+ if token.revoke!
+ ServiceResponse.success(message: success_message)
+ else
+ ServiceResponse.error(message: error_message)
+ end
+ end
+
+ private
+
+ def error_message
+ _("Could not revoke personal access token %{personal_access_token_name}.") % { personal_access_token_name: token.name }
+ end
+
+ def success_message
+ _("Revoked personal access token %{personal_access_token_name}!") % { personal_access_token_name: token.name }
+ end
+
+ def revocation_permitted?
+ Ability.allowed?(current_user, :revoke_token, token)
+ end
+ end
+end