Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamil Trzcinski <ayufan@ayufan.eu>2016-02-14 23:22:44 +0300
committerJames Edwards-Jones <jedwardsjones@gitlab.com>2017-02-01 01:53:58 +0300
commit7f12cb0eed06ad3f83126a3a8038e7fa658f4eac (patch)
tree36f2b0b2bed11d901db304df2043ba0eb17340a2 /app/controllers/projects/pages_domains_controller.rb
parent84edc9a22f5d858cb02f32d22b66c92fb939378a (diff)
Split PagesController into PagesController and PagesDomainsController
1. PagesController is used to show all domains and general overview of Pages 2. PagesDomainsController is used to manage pages domains
Diffstat (limited to 'app/controllers/projects/pages_domains_controller.rb')
-rw-r--r--app/controllers/projects/pages_domains_controller.rb49
1 files changed, 49 insertions, 0 deletions
diff --git a/app/controllers/projects/pages_domains_controller.rb b/app/controllers/projects/pages_domains_controller.rb
index e69de29bb2d..b8c253f6ae3 100644
--- a/app/controllers/projects/pages_domains_controller.rb
+++ b/app/controllers/projects/pages_domains_controller.rb
@@ -0,0 +1,49 @@
+class Projects::PagesDomainsController < Projects::ApplicationController
+ layout 'project_settings'
+
+ before_action :authorize_update_pages!, except: [:show]
+ before_action :domain, only: [:show, :destroy]
+
+ def show
+ end
+
+ def new
+ @domain = @project.pages_domains.new
+ end
+
+ def create
+ @domain = @project.pages_domains.create(pages_domain_params)
+
+ if @domain.valid?
+ redirect_to namespace_project_pages_path(@project.namespace, @project)
+ else
+ render 'new'
+ end
+ end
+
+ def destroy
+ @domain.destroy
+
+ respond_to do |format|
+ format.html do
+ redirect_to(namespace_project_pages_path(@project.namespace, @project),
+ notice: 'Domain was removed')
+ end
+ format.js
+ end
+ end
+
+ private
+
+ def pages_domain_params
+ params.require(:pages_domain).permit(
+ :certificate,
+ :key,
+ :domain
+ )
+ end
+
+ def domain
+ @domain ||= @project.pages_domains.find_by(domain: params[:id].to_s)
+ end
+end