Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-07-26 06:27:46 +0300
committerDouglas Barbosa Alexandre <dbalexandre@gmail.com>2016-07-27 19:52:45 +0300
commit487dfad6acf4175275352094edf418dca6c8cfd6 (patch)
tree1572738df315d83c50923d0af8c7ce1bdbe263da /app/services/projects
parentac7f3e6a9201778e796394d54f86f45f7d789dc9 (diff)
Fix renaming repository when name contains invalid chars under settings
Diffstat (limited to 'app/services/projects')
-rw-r--r--app/services/projects/update_service.rb12
1 files changed, 11 insertions, 1 deletions
diff --git a/app/services/projects/update_service.rb b/app/services/projects/update_service.rb
index f06311511cc..032c3b182fb 100644
--- a/app/services/projects/update_service.rb
+++ b/app/services/projects/update_service.rb
@@ -3,7 +3,7 @@ module Projects
def execute
# check that user is allowed to set specified visibility_level
new_visibility = params[:visibility_level]
-
+
if new_visibility && new_visibility.to_i != project.visibility_level
unless can?(current_user, :change_visibility_level, project) &&
Gitlab::VisibilityLevel.allowed_for?(current_user, new_visibility)
@@ -23,7 +23,17 @@ module Projects
if project.previous_changes.include?('path')
project.rename_repo
end
+ else
+ restore_attributes
+ false
end
end
+
+ private
+
+ def restore_attributes
+ project.path = project.path_was if project.errors.include?(:path)
+ project.name = project.name_was if project.errors.include?(:name)
+ end
end
end