Commit Graph

27 Commits

Author SHA1 Message Date
Douwe Maan 75144b1e03 Validate path uniqueness only on Route, and bubble up appropriately 2018-02-06 12:06:38 -06:00
Michael Kozono 5d57030e46 Delete conflicting orphaned routes 2018-01-18 10:28:55 -08:00
Michael Kozono 601c24d5b6 Add RedirectRoute factory 2018-01-11 11:17:38 -08:00
Michael Kozono c517788e67 Fix Rubocop offense 2018-01-11 10:22:40 -08:00
Michael Kozono 1dc30595e3 Revert "Revert "Fix Route validation for unchanged path""
This reverts commit 3576d59ae9.
2018-01-11 09:24:59 -08:00
Michael Kozono 3576d59ae9 Revert "Fix Route validation for unchanged path"
This reverts commit 8040edcce8.
2018-01-09 12:09:24 -08:00
Michael Kozono 48a018c608 Revert "Add test for permanent redirects of descendants"
This reverts commit a2cb92495c.
2018-01-09 12:09:18 -08:00
Michael Kozono a2cb92495c Add test for permanent redirects of descendants 2018-01-09 12:06:28 -08:00
Michael Kozono 8040edcce8 Fix Route validation for unchanged path 2018-01-09 11:59:12 -08:00
Mayra Cabrera 562fb460b8 Allow git pull/push on project redirects 2017-12-08 17:42:43 +00:00
Michael Kozono 3d58e30b6b Fix style 2017-08-09 08:11:08 -07:00
Michael Kozono fccd64bb6a Fix conflicting redirect search 2017-08-08 10:30:07 -07:00
Rémy Coutable cddc5cacfb Use described_class when possible
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-07-27 14:31:53 +02:00
Rémy Coutable ddccd24c13 Remove superfluous lib: true, type: redis, service: true, models: true, services: true, no_db: true, api: true
Signed-off-by: Rémy Coutable <remy@rymai.me>
2017-07-27 14:31:53 +02:00
Dmitriy Zaporozhets cc577b8970
Update tests for new version of shoulda-matchers
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2017-07-24 15:33:14 +03:00
Robert Speicher a6ec5121f0 Correct RSpec/SingleLineHook cop offenses 2017-06-14 13:18:56 -05:00
Michael Kozono b0ee22609a Reduce risk of deadlocks
We’ve seen a deadlock in CI here https://gitlab.com/mkozono/gitlab-ce/builds/15644492#down-build-trace. This commit should not fix that particular failure, but perhaps it will avoid others.

* Don’t call delete_conflicting_redirects after update if the path wasn’t changed
* Rename descendants without using recursion again, so we can run delete_conflicting_redirects exactly once.
2017-05-05 14:31:33 -07:00
Michael Kozono 72872ee213 Delete conflicting redirects 2017-05-05 12:11:58 -07:00
Michael Kozono a0368e9131 Create redirect routes on path change 2017-05-05 12:11:58 -07:00
Jarka Kadlecova 95197ee3d1 Remove not necessary specs 2017-03-22 12:16:19 +01:00
Jarka Kadlecova 3750766f42 Escape route path for LIKE queries 2017-03-21 17:04:12 +01:00
Robert Speicher 9bf9e6eb38 Handle Route#name being nil after an update
It was possible for the `routes.name` field to be `NULL`, causing
`name_was` to be `nil` after a rename, resulting a bad first argument to
`sub` when attempting to rename descendants. This change adds a
condition to make sure `name_was` is present before attempting the
descendant update.
2017-03-20 19:17:14 -04:00
Dmitriy Zaporozhets 4d40c3c30a
Fix route rename descendants if route.name is blank
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2017-02-08 23:36:23 +02:00
Dmitriy Zaporozhets 2989192d1a
Store group and project full name and full path in routes table
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2017-02-08 19:14:29 +02:00
Dmitriy Zaporozhets 51c4b20c48 Refactor Namespace code related to nested groups
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2017-01-13 10:05:02 -05:00
Dmitriy Zaporozhets 95e0fac59a
Fix Route#rename_children behavior
Given group `gitlab` and `gitlab-org` exists. When rename `gitlab` it
will rename `gitlab-org` group route too. This commit fixes it

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-12-19 22:36:47 +02:00
Dmitriy Zaporozhets 83232be0e1
Add nested groups support on data level
* add parent_id field to namespaces table to store relation with nested groups
* create routes table to keep information about full path of every group and project
* project/group lookup by full path from routes table

Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
2016-12-08 11:47:16 +02:00