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:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-06-01 21:49:11 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-06-01 21:49:11 +0300
commit734a4ba87de7bc8cf152c5bc7f93ba04210b282d (patch)
tree56ed5cd6a3c65dadee09246338417c0676995882 /app/services
parent76ae871908b83c9de9fb05f6cf491153209a79d4 (diff)
Create and edit files in web editor via rugged
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/services')
-rw-r--r--app/services/files/create_service.rb24
-rw-r--r--app/services/files/update_service.rb24
2 files changed, 34 insertions, 14 deletions
diff --git a/app/services/files/create_service.rb b/app/services/files/create_service.rb
index 23833aa78ec..c0cf5956326 100644
--- a/app/services/files/create_service.rb
+++ b/app/services/files/create_service.rb
@@ -33,14 +33,24 @@ module Files
end
end
+ if params[:encoding] == 'base64'
+ new_file_action = Gitlab::Satellite::NewFileAction.new(current_user, project, ref, file_path)
+ created_successfully = new_file_action.commit!(
+ params[:content],
+ params[:commit_message],
+ params[:encoding],
+ params[:new_branch]
+ )
+ else
+ created_successfull = repository.commit_file(
+ current_user,
+ file_path,
+ params[:content],
+ params[:commit_message],
+ params[:new_branch] || ref
+ )
+ end
- new_file_action = Gitlab::Satellite::NewFileAction.new(current_user, project, ref, file_path)
- created_successfully = new_file_action.commit!(
- params[:content],
- params[:commit_message],
- params[:encoding],
- params[:new_branch]
- )
if created_successfully
success
diff --git a/app/services/files/update_service.rb b/app/services/files/update_service.rb
index 0724d3ae634..5efd43d16ce 100644
--- a/app/services/files/update_service.rb
+++ b/app/services/files/update_service.rb
@@ -19,13 +19,23 @@ module Files
return error("You can only edit text files")
end
- edit_file_action = Gitlab::Satellite::EditFileAction.new(current_user, project, ref, path)
- edit_file_action.commit!(
- params[:content],
- params[:commit_message],
- params[:encoding],
- params[:new_branch]
- )
+ if params[:encoding] == 'base64'
+ edit_file_action = Gitlab::Satellite::EditFileAction.new(current_user, project, ref, path)
+ edit_file_action.commit!(
+ params[:content],
+ params[:commit_message],
+ params[:encoding],
+ params[:new_branch]
+ )
+ else
+ repository.commit_file(
+ current_user,
+ path,
+ params[:content],
+ params[:commit_message],
+ params[:new_branch] || ref
+ )
+ end
success
rescue Gitlab::Satellite::CheckoutFailed => ex