mirror of
https://github.com/internetee/registry.git
synced 2025-08-04 00:42:04 +02:00
Add form for adding zone #2806
This commit is contained in:
parent
1fe8bd3f46
commit
44b2d383b1
10 changed files with 163 additions and 67 deletions
|
@ -5,6 +5,22 @@ class Admin::ZonefileSettingsController < AdminController
|
|||
@zonefile_settings = ZonefileSetting.all
|
||||
end
|
||||
|
||||
def new
|
||||
@zonefile_setting = ZonefileSetting.new
|
||||
end
|
||||
|
||||
def create
|
||||
@zonefile_setting = ZonefileSetting.new(zonefile_setting_params)
|
||||
|
||||
if @zonefile_setting.save
|
||||
flash[:notice] = I18n.t('record_created')
|
||||
redirect_to admin_zonefile_settings_path
|
||||
else
|
||||
flash.now[:alert] = I18n.t('failed_to_create_record')
|
||||
render 'new'
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
@zonefile_setting = ZonefileSetting.find(params[:id])
|
||||
end
|
||||
|
@ -26,6 +42,8 @@ class Admin::ZonefileSettingsController < AdminController
|
|||
end
|
||||
|
||||
def zonefile_setting_params
|
||||
params.require(:zonefile_setting).permit(:ttl, :refresh, :retry, :expire, :minimum_ttl, :email)
|
||||
params.require(:zonefile_setting).permit(
|
||||
:origin, :ttl, :refresh, :retry, :expire, :minimum_ttl, :email, :ns_records, :a_records, :a4_records
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -2,6 +2,7 @@ class ZonefileSetting < ActiveRecord::Base
|
|||
include Versions # version/zonefile_setting_version.rb
|
||||
validates :origin, :ttl, :refresh, :retry, :expire, :minimum_ttl, :email, presence: true
|
||||
validates :ttl, :refresh, :retry, :expire, :minimum_ttl, numericality: { only_integer: true }
|
||||
validates :origin, uniqueness: true
|
||||
|
||||
def self.generate_zonefiles
|
||||
pluck(:origin).each do |origin|
|
||||
|
|
74
app/views/admin/zonefile_settings/_form.haml
Normal file
74
app/views/admin/zonefile_settings/_form.haml
Normal file
|
@ -0,0 +1,74 @@
|
|||
|
||||
= form_for [:admin, @zonefile_setting], html: { class: 'form-horizontal' } do |f|
|
||||
.row
|
||||
.col-md-8
|
||||
#domain-statuses
|
||||
= render 'shared/full_errors', object: f.object
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :origin
|
||||
.col-md-8
|
||||
- if @zonefile_setting.persisted?
|
||||
= f.text_field :origin, class: 'form-control', disabled: true
|
||||
- else
|
||||
= f.text_field :origin, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :ttl
|
||||
.col-md-8
|
||||
= f.text_field :ttl, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :refresh
|
||||
.col-md-8
|
||||
= f.text_field :refresh, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :retry
|
||||
.col-md-8
|
||||
= f.text_field :retry, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :expire
|
||||
.col-md-8
|
||||
= f.text_field :expire, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :minimum_ttl
|
||||
.col-md-8
|
||||
= f.text_field :minimum_ttl, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :email
|
||||
.col-md-8
|
||||
= f.text_field :email, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :ns_records
|
||||
.col-md-8
|
||||
= f.text_area :ns_records, class: 'form-control', rows: 8
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :a_records
|
||||
.col-md-8
|
||||
= f.text_area :a_records, class: 'form-control', rows: 8
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :a4_records, t(:a4_records)
|
||||
.col-md-8
|
||||
= f.text_area :a4_records, class: 'form-control', rows: 8
|
||||
|
||||
%hr
|
||||
.row
|
||||
.col-md-8.text-right
|
||||
%button.btn.btn-primary= t(:save)
|
|
@ -1,53 +1,5 @@
|
|||
= render 'shared/title', name: t(:zonefile_settings)
|
||||
- content_for :actions do
|
||||
= link_to(t(:back), admin_zonefile_settings_path, class: 'btn btn-default')
|
||||
= render 'shared/title', name: t(:edit_zone)
|
||||
|
||||
= form_for [:admin, @zonefile_setting], html: { class: 'form-horizontal' } do |f|
|
||||
.row
|
||||
.col-md-8
|
||||
#domain-statuses
|
||||
= render 'shared/full_errors', object: f.object
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :origin
|
||||
.col-md-8
|
||||
= f.text_field :origin, class: 'form-control', disabled: true
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :ttl
|
||||
.col-md-8
|
||||
= f.text_field :ttl, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :refresh
|
||||
.col-md-8
|
||||
= f.text_field :refresh, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :retry
|
||||
.col-md-8
|
||||
= f.text_field :retry, class: 'form-control'
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :expire
|
||||
.col-md-8
|
||||
= f.text_field :expire, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :minimum_ttl
|
||||
.col-md-8
|
||||
= f.text_field :minimum_ttl, class: 'form-control'
|
||||
|
||||
.form-group
|
||||
.col-md-4.control-label
|
||||
= f.label :email
|
||||
.col-md-8
|
||||
= f.text_field :email, class: 'form-control', email: true
|
||||
|
||||
%hr
|
||||
.row
|
||||
.col-md-8.text-right
|
||||
%button.btn.btn-primary= t(:save)
|
||||
= render 'form'
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
- content_for :actions do
|
||||
= link_to(t(:new), new_admin_zonefile_setting_path, class: 'btn btn-primary')
|
||||
= render 'shared/title', name: t(:zonefile_settings)
|
||||
|
||||
.row
|
||||
|
@ -15,6 +17,6 @@
|
|||
%tr
|
||||
%td= link_to(x, edit_admin_zonefile_setting_path(x))
|
||||
%td
|
||||
= link_to(t(:generate_zonefile),
|
||||
admin_zonefiles_path(origin: x.origin),
|
||||
= link_to(t(:generate_zonefile),
|
||||
admin_zonefiles_path(origin: x.origin),
|
||||
method: 'post', class: 'btn btn-xs btn-primary')
|
||||
|
|
5
app/views/admin/zonefile_settings/new.haml
Normal file
5
app/views/admin/zonefile_settings/new.haml
Normal file
|
@ -0,0 +1,5 @@
|
|||
- content_for :actions do
|
||||
= link_to(t(:back), admin_zonefile_settings_path, class: 'btn btn-default')
|
||||
= render 'shared/title', name: t(:new_zone)
|
||||
|
||||
= render 'form'
|
Loading…
Add table
Add a link
Reference in a new issue