Fix Start free trial link for self-managed instances

What does this MR do and why?

In !194735 (diffs) the new_trial_url helper was renamed to not be confused with route url. There is one more place where this need to be updated:

The new_trial_url helper method in ee/app/views/dashboard/projects/_blank_state_ee_trial.html.haml incorrectly generates a link to the local instance's /-/trials/new route on Self-Managed and GDK installations. This route only exists on GitLab.com, causing a 404 error on all other instances. The link should instead point to the GitLab Customer Portal for Self-Managed trial registration.

Regression identified: This functionality was working correctly in v17.4.1-ee but is broken in v18.3.2-ee.

Screenshots or screen recordings

Screenshot_2025-09-17_at_15.48.18

How to set up and validate locally

  • Apply patch:

570662.patch

Click to expand
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 0d6f1d06d5e3..dcc6d82e0e19 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -715,6 +715,7 @@ def dashboard_projects_app_data
   end
 
   def show_dashboard_projects_welcome_page?
+    return true
     dashboard_projects_landing_paths = [
       root_path,
       root_dashboard_path,
diff --git a/ee/app/helpers/ee/dashboard_helper.rb b/ee/app/helpers/ee/dashboard_helper.rb
index 8e9cb5b119ff..ec7caacd1d11 100644
--- a/ee/app/helpers/ee/dashboard_helper.rb
+++ b/ee/app/helpers/ee/dashboard_helper.rb
@@ -29,6 +29,7 @@ def user_default_dashboard?(user)
 
     # EE:Self Managed
     def has_start_trial?
+      return true
       !current_user.has_current_license? && current_user.can_admin_all_resources?
     end
  • Sign in as root. Visit /dashboard/projects.
  • The Start free trial button should lead to CDot portal.

MR acceptance checklist

Evaluate this MR against the MR acceptance checklist. It helps you analyze changes to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #570662

Edited by Serhii Yarynovskyi

Merge request reports

Loading