• Stan Hu's avatar
    Fix Error 500 when creating global milestones with Unicode characters · d800a949
    Stan Hu authored
    Two issues:
    
    1. The constraints in the resources were incorrect. Here's what it was before:
    ```
    group_milestone  GET /groups/:group_id/milestones/:id(.:format)  groups/milestones#show {:id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/, :group_id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/}
    ```
    
    In this case, id is actually the title of the milestone, which can be anything at the moment.
    
    After:
    
    ```
    group_milestone  GET /groups/:group_id/milestones/:id(.:format)  groups/milestones#show {:id=>/[^\/]+/, :group_id=>/[a-zA-Z.0-9_\-]+(?<!\.atom)/}
    ```
    
    2. `parameterize` would strip all Unicode characters, leaving a blank string. Rails would report something like:
    
    ActionView::Template::Error (No route matches {:action=>"show", :controller=>"groups/milestones", :group_id=>#<Group id: 48, name: "ops-dev", path: "ops-dev", owner_id: nil, created_at: "2015-11-15 08:55:30", updated_at: "2015-12-02 06:23:26", type: "Group", description: "", avatar: "sha1.c71e73d51af1865c1bbbf6208e10044d46c9bb93.png", public: false>, :id=>"", :title=>"肯定不是中文的问题"} missing required keys: [:id]):
    
    This change uses the babosa library to create a better slug, which surprisingly
    isn't actually used by the global milestone controllers. Instead, they use the
    title passed as a query string for some reason.
    
    Closes https://github.com/gitlabhq/gitlabhq/issues/9881
    
    Fix constraints
    d800a949
Name
Last commit
Last update
app Loading commit data...
bin Loading commit data...
builds Loading commit data...
config Loading commit data...
db Loading commit data...
doc Loading commit data...
docker Loading commit data...
features Loading commit data...
lib Loading commit data...
log Loading commit data...
public Loading commit data...
scripts Loading commit data...
shared Loading commit data...
spec Loading commit data...
tmp Loading commit data...
vendor/assets Loading commit data...
.flayignore Loading commit data...
.foreman Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
.hound.yml Loading commit data...
.pkgr.yml Loading commit data...
.rspec Loading commit data...
.rubocop.yml Loading commit data...
.ruby-version Loading commit data...
.simplecov Loading commit data...
.teatro.yml Loading commit data...
CHANGELOG Loading commit data...
CONTRIBUTING.md Loading commit data...
GITLAB_SHELL_VERSION Loading commit data...
GITLAB_WORKHORSE_VERSION Loading commit data...
Gemfile Loading commit data...
Gemfile.lock Loading commit data...
LICENSE Loading commit data...
MAINTENANCE.md Loading commit data...
PROCESS.md Loading commit data...
Procfile Loading commit data...
README.md Loading commit data...
Rakefile Loading commit data...
VERSION Loading commit data...
config.ru Loading commit data...
doc_styleguide.md Loading commit data...
docker-compose.yml Loading commit data...