Commit 151ca197 authored by Marin Jankovski's avatar Marin Jankovski

Merge branch 'ce-to-ee-2018-01-30' into 'master'

CE upstream - 2018-01-30 11:56 UTC

See merge request gitlab-org/gitlab-ee!4315
parents f02217c0 99be74fe
...@@ -32,5 +32,5 @@ ...@@ -32,5 +32,5 @@
= icon("pencil") = icon("pencil")
- if can?(current_user, :admin_project, @project) - if can?(current_user, :admin_project, @project)
= link_to project_tag_path(@project, tag.name), class: "btn btn-remove remove-row has-tooltip #{protected_tag?(@project, tag) ? 'disabled' : ''}", title: s_('TagsPage|Delete tag'), method: :delete, data: { confirm: s_('TagsPage|Deleting the %{tag_name} tag cannot be undone. Are you sure?') % { tag_name: tag.name }, container: 'body' }, remote: true do = link_to project_tag_path(@project, tag.name), class: "btn btn-remove remove-row has-tooltip prepend-left-10 #{protected_tag?(@project, tag) ? 'disabled' : ''}", title: s_('TagsPage|Delete tag'), method: :delete, data: { confirm: s_('TagsPage|Deleting the %{tag_name} tag cannot be undone. Are you sure?') % { tag_name: tag.name }, container: 'body' }, remote: true do
= icon("trash-o") = icon("trash-o")
---
title: Adds spacing between edit and delete tag btn in tag list
merge_request: 16757
author: Jacopo Beschi @jacopo-beschi
type: fixed
if defined?(GrapeRouteHelpers) if defined?(GrapeRouteHelpers)
module GrapeRouteHelpers module GrapeRouteHelpers
module AllRoutes
# Bringing in PR https://github.com/reprah/grape-route-helpers/pull/21 due to abandonment.
#
# Without the following fix, when two helper methods are the same, but have different arguments
# (for example: api_v1_cats_owners_path(id: 1) vs api_v1_cats_owners_path(id: 1, owner_id: 2))
# if the helper method with the least number of arguments is defined first (because the route was defined first)
# then it will shadow the longer route.
#
# The fix is to sort descending by amount of arguments
def decorated_routes
@decorated_routes ||= all_routes
.map { |r| DecoratedRoute.new(r) }
.sort_by { |r| -r.dynamic_path_segments.count }
end
end
class DecoratedRoute class DecoratedRoute
# GrapeRouteHelpers gem tries to parse the versions # GrapeRouteHelpers gem tries to parse the versions
# from a string, not supporting Grape `version` array definition. # from a string, not supporting Grape `version` array definition.
......
...@@ -68,7 +68,7 @@ Example response: ...@@ -68,7 +68,7 @@ Example response:
```json ```json
{ {
"file_name": "app/project.rb", "file_path": "app/project.rb",
"branch": "master" "branch": "master"
} }
``` ```
...@@ -98,7 +98,7 @@ Example response: ...@@ -98,7 +98,7 @@ Example response:
```json ```json
{ {
"file_name": "app/project.rb", "file_path": "app/project.rb",
"branch": "master" "branch": "master"
} }
``` ```
...@@ -134,15 +134,6 @@ DELETE /projects/:id/repository/files/:file_path ...@@ -134,15 +134,6 @@ DELETE /projects/:id/repository/files/:file_path
curl --request DELETE --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 'https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb?branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&commit_message=delete%20file' curl --request DELETE --header 'PRIVATE-TOKEN: 9koXpg98eAheJpvBs5tK' 'https://gitlab.example.com/api/v4/projects/13083/repository/files/app%2Fproject%2Erb?branch=master&author_email=author%40example.com&author_name=Firstname%20Lastname&commit_message=delete%20file'
``` ```
Example response:
```json
{
"file_name": "app/project.rb",
"branch": "master"
}
```
Parameters: Parameters:
- `file_path` (required) - Url encoded full path to new file. Ex. lib%2Fclass%2Erb - `file_path` (required) - Url encoded full path to new file. Ex. lib%2Fclass%2Erb
......
...@@ -18,7 +18,7 @@ When you create a new [project](../../index.md), GitLab sets `master` as the def ...@@ -18,7 +18,7 @@ When you create a new [project](../../index.md), GitLab sets `master` as the def
branch for your project. You can choose another branch to be your project's branch for your project. You can choose another branch to be your project's
default under your project's **Settings > General**. default under your project's **Settings > General**.
The default branch is the branched affected by the The default branch is the branch affected by the
[issue closing pattern](../../issues/automatic_issue_closing.md), [issue closing pattern](../../issues/automatic_issue_closing.md),
which means that _an issue will be closed when a merge request is merged to which means that _an issue will be closed when a merge request is merged to
the **default branch**_. the **default branch**_.
......
require 'spec_helper'
require_relative '../../config/initializers/grape_route_helpers_fix'
describe 'route shadowing' do
include GrapeRouteHelpers::NamedRouteMatcher
it 'does not occur' do
path = api_v4_projects_merge_requests_path(id: 1)
expect(path).to eq('/api/v4/projects/1/merge_requests')
path = api_v4_projects_merge_requests_path(id: 1, merge_request_iid: 3)
expect(path).to eq('/api/v4/projects/1/merge_requests/3')
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment