gitlab-org--gitlab-foss/app/models/concerns
Douwe Maan 05efd19e89 Merge branch 'dz-nested-groups' into 'master'
Add nested groups support on data level

## What does this MR do?

- [x] Add  `parent_id` field to `Namespace`model. 
- [x] Create new database table `routes` that keeps information about full path to each group or project
- [x] Remove uniq index from `namespaces.path`
- [x] Add uniq index on `routes.path`
- [x] Fill routes table with path data from namespaces and projects
- [x] Change Namespace/Project URL lookup by routes table
- [x] Rename related routes (nested groups, projects) when parent path changes

This is solely backend preparation. UI, Permissions and API support will be added in separate merge request.   
 
## Are there points in the code the reviewer needs to double check?

migrations, Route model, Routable concern

Will require downtime. See https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/7121#note_19490281 discussion

## Why was this MR needed?

One step further to full nested groups support

## Screenshots (if relevant)

No UI changes in this merge request so far

## Does this MR meet the acceptance criteria?

- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG.md) entry added~~
- ~~[Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)~~
- ~~API support added~~
- Tests
  - [x] Added for this feature/bug
  - [x] All builds are passing
- [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if it does - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

## What are the relevant issue numbers?

https://gitlab.com/gitlab-org/gitlab-ce/issues/2772

See merge request !7121
2016-12-09 01:52:36 +00:00
..
access_requestable.rb
awardable.rb
cache_markdown_field.rb
case_sensitivity.rb
expirable.rb
faster_cache_keys.rb
has_status.rb Fix success status 2016-12-07 12:47:06 +01:00
importable.rb
internal_id.rb
issuable.rb Use :maximum instead of :within for length validators with a 0..N range 2016-12-06 10:23:17 +01:00
mentionable.rb Allow JIRA references for project snippets 2016-11-21 12:09:41 -02:00
milestoneish.rb Merge branch 'jej-23867-use-mr-finder-instead-of-access-check' into 'security' 2016-12-08 21:42:07 -03:00
note_on_diff.rb
participable.rb
project_features_compatibility.rb Fix project features default values 2016-11-01 11:03:56 -02:00
protected_branch_access.rb CE-specific changes gitlab-org/gitlab-ee#1137 2016-11-29 17:38:45 +05:30
referable.rb Add shorthand support to gitlab markdown references 2016-12-02 19:18:17 -02:00
routable.rb Add nested groups support on data level 2016-12-08 11:47:16 +02:00
select_for_project_authorization.rb Precalculate user's authorized projects in database 2016-11-18 20:25:45 +02:00
sortable.rb
spammable.rb
strip_attribute.rb
subscribable.rb Allow users to subscribe to a group label at group or project level 2016-11-17 15:10:13 -02:00
taskable.rb add "x of y tasks completed" on issuable 2016-10-28 14:01:36 -02:00
token_authenticatable.rb Use separate email-friendly token for incoming email and let incoming 2016-11-07 15:55:42 +00:00