Error page if forking fails

This commit is contained in:
Dmitriy Zaporozhets 2013-06-10 21:40:23 +03:00
parent 1487ed3e37
commit 7b5d68f0a7
4 changed files with 27 additions and 5 deletions

View File

@ -23,6 +23,7 @@ v 5.3.0
- Fix dashboard event filter when navigate via turbolinks
- init.d: Ensure socket is removed before starting service
- Admin area: Style teams:index, group:show pages
- Own page for failed forking
v 5.2.0
- Turbolinks

View File

@ -7,7 +7,7 @@ class ProjectsController < ProjectResourceController
before_filter :authorize_admin_project!, only: [:edit, :update, :destroy, :transfer]
before_filter :require_non_empty_project, only: [:blob, :tree, :graph]
layout 'navless', only: [:new, :create]
layout 'navless', only: [:new, :create, :fork]
before_filter :set_title, only: [:new, :create]
def new
@ -81,14 +81,15 @@ class ProjectsController < ProjectResourceController
end
def fork
@project = ::Projects::ForkContext.new(project, current_user).execute
@forked_project = ::Projects::ForkContext.new(project, current_user).execute
respond_to do |format|
format.html do
if @project.saved? && @project.forked?
redirect_to(@project, notice: 'Project was successfully forked.')
if @forked_project.saved? && @forked_project.forked?
redirect_to(@forked_project, notice: 'Project was successfully forked.')
else
render action: "new"
@title = 'Fork project'
render action: "fork"
end
end
format.js

View File

@ -0,0 +1,19 @@
.alert.alert-error.alert-block
%h4
%i.icon-code-fork
Fork Error!
%p
You are trying to fork
= link_to_project @project
but it fails due to next reason:
- if @forked_project && @forked_project.errors.any?
%p
&ndash;
= @forked_project.errors.full_messages.first
%p
= link_to fork_project_path(@project), title: "Fork", class: "btn", method: "POST" do
%i.icon-code-fork
Try to Fork again

View File

@ -42,6 +42,7 @@
%p Owner: #{link_to @project.owner_name, @project.owner}
- if @project.forked_from_project
%p
%i.icon-code-fork
Forked from:
= link_to @project.forked_from_project.name_with_namespace, project_path(@project.forked_from_project)