summaryrefslogtreecommitdiff
path: root/app/models
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-11-29 21:34:18 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-11-29 21:34:18 +0200
commit674cbe939cb65e67479e0d73f4004e52c4546791 (patch)
tree07292895831308153362471c35a5915c7ad248fe /app/models
parent27cd35de697ad42781cc4bdb0209f1f331a2591b (diff)
downloadgitlab-ce-674cbe939cb65e67479e0d73f4004e52c4546791.tar.gz
Dont allow project creation without repository
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app/models')
-rw-r--r--app/models/project.rb21
1 files changed, 21 insertions, 0 deletions
diff --git a/app/models/project.rb b/app/models/project.rb
index d2576bb85d0..d7570684ac8 100644
--- a/app/models/project.rb
+++ b/app/models/project.rb
@@ -586,4 +586,25 @@ class Project < ActiveRecord::Base
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