Domain create action

This commit is contained in:
Martin Lensment 2014-09-09 15:22:05 +03:00
parent 1c165cd1e4
commit e9e1e057f5
4 changed files with 30 additions and 11 deletions

View file

@ -1,5 +1,6 @@
class @Autocomplete
@bindTypeahead: (obj) ->
Autocomplete.toggleOkFeedback(obj.hiddenSelector)
$(obj.selector).typeahead(
highlight: true,
hint: false
@ -8,12 +9,7 @@ class @Autocomplete
source: Autocomplete.constructSourceAdapter(obj.remote)
).on('typeahead:selected', (e, item) ->
$(obj.hiddenSelector).val item.id
ok = $(obj.hiddenSelector).parent('div.has-feedback').find('.js-typeahead-ok')
remove = $(obj.hiddenSelector).parents('div.has-feedback').find('.js-typeahead-remove')
ok.removeClass('hidden')
remove.addClass('hidden')
Autocomplete.toggleOkFeedback(obj.hiddenSelector)
)
@constructSourceAdapter: (remote) ->
@ -27,3 +23,11 @@ class @Autocomplete
source.initialize()
source.ttAdapter()
@toggleOkFeedback: (hiddenSelector) ->
if $(hiddenSelector).val()
ok = $(hiddenSelector).parent('div.has-feedback').find('.js-typeahead-ok')
remove = $(hiddenSelector).parents('div.has-feedback').find('.js-typeahead-remove')
ok.removeClass('hidden')
remove.addClass('hidden')

View file

@ -6,6 +6,13 @@ class Admin::DomainsController < ApplicationController
end
def create
@domain = Domain.new(domain_params)
if @domain.save
redirect_to [:admin, @domain]
else
render 'new'
end
end
def index
@ -20,6 +27,6 @@ class Admin::DomainsController < ApplicationController
end
def domain_params
params.require(:domain).permit(:name, :period, :registrar, :owner_contact)
params.require(:domain).permit(:name, :period, :registrar_id, :owner_contact_id)
end
end

View file

@ -1,6 +1,13 @@
%h2= t('shared.new_domain')
%hr
= form_for([:admin, @domain]) do |f|
- if @domain.errors.any?
- @domain.errors.full_messages.each do |x|
= x
%br
.row
.col-md-6
.form-group
@ -12,16 +19,16 @@
.col-md-6
.form-group.has-feedback
= f.label :registrar
= f.text_field(:registrar, class: 'form-control js-registrar-typeahead', placeholder: t('shared.registrar_name'), autocomplete: 'off')
= text_field_tag(: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
= f.text_field(:owner_contact, class: 'form-control js-contact-typeahead', placeholder: t('shared.contact_code'), autocomplete: 'off')
= text_field_tag(:owner_contact, params[: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, class: 'js-contact-id')
= f.hidden_field(:owner_contact_id, class: 'js-contact-id')
.row
.col-md-12.text-right
= button_tag(t('shared.save'), class: 'btn btn-primary')

View file

@ -80,7 +80,7 @@ en:
admin_contacts:
out_of_range: 'Admin contacts count must be between 1 - infinity'
nameservers:
out_of_range: 'Nameservers count must be between %{min}-%{max}'
out_of_range: 'count must be between %{min}-%{max}'
not_found: 'Nameserver was not found'
taken: 'Nameserver already exists on this domain'
period:
@ -112,6 +112,7 @@ en:
name_dirty: 'Domain name'
name_puny: 'Domain name'
owner_contact: 'Registrant'
nameservers: 'Nameservers'
errors:
messages: