mirror of
https://github.com/internetee/registry.git
synced 2025-05-18 18:29:40 +02:00
Updated domain status view for pending #2785
This commit is contained in:
parent
e988bb6a20
commit
17eec8e298
5 changed files with 41 additions and 20 deletions
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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}"
|
||||||
|
|
||||||
|
|
|
@ -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('')
|
|
||||||
|
|
|
@ -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]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue