mirror of
https://github.com/internetee/registry.git
synced 2025-08-06 09:45:11 +02:00
Nested form for domain
This commit is contained in:
parent
d6543f2148
commit
4fef7e94c8
8 changed files with 382 additions and 26 deletions
|
@ -7,30 +7,33 @@
|
|||
%hr
|
||||
|
||||
.row
|
||||
.col-md-6
|
||||
.form-group
|
||||
= f.label :name
|
||||
= f.text_field(:name, class: 'form-control')
|
||||
.form-group
|
||||
= f.label :period
|
||||
.row
|
||||
.col-md-6
|
||||
= f.text_field(:period, class: 'form-control')
|
||||
.col-md-6
|
||||
= f.select :period_unit, options_for_select(['y', 'm', 'd'], @domain.period_unit), {}, {class: 'form-control'}
|
||||
.col-md-6
|
||||
.form-group.has-feedback
|
||||
= f.label :registrar
|
||||
= text_field_tag(:domain_registrar, params[:registrar], class: 'form-control js-registrar-typeahead', placeholder: t('shared.registrar_name'), autocomplete: 'off')
|
||||
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
|
||||
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
|
||||
= f.hidden_field(:registrar_id, class: 'js-registrar-id')
|
||||
.form-group.has-feedback
|
||||
= f.label :owner_contact
|
||||
= text_field_tag(:domain_owner_contact, params[:domain_owner_contact], class: 'form-control js-contact-typeahead', placeholder: t('shared.contact_code'), autocomplete: 'off')
|
||||
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
|
||||
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
|
||||
= f.hidden_field(:owner_contact_id, class: 'js-contact-id')
|
||||
.col-md-12
|
||||
/ Nav tabs
|
||||
%ul.nav.nav-tabs{:role => "tablist", id: 'tabs'}
|
||||
%li.active
|
||||
%a{"data-toggle" => "tab", :href => "#general-tab", :role => "tab"} general-tab
|
||||
%li
|
||||
%a{"data-toggle" => "tab", :href => "#nameservers-tab", :role => "tab"} nameservers-tab
|
||||
%li
|
||||
%a{"data-toggle" => "tab", :href => "#tech-contacts-tab", :role => "tab"} tech-contacts-tab
|
||||
%li
|
||||
%a{"data-toggle" => "tab", :href => "#admin-contacts", :role => "tab"} admin-contacts-tab
|
||||
%li
|
||||
%a{"data-toggle" => "tab", :href => "#statuses-tab", :role => "tab"} statuses-tab
|
||||
/ Tab panes
|
||||
.tab-content{style:'margin-top: 20px;'}
|
||||
#general-tab.tab-pane.active
|
||||
= render 'admin/domains/form_partials/general', f: f
|
||||
#nameservers-tab.tab-pane
|
||||
= render 'admin/domains/form_partials/nameservers', f: f
|
||||
#tech-contacts-tab.tab-pane
|
||||
#admin-contacts-tab.tab-pane ...
|
||||
#statuses-tab.tab-pane ...
|
||||
.row
|
||||
.col-md-12.text-right
|
||||
= button_tag(t('shared.save'), class: 'btn btn-primary')
|
||||
|
||||
:javascript
|
||||
$(function () {
|
||||
$('#tabs a:first').tab('show')
|
||||
})
|
||||
|
|
25
app/views/admin/domains/form_partials/_general.haml
Normal file
25
app/views/admin/domains/form_partials/_general.haml
Normal file
|
@ -0,0 +1,25 @@
|
|||
.row
|
||||
.col-md-6
|
||||
.form-group
|
||||
= f.label :name
|
||||
= f.text_field(:name, class: 'form-control')
|
||||
.form-group
|
||||
= f.label :period
|
||||
.row
|
||||
.col-md-6
|
||||
= f.text_field(:period, class: 'form-control')
|
||||
.col-md-6
|
||||
= f.select :period_unit, options_for_select(['y', 'm', 'd'], @domain.period_unit), {}, {class: 'form-control'}
|
||||
.col-md-6
|
||||
.form-group.has-feedback
|
||||
= f.label :registrar
|
||||
= text_field_tag(:domain_registrar, params[:registrar], class: 'form-control js-registrar-typeahead', placeholder: t('shared.registrar_name'), autocomplete: 'off')
|
||||
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
|
||||
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
|
||||
= f.hidden_field(:registrar_id, class: 'js-registrar-id')
|
||||
.form-group.has-feedback
|
||||
= f.label :owner_contact
|
||||
= text_field_tag(:domain_owner_contact, params[:domain_owner_contact], class: 'form-control js-contact-typeahead', placeholder: t('shared.contact_code'), autocomplete: 'off')
|
||||
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
|
||||
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
|
||||
= f.hidden_field(:owner_contact_id, class: 'js-contact-id')
|
30
app/views/admin/domains/form_partials/_nameservers.haml
Normal file
30
app/views/admin/domains/form_partials/_nameservers.haml
Normal file
|
@ -0,0 +1,30 @@
|
|||
#nameservers
|
||||
= f.fields_for :nameservers do |ns_fields|
|
||||
.panel.panel-default
|
||||
.panel-heading.text-right
|
||||
= link_to(t('shared.add_another'), '#', class: 'btn btn-primary btn-xs add-nameserver')
|
||||
= link_to(t('shared.delete'), '#', class: 'btn btn-danger btn-xs destroy')
|
||||
.panel-body
|
||||
.errors
|
||||
= render 'admin/shared/errors', object: ns_fields.object
|
||||
.row
|
||||
.col-md-12
|
||||
.form-group
|
||||
= ns_fields.label :hostname
|
||||
= ns_fields.text_field :hostname, class: 'form-control'
|
||||
.row
|
||||
.col-md-6
|
||||
.form-group
|
||||
= ns_fields.label :ipv4
|
||||
= ns_fields.text_field :ipv4, class: 'form-control'
|
||||
.col-md-6
|
||||
.form-group
|
||||
= ns_fields.label :ipv6
|
||||
= ns_fields.text_field :ipv6, class: 'form-control'
|
||||
:javascript
|
||||
$("#nameservers").nestedAttributes({
|
||||
bindAddTo: $(".add-nameserver"),
|
||||
afterAdd: function(item) {
|
||||
item.find('.errors').html('');
|
||||
}
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue