diff options
Diffstat (limited to 'app/presenters/user_presenter.rb')
-rw-r--r-- | app/presenters/user_presenter.rb | 20 |
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 |