Refactored project archive. Improved MR usability form
This commit is contained in:
parent
edd81a79c5
commit
a243253b10
5 changed files with 94 additions and 51 deletions
|
@ -73,29 +73,21 @@ class MergeRequestsController < ApplicationController
|
|||
@merge_request = @project.merge_requests.new(params[:merge_request])
|
||||
@merge_request.author = current_user
|
||||
|
||||
respond_to do |format|
|
||||
if @merge_request.save
|
||||
@merge_request.reload_code
|
||||
format.html { redirect_to [@project, @merge_request], notice: 'Merge request was successfully created.' }
|
||||
format.json { render json: @merge_request, status: :created, location: @merge_request }
|
||||
else
|
||||
format.html { render action: "new" }
|
||||
format.json { render json: @merge_request.errors, status: :unprocessable_entity }
|
||||
end
|
||||
if @merge_request.save
|
||||
@merge_request.reload_code
|
||||
redirect_to [@project, @merge_request], notice: 'Merge request was successfully created.'
|
||||
else
|
||||
render action: "new"
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
respond_to do |format|
|
||||
if @merge_request.update_attributes(params[:merge_request].merge(:author_id_of_changes => current_user.id))
|
||||
@merge_request.reload_code
|
||||
@merge_request.mark_as_unchecked
|
||||
format.html { redirect_to [@project, @merge_request], notice: 'Merge request was successfully updated.' }
|
||||
format.json { head :ok }
|
||||
else
|
||||
format.html { render action: "edit" }
|
||||
format.json { render json: @merge_request.errors, status: :unprocessable_entity }
|
||||
end
|
||||
if @merge_request.update_attributes(params[:merge_request].merge(:author_id_of_changes => current_user.id))
|
||||
@merge_request.reload_code
|
||||
@merge_request.mark_as_unchecked
|
||||
redirect_to [@project, @merge_request], notice: 'Merge request was successfully updated.'
|
||||
else
|
||||
render action: "edit"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -122,7 +114,6 @@ class MergeRequestsController < ApplicationController
|
|||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to project_merge_requests_url(@project) }
|
||||
format.json { head :ok }
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -27,22 +27,14 @@ class RepositoriesController < ApplicationController
|
|||
render_404 and return
|
||||
end
|
||||
|
||||
ref = params[:ref] || @project.root_ref
|
||||
commit = @project.commit(ref)
|
||||
render_404 and return unless commit
|
||||
|
||||
# Build file path
|
||||
file_name = @project.code + "-" + commit.id.to_s + ".tar.gz"
|
||||
storage_path = File.join(Rails.root, "tmp", "repositories", @project.code)
|
||||
file_path = File.join(storage_path, file_name)
|
||||
file_path = @project.archive_repo(params[:ref])
|
||||
|
||||
# Create file if not exists
|
||||
unless File.exists?(file_path)
|
||||
FileUtils.mkdir_p storage_path
|
||||
file = @project.repo.archive_to_file(ref, nil, file_path)
|
||||
if file_path
|
||||
# Send file to user
|
||||
send_file file_path
|
||||
else
|
||||
render_404
|
||||
end
|
||||
|
||||
# Send file to user
|
||||
send_file file_path
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue