From 91bc1ab23d8c0c7fed3302a5a0ed12accd6bc05a Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Mon, 3 Apr 2017 18:16:56 +0300 Subject: [PATCH 1/4] Remove jQuery validation from registrar area Since it doesn't support "accept" attribute with comma-separated extensions #432 --- app/assets/javascripts/registrar/application.coffee | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/assets/javascripts/registrar/application.coffee b/app/assets/javascripts/registrar/application.coffee index a1a2084fe..f1b92f0f1 100644 --- a/app/assets/javascripts/registrar/application.coffee +++ b/app/assets/javascripts/registrar/application.coffee @@ -1,8 +1,4 @@ $(document).on 'page:change', -> - # client side validate all forms - $('form').each -> - $(this).validate() - $('.js-contact-form').on 'restoreDefault', (e) -> form = $(e.target) form.find('.js-ident-tip').hide() From e72c00850b58ff0a4a4a02e62b343cbeb0681511 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 4 Apr 2017 14:57:00 +0300 Subject: [PATCH 2/4] Supplement registrar specs --- spec/requests/admin/registrars/create_spec.rb | 10 ++++++++++ spec/requests/admin/registrars/update_spec.rb | 18 ++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/spec/requests/admin/registrars/create_spec.rb b/spec/requests/admin/registrars/create_spec.rb index e144b19f8..e66fb0765 100644 --- a/spec/requests/admin/registrars/create_spec.rb +++ b/spec/requests/admin/registrars/create_spec.rb @@ -17,6 +17,16 @@ RSpec.describe 'admin registrar create' do expect(registrar.website).to eq('test') end + it 'saves email' do + post admin_registrars_path, { registrar: attributes_for(:registrar, email: 'test@test.com') } + expect(registrar.email).to eq('test@test.com') + end + + it 'saves billing email' do + post admin_registrars_path, { registrar: attributes_for(:registrar, billing_email: 'test@test.com') } + expect(registrar.billing_email).to eq('test@test.com') + end + it 'redirects to :show' do post admin_registrars_path, { registrar: attributes_for(:registrar) } expect(response).to redirect_to admin_registrar_path(registrar) diff --git a/spec/requests/admin/registrars/update_spec.rb b/spec/requests/admin/registrars/update_spec.rb index fc99bccd0..7bffb99d0 100644 --- a/spec/requests/admin/registrars/update_spec.rb +++ b/spec/requests/admin/registrars/update_spec.rb @@ -14,6 +14,24 @@ RSpec.describe 'admin registrar update' do expect(registrar.website).to eq('new-website') end + it 'updates email' do + registrar = create(:registrar, email: 'test@test.com') + + patch admin_registrar_path(registrar), registrar: attributes_for(:registrar, email: 'new-test@test.com') + registrar.reload + + expect(registrar.email).to eq('new-test@test.com') + end + + it 'updates billing email' do + registrar = create(:registrar, billing_email: 'test@test.com') + + patch admin_registrar_path(registrar), registrar: attributes_for(:registrar, billing_email: 'new-test@test.com') + registrar.reload + + expect(registrar.billing_email).to eq('new-test@test.com') + end + it 'redirects to :show' do registrar = create(:registrar) From 2c67ed967332353a0848481a7ab33380b5fe80c4 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 4 Apr 2017 14:58:20 +0300 Subject: [PATCH 3/4] Use native HTML email validation instead of "jquery validate" --- .../javascripts/shared/jquery.validate.bootstrap.coffee | 4 ---- app/views/admin/admin_users/_form.haml | 2 +- app/views/admin/mail_templates/_form.haml | 6 +++--- app/views/admin/registrars/_form.haml | 4 ++-- app/views/registrar/contacts/form/_general.haml | 2 +- 5 files changed, 7 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/shared/jquery.validate.bootstrap.coffee b/app/assets/javascripts/shared/jquery.validate.bootstrap.coffee index 698eb9706..41b63748c 100644 --- a/app/assets/javascripts/shared/jquery.validate.bootstrap.coffee +++ b/app/assets/javascripts/shared/jquery.validate.bootstrap.coffee @@ -17,7 +17,3 @@ $.validator.setDefaults else error.insertAfter element return - -jQuery.validator.addMethod 'lax_email', ((value, element) -> - @optional(element) or (value.match(new RegExp("@", "g")) || []).length == 1 -), 'Please enter a valid email address.' diff --git a/app/views/admin/admin_users/_form.haml b/app/views/admin/admin_users/_form.haml index 0904ea99f..512cddde8 100644 --- a/app/views/admin/admin_users/_form.haml +++ b/app/views/admin/admin_users/_form.haml @@ -38,7 +38,7 @@ .col-md-4.control-label = f.label :email .col-md-8 - = f.text_field(:email, class: 'form-control', lax_email: true) + = f.email_field :email, class: 'form-control' .form-group .col-md-4.control-label = f.label :country_code, t(:country) diff --git a/app/views/admin/mail_templates/_form.haml b/app/views/admin/mail_templates/_form.haml index 6e9d828c5..739cce665 100644 --- a/app/views/admin/mail_templates/_form.haml +++ b/app/views/admin/mail_templates/_form.haml @@ -24,17 +24,17 @@ .col-md-4.control-label = f.label :from .col-md-7 - = f.text_field(:from, class: 'form-control', lax_email: true) + = f.email_field :from, class: 'form-control' .form-group .col-md-4.control-label = f.label :cc .col-md-7 - = f.text_field(:cc, class: 'form-control', lax_email: true) + = f.email_field :cc, class: 'form-control' .form-group .col-md-4.control-label = f.label :bcc .col-md-7 - = f.text_field(:bcc, class: 'form-control', lax_email: true) + = f.email_field :bcc, class: 'form-control' .form-group .col-md-12 = f.label :body, t(:html_body) diff --git a/app/views/admin/registrars/_form.haml b/app/views/admin/registrars/_form.haml index d62a375f8..abf440921 100644 --- a/app/views/admin/registrars/_form.haml +++ b/app/views/admin/registrars/_form.haml @@ -36,12 +36,12 @@ .col-md-4.control-label = f.label :email .col-md-7 - = f.text_field(:email, class: 'form-control', lax_email: true) + = f.email_field :email, class: 'form-control' .form-group .col-md-4.control-label = f.label :billing_email .col-md-7 - = f.text_field(:billing_email, class: 'form-control', lax_email: true) + = f.email_field :billing_email, class: 'form-control' .row .col-md-8 diff --git a/app/views/registrar/contacts/form/_general.haml b/app/views/registrar/contacts/form/_general.haml index a6ecbb500..b8ff90965 100644 --- a/app/views/registrar/contacts/form/_general.haml +++ b/app/views/registrar/contacts/form/_general.haml @@ -61,7 +61,7 @@ .col-md-3.control-label = f.label :email, t(:email) + '*' .col-md-7 - = f.text_field :email, class: 'form-control', required: true, lax_email: true + = f.email_field :email, class: 'form-control', required: true .form-group .col-md-3.control-label From d62a4e8530f3d3039a5e5ee3898d7d96782eb928 Mon Sep 17 00:00:00 2001 From: Artur Beljajev Date: Tue, 4 Apr 2017 15:15:33 +0300 Subject: [PATCH 4/4] Remove "jquery validate" from registrar area #432 --- app/assets/javascripts/registrar-manifest.coffee | 3 --- 1 file changed, 3 deletions(-) diff --git a/app/assets/javascripts/registrar-manifest.coffee b/app/assets/javascripts/registrar-manifest.coffee index 29b950fb4..86b7b4060 100644 --- a/app/assets/javascripts/registrar-manifest.coffee +++ b/app/assets/javascripts/registrar-manifest.coffee @@ -1,12 +1,9 @@ #= require jquery #= require jquery_ujs -#= require jquery.validate -#= require jquery.validate.additional-methods #= require turbolinks #= require bootstrap-sprockets #= require typeahead.bundle.min #= require jquery.nested_attributes -#= require shared/jquery.validate.bootstrap #= require jquery-ui/datepicker #= require select2