mirror of
https://github.com/internetee/registry.git
synced 2025-07-01 16:53:37 +02:00
Registrar form
This commit is contained in:
parent
77510cc3fa
commit
7ef07114cb
8 changed files with 177 additions and 3 deletions
|
@ -1,4 +1,5 @@
|
|||
class Admin::RegistrarsController < AdminController
|
||||
before_action :set_registrar, only: [:show, :edit, :update, :destroy]
|
||||
def search
|
||||
render json: Registrar.search_by_query(params[:q])
|
||||
end
|
||||
|
@ -7,4 +8,52 @@ class Admin::RegistrarsController < AdminController
|
|||
@q = Registrar.search(params[:q])
|
||||
@registrars = @q.result.page(params[:page])
|
||||
end
|
||||
|
||||
def new
|
||||
@registrar = Registrar.new
|
||||
end
|
||||
|
||||
def create
|
||||
@registrar = Registrar.new(registrar_params)
|
||||
|
||||
if @registrar.save
|
||||
flash[:notice] = I18n.t('shared.registrar_added')
|
||||
redirect_to [:admin, @registrar]
|
||||
else
|
||||
flash.now[:alert] = I18n.t('shared.failed_to_add_registrar')
|
||||
render 'new'
|
||||
end
|
||||
end
|
||||
|
||||
def edit; end
|
||||
|
||||
def update
|
||||
if @registrar.update(registrar_params)
|
||||
flash[:notice] = I18n.t('shared.registrar_updated')
|
||||
redirect_to [:admin, @registrar]
|
||||
else
|
||||
flash.now[:alert] = I18n.t('shared.failed_to_update_registrar')
|
||||
render 'edit'
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
if @registrar.destroy
|
||||
flash[:notice] = I18n.t('shared.registrar_deleted')
|
||||
redirect_to admin_registrars_path
|
||||
else
|
||||
flash.now[:alert] = I18n.t('shared.failed_to_delete_registrar')
|
||||
render 'show'
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_registrar
|
||||
@registrar = Registrar.find(params[:id])
|
||||
end
|
||||
|
||||
def registrar_params
|
||||
params.require(:registrar).permit(:name, :reg_no, :vat_no, :address, :billing_address, :country_id)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
class Registrar < ActiveRecord::Base
|
||||
belongs_to :country
|
||||
has_many :domains
|
||||
has_many :domains, :dependent => :restrict_with_error
|
||||
has_many :ns_sets
|
||||
has_many :epp_users
|
||||
has_many :users
|
||||
|
||||
validates :name, :reg_no, :address, :country, presence: true
|
||||
validates :name, :reg_no, uniqueness: true
|
||||
|
||||
|
||||
def domain_transfers
|
||||
at = DomainTransfer.arel_table
|
||||
DomainTransfer.where(
|
||||
|
|
34
app/views/admin/registrars/_form.haml
Normal file
34
app/views/admin/registrars/_form.haml
Normal file
|
@ -0,0 +1,34 @@
|
|||
= form_for([:admin, @registrar]) do |f|
|
||||
- if @registrar.errors.any?
|
||||
- @registrar.errors.each do |attr, err|
|
||||
= err
|
||||
%br
|
||||
- if @registrar.errors.any?
|
||||
%hr
|
||||
|
||||
.row
|
||||
.col-md-6
|
||||
.form-group
|
||||
= f.label :name
|
||||
= f.text_field(:name, class: 'form-control')
|
||||
.form-group
|
||||
= f.label :reg_no
|
||||
= f.text_field(:reg_no, class: 'form-control')
|
||||
.form-group
|
||||
= f.label :vat_no
|
||||
= f.text_field(:vat_no, class: 'form-control')
|
||||
|
||||
.col-md-6.text-left
|
||||
.form-group
|
||||
= f.label :country_id
|
||||
= f.select :country_id, options_for_select(Country.all.map{|x| [x.name, x.id]}, @registrar.country_id), {}, {class: 'form-control'}
|
||||
.form-group
|
||||
= f.label :address
|
||||
= f.text_field(:address, class: 'form-control')
|
||||
.form-group
|
||||
= f.label :billing_address
|
||||
= f.text_field(:billing_address, class: 'form-control')
|
||||
%hr
|
||||
.row
|
||||
.col-md-12.text-right
|
||||
= button_tag(t('shared.save'), class: 'btn btn-primary')
|
9
app/views/admin/registrars/edit.haml
Normal file
9
app/views/admin/registrars/edit.haml
Normal file
|
@ -0,0 +1,9 @@
|
|||
.row
|
||||
.col-sm-6
|
||||
%h2.text-center-xs
|
||||
= "#{t('shared.edit_registrar')}"
|
||||
.col-sm-6
|
||||
%h2.text-right.text-center-xs
|
||||
= link_to(t('shared.back_to_registrar'), [:admin, @registrar], class: 'btn btn-default')
|
||||
%hr
|
||||
= render 'form'
|
|
@ -3,7 +3,7 @@
|
|||
%h2.text-center-xs= t('shared.registrars')
|
||||
.col-sm-6
|
||||
%h2.text-right.text-center-xs
|
||||
= link_to(t('shared.add'), '#', class: 'btn btn-primary')
|
||||
= link_to(t('shared.add'), new_admin_registrar_path, class: 'btn btn-primary')
|
||||
%hr
|
||||
.row
|
||||
.col-md-12
|
||||
|
@ -20,7 +20,7 @@
|
|||
%tbody
|
||||
- @registrars.each do |x|
|
||||
%tr
|
||||
%td= link_to(x, '#')
|
||||
%td= link_to(x, [:admin, x])
|
||||
%td= x.reg_no
|
||||
%td= link_to(t('shared.edit'), '#', class: 'btn btn-primary btn-xs')
|
||||
.row
|
||||
|
|
3
app/views/admin/registrars/new.haml
Normal file
3
app/views/admin/registrars/new.haml
Normal file
|
@ -0,0 +1,3 @@
|
|||
%h2= t('shared.new_registrar')
|
||||
%hr
|
||||
= render 'form'
|
46
app/views/admin/registrars/show.haml
Normal file
46
app/views/admin/registrars/show.haml
Normal file
|
@ -0,0 +1,46 @@
|
|||
.row
|
||||
.col-sm-6
|
||||
%h2.text-center-xs
|
||||
= "#{t('shared.registrar_details')}"
|
||||
.col-sm-6
|
||||
%h2.text-right.text-center-xs
|
||||
= link_to(t('shared.edit'), edit_admin_registrar_path(@registrar), class: 'btn btn-primary')
|
||||
= link_to(t('shared.delete'), admin_registrar_path(@registrar), method: :delete, data: { confirm: t('shared.are_you_sure') }, class: 'btn btn-danger')
|
||||
|
||||
%hr
|
||||
- if @registrar.errors.any?
|
||||
- @registrar.errors.each do |attr, err|
|
||||
= err
|
||||
%br
|
||||
- if @registrar.errors.any?
|
||||
%hr
|
||||
.row
|
||||
.col-md-6
|
||||
.panel.panel-default
|
||||
.panel-heading
|
||||
%h3.panel-title= t('shared.general')
|
||||
.panel-body
|
||||
%dl.dl-horizontal
|
||||
%dt= t('shared.name')
|
||||
%dd= @registrar.name
|
||||
|
||||
%dt= t('shared.reg_no')
|
||||
%dd= @registrar.reg_no
|
||||
|
||||
%dt= t('shared.vat_no')
|
||||
%dd= @registrar.vat_no
|
||||
|
||||
.col-md-6
|
||||
.panel.panel-default
|
||||
.panel-heading
|
||||
%h3.panel-title= t('shared.address')
|
||||
.panel-body
|
||||
%dl.dl-horizontal
|
||||
%dt= t('shared.country')
|
||||
%dd= @registrar.country
|
||||
|
||||
%dt= t('shared.address')
|
||||
%dd= @registrar.address
|
||||
|
||||
%dt= t('shared.billing_address')
|
||||
%dd= @registrar.billing_address
|
|
@ -140,6 +140,22 @@ en:
|
|||
setting_id:
|
||||
taken: 'Status already exists on this domain'
|
||||
|
||||
|
||||
registrar:
|
||||
attributes:
|
||||
name:
|
||||
blank: 'Name is missing'
|
||||
taken: 'Name already exists'
|
||||
reg_no:
|
||||
blank: 'Reg. number is missing'
|
||||
taken: 'Reg no. already exists'
|
||||
vat_no:
|
||||
blank: 'Vat number is missing'
|
||||
country:
|
||||
blank: 'Country is missing'
|
||||
address:
|
||||
blank: 'Address is missing'
|
||||
|
||||
attributes:
|
||||
epp_domain: &epp_domain_attributes
|
||||
name: 'Domain name'
|
||||
|
@ -303,3 +319,16 @@ en:
|
|||
contact_list: 'Contact list'
|
||||
create_new_contact: 'Create new contact'
|
||||
domain_pw: 'Domain password'
|
||||
|
||||
new_registrar: 'New registrar'
|
||||
registrar_added: 'Registrar added!'
|
||||
failed_to_add_registrar: 'Failed to add registrar'
|
||||
registrar_details: 'Registrar details'
|
||||
vat_no: 'Vat no'
|
||||
edit_registrar: 'Edit registrar'
|
||||
back_to_registrar: 'Back to registrar'
|
||||
registrar_updated: 'Registrar updated'
|
||||
failed_to_update_registrar: 'Failed to update registrar'
|
||||
registrar_deleted: 'Registrar deleted'
|
||||
failed_to_delete_registrar: 'Failed to delete registrar'
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue