From 34695569da0526cde82348286da0e68aaa6273e4 Mon Sep 17 00:00:00 2001 From: Stan Hu Date: Tue, 22 Dec 2015 13:15:32 -0800 Subject: [PATCH] Fix Error 500 when global milestones have slashes Closes #4226 --- CHANGELOG | 3 +++ app/models/global_milestone.rb | 2 +- spec/models/global_milestone_spec.rb | 10 ++++++++++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/CHANGELOG b/CHANGELOG index 851a8ed0145..cd70e83555a 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -3,6 +3,9 @@ Please view this file on the master branch, on stable branches it's out of date. v 8.4.0 (unreleased) - Implement new UI for group page +v 8.3.1 (unreleased) + - Fix Error 500 when global milestones have slashes (Stan Hu) + v 8.3.0 - Add CAS support (tduehr) - Bump rack-attack to 4.3.1 for security fix (Stan Hu) diff --git a/app/models/global_milestone.rb b/app/models/global_milestone.rb index 8bfc79d88f8..af1d7562ebe 100644 --- a/app/models/global_milestone.rb +++ b/app/models/global_milestone.rb @@ -16,7 +16,7 @@ class GlobalMilestone end def safe_title - @title.to_slug.to_s + @title.to_slug.normalize.to_s end def expired? diff --git a/spec/models/global_milestone_spec.rb b/spec/models/global_milestone_spec.rb index ba03e6aabd0..197c99cd007 100644 --- a/spec/models/global_milestone_spec.rb +++ b/spec/models/global_milestone_spec.rb @@ -62,4 +62,14 @@ describe GlobalMilestone, models: true do expect(@global_milestone.milestones.count).to eq(3) end end + + describe :safe_title do + let(:milestone) { create(:milestone, title: "git / test", project: project1) } + + it 'should strip out slashes and spaces' do + global_milestone = GlobalMilestone.new(milestone.title, [milestone]) + + expect(global_milestone.safe_title).to eq('git-test') + end + end end