Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
heptapod
heptapod
Commits
e27222d15a1d
Commit
e27222d1
authored
Nov 29, 2014
by
Dmitriy Zaporozhets
Browse files
Dont allow project creation without repository
Signed-off-by:
Dmitriy Zaporozhets
<
dmitriy.zaporozhets@gmail.com
>
parent
e72ffe4c9ff8
Changes
5
Hide whitespace changes
Inline
Side-by-side
app/controllers/projects_controller.rb
View file @
e27222d1
...
...
@@ -19,5 +19,4 @@
def
create
@project
=
::
Projects
::
CreateService
.
new
(
current_user
,
project_params
).
execute
flash
[
:notice
]
=
'Project was successfully created.'
if
@project
.
saved?
...
...
@@ -23,6 +22,8 @@
respond_to
do
|
format
|
format
.
js
if
@project
.
saved?
redirect_to
project_path
(
@project
),
notice:
'Project was successfully created.'
else
render
'new'
end
end
...
...
app/models/project.rb
View file @
e27222d1
...
...
@@ -586,4 +586,25 @@
def
origin_merge_requests
merge_requests
.
where
(
source_project_id:
self
.
id
)
end
def
create_repository
if
gitlab_shell
.
add_repository
(
path_with_namespace
)
true
else
errors
.
add
(
:base
,
"Failed to create repository"
)
false
end
end
def
repository_exists?
!!
repository
.
exists?
end
def
create_wiki
ProjectWiki
.
new
(
self
,
self
.
owner
).
wiki
true
rescue
ProjectWiki
::
CouldNotCreateWikiError
=>
ex
errors
.
add
(
:base
,
"Failed create wiki"
)
false
end
end
app/services/projects/create_service.rb
View file @
e27222d1
...
...
@@ -37,7 +37,6 @@
@project
.
creator
=
current_user
if
@project
.
save
log_info
(
"
#{
@project
.
owner
.
name
}
created a new project
\"
#{
@project
.
name_with_namespace
}
\"
"
)
system_hook_service
.
execute_hooks_for
(
@project
,
:create
)
Project
.
transaction
do
@project
.
save
...
...
@@ -43,5 +42,13 @@
unless
@project
.
group
@project
.
team
<<
[
current_user
,
:master
]
unless
@project
.
import?
unless
@project
.
create_repository
raise
'Failed to create repository'
end
end
end
if
@project
.
persisted?
if
@project
.
wiki_enabled?
@project
.
create_wiki
end
...
...
@@ -46,26 +53,6 @@
end
@project
.
update_column
(
:last_activity_at
,
@project
.
created_at
)
if
@project
.
import?
@project
.
import_start
else
GitlabShellWorker
.
perform_async
(
:add_repository
,
@project
.
path_with_namespace
)
end
if
@project
.
wiki_enabled?
begin
# force the creation of a wiki,
ProjectWiki
.
new
(
@project
,
@project
.
owner
).
wiki
rescue
ProjectWiki
::
CouldNotCreateWikiError
=>
ex
# Prevent project observer crash
# if failed to create wiki
nil
end
end
after_create_actions
end
@project
...
...
@@ -84,5 +71,20 @@
namespace
=
Namespace
.
find_by
(
id:
namespace_id
)
current_user
.
can?
(
:create_projects
,
namespace
)
end
def
after_create_actions
log_info
(
"
#{
@project
.
owner
.
name
}
created a new project
\"
#{
@project
.
name_with_namespace
}
\"
"
)
system_hook_service
.
execute_hooks_for
(
@project
,
:create
)
unless
@project
.
group
@project
.
team
<<
[
current_user
,
:master
]
end
@project
.
update_column
(
:last_activity_at
,
@project
.
created_at
)
if
@project
.
import?
@project
.
import_start
end
end
end
end
app/views/projects/create.js.haml
deleted
100644 → 0
View file @
e72ffe4c
-
if
@project
.
saved?
-
if
@project
.
import?
:plain
location.href = "
#{
import_project_path
(
@project
)
}
";
-
else
:plain
location.href = "
#{
project_path
(
@project
)
}
";
-
else
:plain
$(".project-edit-errors").html("
#{
escape_javascript
(
render
(
'errors'
))
}
");
$('.project-submit').enable();
$('.save-project-loader').hide();
$('.project-edit-container').show();
app/views/projects/new.html.haml
View file @
e27222d1
...
...
@@ -3,7 +3,7 @@
=
render
'projects/errors'
.project-edit-content
=
form_for
@project
,
remote:
true
,
html:
{
class:
'new_project form-horizontal'
}
do
|
f
|
=
form_for
@project
,
html:
{
class:
'new_project form-horizontal'
}
do
|
f
|
.form-group.project-name-holder
=
f
.
label
:name
,
class:
'control-label'
do
%strong
Project name
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment