Registrar form

This commit is contained in:
Martin Lensment 2014-09-29 18:12:43 +03:00
parent 77510cc3fa
commit 7ef07114cb
8 changed files with 177 additions and 3 deletions

View file

@ -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

View file

@ -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(

View 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')

View 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'

View file

@ -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

View file

@ -0,0 +1,3 @@
%h2= t('shared.new_registrar')
%hr
= render 'form'

View 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

View file

@ -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'