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