diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-07-30 11:10:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-30 11:10:46 +0200 |
commit | 24552b5160a5090e7d6056fb69a209aa48fe4fce (patch) | |
tree | 57ab47f71d7f589c9da4dd959d3dec6f0902409a /app/controllers/admin/domain_allows_controller.rb | |
parent | 85b7b565def2594b6ad791731802eb4c8a803a69 (diff) |
Add whitelist mode (#11291)
Diffstat (limited to 'app/controllers/admin/domain_allows_controller.rb')
-rw-r--r-- | app/controllers/admin/domain_allows_controller.rb | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/app/controllers/admin/domain_allows_controller.rb b/app/controllers/admin/domain_allows_controller.rb new file mode 100644 index 000000000..31be1978b --- /dev/null +++ b/app/controllers/admin/domain_allows_controller.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +class Admin::DomainAllowsController < Admin::BaseController + before_action :set_domain_allow, only: [:destroy] + + def new + authorize :domain_allow, :create? + + @domain_allow = DomainAllow.new(domain: params[:_domain]) + end + + def create + authorize :domain_allow, :create? + + @domain_allow = DomainAllow.new(resource_params) + + if @domain_allow.save + log_action :create, @domain_allow + redirect_to admin_instances_path, notice: I18n.t('admin.domain_allows.created_msg') + else + render :new + end + end + + def destroy + authorize @domain_allow, :destroy? + UnallowDomainService.new.call(@domain_allow) + redirect_to admin_instances_path, notice: I18n.t('admin.domain_allows.destroyed_msg') + end + + private + + def set_domain_allow + @domain_allow = DomainAllow.find(params[:id]) + end + + def resource_params + params.require(:domain_allow).permit(:domain) + end +end |