From e5e2e7b70315cbcee12db66ebc73dbd0ef4a14ae Mon Sep 17 00:00:00 2001
From: Kamil Trzcinski <ayufan@ayufan.eu>
Date: Wed, 10 Feb 2016 16:21:39 +0100
Subject: [PATCH] Fix the remove_pages

---
 app/controllers/projects/pages_controller.rb               | 5 +++++
 .../projects/update_pages_configuration_service.rb         | 4 ++--
 app/views/projects/pages/index.html.haml                   | 7 ++++---
 config/routes/project.rb                                   | 4 +++-
 4 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/app/controllers/projects/pages_controller.rb b/app/controllers/projects/pages_controller.rb
index 82814afe19..0c7f2bd578 100644
--- a/app/controllers/projects/pages_controller.rb
+++ b/app/controllers/projects/pages_controller.rb
@@ -51,6 +51,11 @@ class Projects::PagesController < Projects::ApplicationController
     end
   end
 
+  def remove_pages
+    project.remove_pages
+    project.pages_domains.destroy_all
+  end
+
   private
 
   def pages_domain_params
diff --git a/app/services/projects/update_pages_configuration_service.rb b/app/services/projects/update_pages_configuration_service.rb
index 5afb0582ca..53e9d9e275 100644
--- a/app/services/projects/update_pages_configuration_service.rb
+++ b/app/services/projects/update_pages_configuration_service.rb
@@ -43,7 +43,7 @@ module Projects
     end
 
     def pages_config_file
-      File.join(pages_path, 'config.jso')
+      File.join(pages_path, 'config.json')
     end
 
     def update_file(file, data)
@@ -52,7 +52,7 @@ module Projects
           file.write(data)
         end
       else
-        File.rm_r(file)
+        File.rm(file, force: true)
       end
     end
   end
diff --git a/app/views/projects/pages/index.html.haml b/app/views/projects/pages/index.html.haml
index fea34c113b..284f362d53 100644
--- a/app/views/projects/pages/index.html.haml
+++ b/app/views/projects/pages/index.html.haml
@@ -2,9 +2,10 @@
 %h3.page_title
   Pages
 
-  = link_to new_namespace_project_page_path(@project.namespace, @project), class: "btn btn-new pull-right", title: "New Domain" do
-    %i.fa.fa-plus
-    New Domain
+  - if Settings.pages.external_http || Settings.pages.external_https
+    = link_to new_namespace_project_page_path(@project.namespace, @project), class: "btn btn-new pull-right", title: "New Domain" do
+      %i.fa.fa-plus
+      New Domain
 
 %p.light
   With GitLab Pages you can host for free your static websites on GitLab.
diff --git a/config/routes/project.rb b/config/routes/project.rb
index ac1e3fce16..7a41cb81bf 100644
--- a/config/routes/project.rb
+++ b/config/routes/project.rb
@@ -40,7 +40,9 @@ constraints(ProjectUrlConstrainer.new) do
       end
 
       resources :pages, except: [:edit, :update] do
-        delete :remove_pages
+        collection do
+          delete :remove_pages
+        end
       end
 
       resources :compare, only: [:index, :create] do
-- 
2.30.9