diff options
Diffstat (limited to 'app/presenters/issue_presenter.rb')
-rw-r--r-- | app/presenters/issue_presenter.rb | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/app/presenters/issue_presenter.rb b/app/presenters/issue_presenter.rb index 72fe14d224d..75f6d749acb 100644 --- a/app/presenters/issue_presenter.rb +++ b/app/presenters/issue_presenter.rb @@ -4,7 +4,9 @@ class IssuePresenter < Gitlab::View::Presenter::Delegated presents ::Issue, as: :issue def issue_path - url_builder.build(issue, only_path: true) + return url_builder.build(issue, only_path: true) unless use_work_items_path? + + project_work_items_path(issue.project, work_items_path: issue.id) end delegator_override :subscribed? @@ -15,6 +17,18 @@ class IssuePresenter < Gitlab::View::Presenter::Delegated def project_emails_disabled? issue.project.emails_disabled? end + + def web_url + return super unless use_work_items_path? + + project_work_items_url(issue.project, work_items_path: issue.id) + end + + private + + def use_work_items_path? + issue.issue_type == 'task' && issue.project.work_items_feature_flag_enabled? + end end IssuePresenter.prepend_mod_with('IssuePresenter') |