Updated domain status view for pending #2785

This commit is contained in:
Priit Tark 2015-08-11 00:04:36 +03:00
parent e988bb6a20
commit 17eec8e298
5 changed files with 41 additions and 20 deletions

View file

@ -83,7 +83,7 @@ class Admin::DomainsController < AdminController
def domain_params def domain_params
if params[:domain] if params[:domain]
params.require(:domain).permit({ statuses: [] }) params.require(:domain).permit({ statuses: [], status_notes_array: [] })
else else
{ statuses: [] } { statuses: [] }
end end

View file

@ -681,5 +681,13 @@ class Domain < ActiveRecord::Base
def update_whois_record def update_whois_record
whois_record.blank? ? create_whois_record : whois_record.save whois_record.blank? ? create_whois_record : whois_record.save
end end
def status_notes_array=(notes)
self.status_notes = {}
notes ||= []
statuses.each_with_index do |status, i|
status_notes[status] = notes[i]
end
end
end end
# rubocop: enable Metrics/ClassLength # rubocop: enable Metrics/ClassLength

View file

@ -1,4 +1,5 @@
- content_for :actions do - content_for :actions do
= link_to(t(:add_new_status), '#', class: 'btn btn-primary js-add-status')
= link_to(t(:back_to_domain), [:admin, @domain], class: 'btn btn-default') = link_to(t(:back_to_domain), [:admin, @domain], class: 'btn btn-default')
= render 'shared/title', name: "#{t(:edit)}: #{@domain.name}" = render 'shared/title', name: "#{t(:edit)}: #{@domain.name}"

View file

@ -1,29 +1,41 @@
#domain-statuses #js-statuses
- @server_statuses.each do |x| - f.object.statuses.each do |s|
- disabled = !DomainStatus::SERVER_STATUSES.include?(s)
- disabled_style = disabled ? 'display: none' : ''
- delete_style = [DomainStatus::OK].include?(s) ? 'display: none' : ''
.panel.panel-default .panel.panel-default
.panel-heading.clearfix .panel-heading.clearfix
.pull-left= t(:status) .pull-left= t(:status)
.pull-right .pull-right
= link_to(t(:add_another), '#', class: 'btn btn-primary btn-xs add-domain-status') = link_to(t(:delete), '#', class: 'btn btn-danger btn-xs js-destroy-status', style: delete_style)
= link_to(t(:delete), '#', class: 'btn btn-danger btn-xs destroy-status')
.panel-body .panel-body
.form-group .form-group
= f.label 'status', class: 'col-md-2 control-label' = f.label 'status', class: 'col-md-2 control-label'
.col-md-10 .col-md-10
= select_tag 'domain[statuses][]', options_for_select(DomainStatus.statuses_for_admin, x), include_blank: true, class: 'form-control' .js-select{style: disabled_style}
= select_tag 'domain[statuses][]',
options_for_select(DomainStatus.statuses_for_admin, s),
include_blank: true, class: "form-control"
- if disabled
.disabled-value.js-disabled-value
= s
= hidden_field_tag 'domain[statuses][]', s, readonly: true
.form-group .form-group
= label_tag t(:description), nil, class: 'col-md-2 control-label' = label_tag t(:notes), nil, class: 'col-md-2 control-label'
.col-md-10 .col-md-10
= text_field_tag :description, nil, class: 'form-control', autocomplete: 'off' - value = f.object.new_record? ? '' : f.object.status_notes[s]
- @other_statuses.each do |x| = text_field_tag 'domain[status_notes_array][]', value, class: 'form-control'
= hidden_field_tag 'domain[statuses][]', x, readonly: true
:coffee
$("#domain-statuses").nestedAttributes
bindAddTo: $(".add-domain-status")
$('.destroy-status').on 'click', (e) -> :coffee
$("#js-statuses").nestedAttributes
bindAddTo: $(".js-add-status")
afterAdd: (el) ->
if el.find('.js-disabled-value')
el.find('.js-disabled-value').remove()
el.find('.js-select').show()
el.find('.js-destroy-status').show()
$(document).on 'click', '.js-destroy-status', (e) ->
e.preventDefault() e.preventDefault()
if $('.panel').length > 1 $(this).parents('.panel').remove()
$(this).parents('.panel').remove()
else
$(this).parents('.panel').find('select').val('')

View file

@ -6,7 +6,7 @@
%thead %thead
%tr %tr
%th{class: 'col-xs-6'}= t(:status) %th{class: 'col-xs-6'}= t(:status)
%th{class: 'col-xs-6'}= t(:description) %th{class: 'col-xs-6'}= t(:notes)
%tbody %tbody
- @domain.statuses.each do |status| - @domain.statuses.each do |status|
%tr %tr
@ -15,4 +15,4 @@
= link_to status, admin_domain_domain_versions_path(@domain.id) = link_to status, admin_domain_domain_versions_path(@domain.id)
- else - else
= status = status
%td %td= @domain.status_notes[status]