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
diff options
context:
space:
mode:
Diffstat (limited to 'app/presenters/user_presenter.rb')
-rw-r--r--app/presenters/user_presenter.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/app/presenters/user_presenter.rb b/app/presenters/user_presenter.rb
index 5a99f10b6e7..dc775fb4160 100644
--- a/app/presenters/user_presenter.rb
+++ b/app/presenters/user_presenter.rb
@@ -11,6 +11,22 @@ class UserPresenter < Gitlab::View::Presenter::Delegated
should_be_private? ? ProjectMember.none : user.project_members
end
+ def preferences_gitpod_path
+ profile_preferences_path(anchor: 'user_gitpod_enabled') if application_gitpod_enabled?
+ end
+
+ def profile_enable_gitpod_path
+ profile_path(user: { gitpod_enabled: true }) if application_gitpod_enabled?
+ end
+
+ delegator_override :saved_replies
+ def saved_replies
+ return ::Users::SavedReply.none unless Feature.enabled?(:saved_replies, current_user, default_enabled: :yaml)
+ return ::Users::SavedReply.none unless current_user.can?(:read_saved_replies, user)
+
+ user.saved_replies
+ end
+
private
def can?(*args)
@@ -20,4 +36,8 @@ class UserPresenter < Gitlab::View::Presenter::Delegated
def should_be_private?
!Ability.allowed?(current_user, :read_user_profile, user)
end
+
+ def application_gitpod_enabled?
+ Gitlab::CurrentSettings.gitpod_enabled
+ end
end