Merge branch 'master' of github.com:internetee/registry

This commit is contained in:
Andres Keskküla 2014-09-26 13:05:07 +03:00
commit 3e0943189b
6 changed files with 29 additions and 22 deletions

View file

@ -11,7 +11,7 @@ class Admin::DomainsController < AdminController
end
def edit
@domain.domain_statuses.build if @domain.domain_statuses.empty?
build_associations
end
def update
@ -39,9 +39,15 @@ class Admin::DomainsController < AdminController
)
end
def build_associations
@domain.domain_statuses.build if @domain.domain_statuses.empty?
@server_statuses = @domain.domain_statuses.select(&:server_status?)
@server_statuses << @domain.domain_statuses.build if @server_statuses.empty?
end
def add_prefix_to_statuses
domain_params[:domain_statuses_attributes].each do |_k, hash|
hash[:value] = hash[:value].prepend('server')
hash[:value] = hash[:value].prepend('server') if hash[:value].present?
end
end
end

View file

@ -39,7 +39,6 @@ class Client::DomainsController < ClientController
def update
add_prefix_to_statuses
if @domain.update(domain_params)
flash[:notice] = I18n.t('shared.domain_updated')
redirect_to [:client, @domain]
@ -77,7 +76,7 @@ class Client::DomainsController < ClientController
def add_prefix_to_statuses
domain_params[:domain_statuses_attributes].each do |_k, hash|
hash[:value] = hash[:value].prepend('client')
hash[:value] = hash[:value].prepend('client') if hash[:value].present?
end
end
@ -88,7 +87,9 @@ class Client::DomainsController < ClientController
def build_associations
@domain.nameservers.build if @domain.nameservers.empty?
@domain.domain_contacts.build if @domain.domain_contacts.empty?
@domain.domain_statuses.build if @domain.domain_statuses.empty?
@client_statuses = @domain.domain_statuses.select(&:client_status?)
@client_statuses << @domain.domain_statuses.build if @client_statuses.empty?
end
def verify_deletion

View file

@ -30,6 +30,8 @@ class DomainStatus < ActiveRecord::Base
EXPIRED = 'expired'
STATUSES = [CLIENT_DELETE_PROHIBITED, SERVER_DELETE_PROHIBITED, CLIENT_HOLD, SERVER_HOLD, CLIENT_RENEW_PROHIBITED, SERVER_RENEW_PROHIBITED, CLIENT_TRANSFER_PROHIBITED, SERVER_TRANSFER_PROHIBITED, CLIENT_UPDATE_PROHIBITED, SERVER_UPDATE_PROHIBITED, INACTIVE, OK, PENDING_CREATE, PENDING_DELETE, PENDING_RENEW, PENDING_TRANSFER, PENDING_UPDATE, SERVER_MANUAL_INZONE, SERVER_REGISTRANT_CHANGE_PROHIBITED, SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED, FORCE_DELETE, DELETE_CANDIDATE, EXPIRED]
CLIENT_STATUSES = [CLIENT_DELETE_PROHIBITED, CLIENT_HOLD, CLIENT_RENEW_PROHIBITED, CLIENT_TRANSFER_PROHIBITED, CLIENT_UPDATE_PROHIBITED]
SERVER_STATUSES = [SERVER_DELETE_PROHIBITED, SERVER_HOLD, SERVER_RENEW_PROHIBITED, SERVER_TRANSFER_PROHIBITED, SERVER_UPDATE_PROHIBITED, SERVER_MANUAL_INZONE, SERVER_REGISTRANT_CHANGE_PROHIBITED, SERVER_ADMIN_CHANGE_PROHIBITED, SERVER_TECH_CHANGE_PROHIBITED]
validates :value, uniqueness: { scope: :domain_id }
@ -41,23 +43,21 @@ class DomainStatus < ActiveRecord::Base
}
end
def server_status?
SERVER_STATUSES.include?(value)
end
def client_status?
CLIENT_STATUSES.include?(value)
end
class << self
def statuses_for_client
ret = []
STATUSES.each do |x|
next unless x.start_with?('client')
ret << x.sub('client', '')
end
ret
CLIENT_STATUSES.map { |x| x.sub('client', '') }
end
def statuses_for_admin
ret = []
STATUSES.each do |x|
next unless x.start_with?('server')
ret << x.sub('server', '')
end
ret
SERVER_STATUSES.map { |x| x.sub('server', '') }
end
end
end

View file

@ -1,5 +1,5 @@
#domain_statuses
= f.fields_for :domain_statuses do |status_fields|
= f.fields_for :domain_statuses, @server_statuses do |status_fields|
.panel.panel-default
.panel-heading.clearfix
.pull-left= t('shared.status')
@ -15,7 +15,7 @@
.col-md-6
.form-group
= status_fields.label :value
= status_fields.select :value, options_for_select(DomainStatus.statuses_for_admin, status_fields.object.value.sub('server', '')), {include_blank: true}, {class: 'form-control'}
= status_fields.select :value, options_for_select(DomainStatus.statuses_for_admin, status_fields.object.value.try(:sub, 'server', '')), {include_blank: true}, {class: 'form-control'}
.col-md-6
.form-group
= status_fields.label :description

View file

@ -4,6 +4,6 @@
= "#{t('shared.edit_domain')}"
.col-sm-6
%h2.text-right.text-center-xs
= link_to(t('shared.back_to_domain'), [:admin, @domain], class: 'btn btn-default')
= link_to(t('shared.back_to_domain'), [:client, @domain], class: 'btn btn-default')
%hr
= render 'form'

View file

@ -1,5 +1,5 @@
#domain_statuses
= f.fields_for :domain_statuses do |status_fields|
= f.fields_for :domain_statuses, @client_statuses do |status_fields|
.panel.panel-default
.panel-heading.clearfix
.pull-left= t('shared.status')
@ -15,7 +15,7 @@
.col-md-6
.form-group
= status_fields.label :value
= status_fields.select :value, options_for_select(DomainStatus.statuses_for_client, status_fields.object.value.sub('client', '')), {include_blank: true}, {class: 'form-control'}
= status_fields.select :value, options_for_select(DomainStatus.statuses_for_client, status_fields.object.value.try(:sub, 'client', '')), {include_blank: true}, {class: 'form-control'}
.col-md-6
.form-group
= status_fields.label :description