Merge pull request #250 from internetee/registry-240

Registry 240
This commit is contained in:
Timo Võhmar 2016-11-17 12:26:09 +02:00 committed by GitHub
commit 0dcecbcd1f
37 changed files with 240 additions and 60 deletions

View file

@ -101,12 +101,6 @@ class Registrar::SessionsController < Devise::SessionsController
endpoint = "#{ENV['sk_digi_doc_service_endpoint']}" endpoint = "#{ENV['sk_digi_doc_service_endpoint']}"
client = Digidoc::Client.new(endpoint) client = Digidoc::Client.new(endpoint)
if Rails.env.test? && phone == "123"
@user = ApiUser.find_by(identity_code: "14212128025")
sign_in(@user, event: :authentication)
return redirect_to registrar_root_url
end
# country_codes = {'+372' => 'EST'} # country_codes = {'+372' => 'EST'}
phone.gsub!('+372', '') phone.gsub!('+372', '')
response = client.authenticate( response = client.authenticate(

View file

@ -9,7 +9,7 @@
.row .row
.col-md-12 .col-md-12
.form-group .form-group
= f.label t(:registrar) = f.label t(:registrar_name)
= f.select :account_registrar_id_in, Registrar.all.map { |x| [x, x.id] }, {}, class: 'form-control js-combobox', placeholder: t(:choose), multiple: true = f.select :account_registrar_id_in, Registrar.all.map { |x| [x, x.id] }, {}, class: 'form-control js-combobox', placeholder: t(:choose), multiple: true
.row .row
.col-md-6 .col-md-6
@ -56,7 +56,7 @@
%thead %thead
%tr %tr
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'account_registrar_code', t(:registrar)) = sort_link(@q, 'account_registrar_code', t(:registrar_name))
%th{class: 'col-xs-3'} %th{class: 'col-xs-3'}
= sort_link(@q, 'description') = sort_link(@q, 'description')
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}

View file

@ -6,7 +6,7 @@
- field_required = '' - field_required = ''
= form_for([:admin, @api_user], multipart: true, = form_for([:admin, @api_user], multipart: true,
html: {class: 'form-horizontal', autocomplete: 'off'}) do |f| html: {class: 'form-horizontal', autocomplete: 'off'}) do |f|
= render 'shared/full_errors', object: @api_user = render 'shared/full_errors', object: @api_user
@ -32,11 +32,11 @@
.form-group .form-group
.form-group.has-feedback.js-typeahead-container .form-group.has-feedback.js-typeahead-container
.col-md-4.control-label .col-md-4.control-label
= f.label :registrar_typeahead, t(:registrar), class: 'required' = f.label :registrar_typeahead, t(:registrar_name), class: 'required'
.col-md-7 .col-md-7
= f.text_field(:registrar_typeahead, = f.text_field(:registrar_typeahead,
class: 'form-control js-registrar-typeahead typeahead required', class: 'form-control js-registrar-typeahead typeahead required',
placeholder: t(:registrar), autocomplete: 'off') placeholder: t(:registrar_name), autocomplete: 'off')
%span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden %span.glyphicon.glyphicon-ok.form-control-feedback.js-typeahead-ok.hidden
%span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove %span.glyphicon.glyphicon-remove.form-control-feedback.js-typeahead-remove
= f.hidden_field(:registrar_id, class: 'js-registrar-id') = f.hidden_field(:registrar_id, class: 'js-registrar-id')
@ -45,7 +45,7 @@
.col-md-4.control-label .col-md-4.control-label
= f.label :role, class: 'required' = f.label :role, class: 'required'
.col-md-7 .col-md-7
= select_tag 'api_user[roles][]', = select_tag 'api_user[roles][]',
options_for_select(ApiUser::ROLES.map {|x| [t(x), x] }, @api_user.roles.try(:first)), options_for_select(ApiUser::ROLES.map {|x| [t(x), x] }, @api_user.roles.try(:first)),
class: 'form-control selectize' class: 'form-control selectize'
.checkbox .checkbox

View file

@ -11,7 +11,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'username') = sort_link(@q, 'username')
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'registrar_name', t(:registrar)) = sort_link(@q, 'registrar_name', t(:registrar_name))
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'active', t(:active)) = sort_link(@q, 'active', t(:active))
%tbody %tbody

View file

@ -23,7 +23,7 @@
%dt= t(:password) %dt= t(:password)
%dd= @api_user.password %dd= @api_user.password
%dt= t(:registrar) %dt= t(:registrar_name)
%dd= link_to(@api_user.registrar, admin_registrar_path(@api_user.registrar)) %dd= link_to(@api_user.registrar, admin_registrar_path(@api_user.registrar))
%dt= t(:role) %dt= t(:role)

View file

@ -50,7 +50,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= t(:ident) = t(:ident)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= t(:registrar) = t(:registrar_name)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= t(:action) = t(:action)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}

View file

@ -49,7 +49,7 @@
%dd{class: changing_css_class(@version,"updated_at")} %dd{class: changing_css_class(@version,"updated_at")}
= l(contact.updated_at, format: :short) = l(contact.updated_at, format: :short)
%dt= t(:registrar) %dt= t(:registrar_name)
%dd{class: changing_css_class(@version,"registrar_id")} %dd{class: changing_css_class(@version,"registrar_id")}
- if contact.registrar.present? - if contact.registrar.present?
= link_to(contact.registrar, admin_registrar_path(contact.registrar)) = link_to(contact.registrar, admin_registrar_path(contact.registrar))
@ -105,4 +105,4 @@
= l(vs.created_at, format: :short) = l(vs.created_at, format: :short)
= vs.event = vs.event
%span{:style => "padding-left:10px; position: absolute; bottom: 10px;"} %span{:style => "padding-left:10px; position: absolute; bottom: 10px;"}
= paginate @versions, theme: :admin = paginate @versions, theme: :admin

View file

@ -36,7 +36,7 @@
.row .row
.col-md-3 .col-md-3
.form-group .form-group
= f.label t(:registrar) = f.label t(:registrar_name)
= f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control selectize', placeholder: t(:choose) = f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control selectize', placeholder: t(:choose)
.col-md-3 .col-md-3
.form-group .form-group
@ -88,7 +88,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'email', t(:created_at)) = sort_link(@q, 'email', t(:created_at))
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'registrar_name', t(:registrar)) = sort_link(@q, 'registrar_name', t(:registrar_name))
%tbody %tbody
- @contacts.each do |contact| - @contacts.each do |contact|
%tr %tr

View file

@ -16,7 +16,7 @@
%thead %thead
%tr %tr
%th{class: 'col-xs-3'}=custom_sort_link t(:domain_name), :name %th{class: 'col-xs-3'}=custom_sort_link t(:domain_name), :name
%th{class: 'col-xs-3'}=custom_sort_link t(:registrar), :registrar_name %th{class: 'col-xs-3'}=custom_sort_link t(:registrar_name), :registrar_name
%th{class: 'col-xs-3'}=custom_sort_link t(:valid_to), :valid_to %th{class: 'col-xs-3'}=custom_sort_link t(:valid_to), :valid_to
%th{class: 'col-xs-3'}= t(:roles) %th{class: 'col-xs-3'}= t(:roles)
%tbody %tbody
@ -27,4 +27,4 @@
%td= l(x.valid_to, format: :short) %td= l(x.valid_to, format: :short)
%td= x.roles.join(", ") %td= x.roles.join(", ")
= paginate domains, param_name: :domain_page = paginate domains, param_name: :domain_page

View file

@ -39,7 +39,7 @@
by by
= updator_link(@contact) = updator_link(@contact)
%dt= t(:registrar) %dt= t(:registrar_name)
%dd %dd
- if @contact.registrar.present? - if @contact.registrar.present?
= link_to(@contact.registrar, admin_registrar_path(@contact.registrar)) = link_to(@contact.registrar, admin_registrar_path(@contact.registrar))

View file

@ -14,7 +14,7 @@
= f.search_field :registrant, value: params[:q][:registrant], class: 'form-control', placeholder: t(:registrant) = f.search_field :registrant, value: params[:q][:registrant], class: 'form-control', placeholder: t(:registrant)
.col-md-3 .col-md-3
.form-group .form-group
= label_tag t(:registrar) = label_tag t(:registrar_name)
= f.search_field :registrar, value: params[:q][:registrar], class: 'form-control', placeholder: t(:registrant) = f.search_field :registrar, value: params[:q][:registrar], class: 'form-control', placeholder: t(:registrant)
.col-md-3 .col-md-3
.form-group .form-group
@ -48,7 +48,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= t(:registrant) = t(:registrant)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= t(:registrar) = t(:registrar_name)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= t(:action) = t(:action)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}

View file

@ -98,7 +98,7 @@
%br %br
- if domain.registrar - if domain.registrar
%dt= t(:registrar) %dt= t(:registrar_name)
%dd{class: changing_css_class(@version,"registrar_id")} %dd{class: changing_css_class(@version,"registrar_id")}
= link_to admin_registrar_path(domain.registrar), target: "registrar_#{domain.registrar.id}" do = link_to admin_registrar_path(domain.registrar), target: "registrar_#{domain.registrar.id}" do
= domain.registrar.name = domain.registrar.name

View file

@ -23,7 +23,7 @@
.row .row
.col-md-6 .col-md-6
.form-group .form-group
= f.label t(:registrar) = f.label t(:registrar_name)
= f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control selectize', placeholder: t(:choose) = f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control selectize', placeholder: t(:choose)
.col-md-3 .col-md-3
.form-group .form-group
@ -63,7 +63,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'valid_to', t(:valid_to)) = sort_link(@q, 'valid_to', t(:valid_to))
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'registrar_name', t(:registrar)) = sort_link(@q, 'registrar_name', t(:registrar_name))
%tbody %tbody
- @domains.each do |x| - @domains.each do |x|
%tr %tr

View file

@ -9,7 +9,7 @@
%dt= t(:registered_at) %dt= t(:registered_at)
%dd= l(@domain.registered_at) %dd= l(@domain.registered_at)
%dt= t(:registrar) %dt= t(:registrar_name)
%dd= link_to(@domain.registrar, admin_registrar_path(@domain.registrar)) %dd= link_to(@domain.registrar, admin_registrar_path(@domain.registrar))
%dt= t(:authinfo_pw) %dt= t(:authinfo_pw)

View file

@ -16,7 +16,7 @@
%th{class: 'col-xs-2'}= t(:tech) %th{class: 'col-xs-2'}= t(:tech)
%th{class: 'col-xs-2'}= t(:nameservers) %th{class: 'col-xs-2'}= t(:nameservers)
%th{class: 'col-xs-2'}= t(:dnskeys) %th{class: 'col-xs-2'}= t(:dnskeys)
%th{class: 'col-xs-2'}= t(:registrar) %th{class: 'col-xs-2'}= t(:registrar_name)
%tbody %tbody
-#- if @pending_domain.present? -#- if @pending_domain.present?

View file

@ -27,7 +27,7 @@
.col-md-3 .col-md-3
.form-group .form-group
= f.label :registrar = f.label :registrar
= f.search_field :api_user_registrar_cont, class: 'form-control', placeholder: t(:registrar), autocomplete: 'off' = f.search_field :api_user_registrar_cont, class: 'form-control', placeholder: t(:registrar_name), autocomplete: 'off'
.col-md-3 .col-md-3
.form-group .form-group
= f.label t(:created_after) = f.label t(:created_after)
@ -55,7 +55,7 @@
%th{class: 'col-xs-2'}= t(:request_object) %th{class: 'col-xs-2'}= t(:request_object)
%th{class: 'col-xs-2'}= t(:request_successful) %th{class: 'col-xs-2'}= t(:request_successful)
%th{class: 'col-xs-2'}= t(:api_user) %th{class: 'col-xs-2'}= t(:api_user)
%th{class: 'col-xs-2'}= t(:registrar) %th{class: 'col-xs-2'}= t(:registrar_name)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'created_at') = sort_link(@q, 'created_at')
%tbody %tbody

View file

@ -21,7 +21,7 @@
%dt= t(:api_user) %dt= t(:api_user)
%dd= @epp_log.api_user_name %dd= @epp_log.api_user_name
%dt= t(:registrar) %dt= t(:registrar_name)
%dd= @epp_log.api_user_registrar %dd= @epp_log.api_user_registrar
%dt= t(:ip) %dt= t(:ip)

View file

@ -25,7 +25,7 @@
.col-md-3 .col-md-3
.form-group .form-group
= f.label :registrar = f.label :registrar
= f.search_field :api_user_registrar_cont, class: 'form-control', placeholder: t(:registrar), autocomplete: 'off' = f.search_field :api_user_registrar_cont, class: 'form-control', placeholder: t(:registrar_name), autocomplete: 'off'
.col-md-3 .col-md-3
.form-group .form-group
= f.label t(:created_after) = f.label t(:created_after)
@ -52,7 +52,7 @@
%th{class: 'col-xs-2'}= t(:request_method) %th{class: 'col-xs-2'}= t(:request_method)
%th{class: 'col-xs-2'}= t(:response_code) %th{class: 'col-xs-2'}= t(:response_code)
%th{class: 'col-xs-2'}= t(:api_user) %th{class: 'col-xs-2'}= t(:api_user)
%th{class: 'col-xs-2'}= t(:registrar) %th{class: 'col-xs-2'}= t(:registrar_name)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'created_at') = sort_link(@q, 'created_at')
%tbody %tbody

View file

@ -21,7 +21,7 @@
%dt= t(:api_user) %dt= t(:api_user)
%dd= @repp_log.api_user_name %dd= @repp_log.api_user_name
%dt= t(:registrar) %dt= t(:registrar_name)
%dd= @repp_log.api_user_registrar %dd= @repp_log.api_user_registrar
%dt= t(:ip) %dt= t(:ip)

View file

@ -11,7 +11,7 @@
%h3.panel-title= t(:general) %h3.panel-title= t(:general)
.panel-body .panel-body
%dl.dl-horizontal %dl.dl-horizontal
%dt= t(:registrar) %dt= t(:registrar_name)
%dd= link_to(@registrar, [:admin, @registrar]) %dd= link_to(@registrar, [:admin, @registrar])
%dt= t(:ipv4) %dt= t(:ipv4)

View file

@ -16,7 +16,7 @@
%thead %thead
%tr %tr
%th{class: 'col-xs-3'}=custom_sort_link t(:domain_name), :name %th{class: 'col-xs-3'}=custom_sort_link t(:domain_name), :name
%th{class: 'col-xs-3'}=custom_sort_link t(:registrar), :registrar_name %th{class: 'col-xs-3'}=custom_sort_link t(:registrar_name), :registrar_name
%th{class: 'col-xs-3'}=custom_sort_link t(:valid_to), :valid_to %th{class: 'col-xs-3'}=custom_sort_link t(:valid_to), :valid_to
%th{class: 'col-xs-3'}=custom_sort_link t(:roles), :roles %th{class: 'col-xs-3'}=custom_sort_link t(:roles), :roles
%tbody %tbody
@ -27,4 +27,4 @@
%td= l(x.valid_to, format: :short) %td= l(x.valid_to, format: :short)
%td= x.roles.join(", ") %td= x.roles.join(", ")
= paginate domains, param_name: :domain_page = paginate domains, param_name: :domain_page

View file

@ -42,7 +42,7 @@
by by
= @contact.name = @contact.name
%dt= t(:registrar) %dt= t(:registrar_name)
%dd %dd
- if @contact.registrar.present? - if @contact.registrar.present?
= link_to(@contact.registrar, registrant_registrar_path(@contact.registrar)) = link_to(@contact.registrar, registrant_registrar_path(@contact.registrar))

View file

@ -16,7 +16,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
=t(:valid_to) =t(:valid_to)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
=t(:registrar) =t(:registrar_name)
%tbody %tbody
- @domains.result.each do |x| - @domains.result.each do |x|
%tr %tr

View file

@ -61,7 +61,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'valid_to', t(:valid_to)) = sort_link(@q, 'valid_to', t(:valid_to))
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'registrar_name', t(:registrar)) = sort_link(@q, 'registrar_name', t(:registrar_name))
%tbody %tbody
- @domains.each do |x| - @domains.each do |x|
%tr %tr

View file

@ -9,7 +9,7 @@
%dt= t(:registered_at) %dt= t(:registered_at)
%dd= l(@domain.registered_at) %dd= l(@domain.registered_at)
%dt= t(:registrar) %dt= t(:registrar_name)
%dd= link_to(@domain.registrar, registrant_registrar_path(@domain.registrar)) %dd= link_to(@domain.registrar, registrant_registrar_path(@domain.registrar))
%dt= t(:authinfo_pw) %dt= t(:authinfo_pw)

View file

@ -19,7 +19,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
=t(:created_at) =t(:created_at)
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
=t(:registrar) =t(:registrar_name)
%tbody %tbody
- @contacts.each do |contact| - @contacts.each do |contact|
%tr %tr

View file

@ -38,7 +38,7 @@
.row .row
.col-md-3 .col-md-3
.form-group .form-group
= f.label t(:registrar) = f.label t(:registrar_name)
= f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control selectize', placeholder: t(:choose) = f.select :registrar_id_eq, Registrar.all.map { |x| [x, x.id] }, { include_blank: true }, class: 'form-control selectize', placeholder: t(:choose)
.col-md-3 .col-md-3
.form-group .form-group
@ -97,7 +97,7 @@
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'email', t(:created_at)) = sort_link(@q, 'email', t(:created_at))
%th{class: 'col-xs-2'} %th{class: 'col-xs-2'}
= sort_link(@q, 'registrar_name', t(:registrar)) = sort_link(@q, 'registrar_name', t(:registrar_name))
%th{class: 'col-xs-2'}= t(:actions) %th{class: 'col-xs-2'}= t(:actions)
%tbody %tbody
- @contacts.each do |contact| - @contacts.each do |contact|

View file

@ -16,7 +16,7 @@
%thead %thead
%tr %tr
%th{class: 'col-xs-3'}=custom_sort_link t(:domain_name), :name %th{class: 'col-xs-3'}=custom_sort_link t(:domain_name), :name
%th{class: 'col-xs-3'}=custom_sort_link t(:registrar), :registrar_name %th{class: 'col-xs-3'}=custom_sort_link t(:registrar_name), :registrar_name
%th{class: 'col-xs-3'}=custom_sort_link t(:valid_to), :valid_to %th{class: 'col-xs-3'}=custom_sort_link t(:valid_to), :valid_to
%th{class: 'col-xs-3'}= t(:roles) %th{class: 'col-xs-3'}= t(:roles)
%tbody %tbody
@ -27,4 +27,4 @@
%td= l(x.valid_to, format: :short) %td= l(x.valid_to, format: :short)
%td= x.roles.join(", ") %td= x.roles.join(", ")
= paginate domains, param_name: :domain_page = paginate domains, param_name: :domain_page

View file

@ -7,7 +7,7 @@
%dd= @data.css('pw').text.present? ? @data.css('pw').text : t('hidden') %dd= @data.css('pw').text.present? ? @data.css('pw').text : t('hidden')
- if @data.css('pw').text.blank? - if @data.css('pw').text.blank?
%dt= t(:registrar) %dt= t(:registrar_name)
%dd= @data.css('clID').text %dd= @data.css('clID').text
- registrant = Contact.find_by_code(@data.css('registrant').text) - registrant = Contact.find_by_code(@data.css('registrant').text)

View file

@ -8,13 +8,13 @@
- error_class = f.object.errors.any? ? 'has-error' : '' - error_class = f.object.errors.any? ? 'has-error' : ''
%div{class: error_class} %div{class: error_class}
= f.text_field :tag, class: 'form-control', placeholder: t(:username), required: true = f.text_field :tag, class: 'form-control', placeholder: t(:username), required: true
= f.password_field :password, class: 'form-control', = f.password_field :password, class: 'form-control',
autocomplete: 'off', placeholder: t(:password), required: true autocomplete: 'off', placeholder: t(:password), required: true
%button.btn.btn-lg.btn-primary.btn-block{:type => 'submit'}= t(:log_in) %button.btn.btn-lg.btn-primary.btn-block{:type => 'submit'}= t('.login_btn')
%hr %hr
= link_to '/registrar/login/mid' do = link_to '/registrar/login/mid', id: 'login-with-mobile-id-btn' do
= image_tag 'mid.gif' = image_tag 'mid.gif'
= link_to '/registrar/id', method: :post do = link_to '/registrar/id', method: :post do
= image_tag 'id_card.gif' = image_tag 'id_card.gif'

View file

@ -2,11 +2,11 @@
.form-signin.col-md-4.center-block.text-center .form-signin.col-md-4.center-block.text-center
%h2.form-signin-heading.text-center= t(:log_in_with_mid) %h2.form-signin-heading.text-center= t(:log_in_with_mid)
%hr %hr
= form_for @user, url: registrar_mid_path, auto_html5_validation: false, = form_for @user, url: registrar_mid_path, auto_html5_validation: false,
html: {class: 'form-signin'} do |f| html: {class: 'form-signin'} do |f|
= f.text_field :phone, class: 'form-control', = f.text_field :phone, class: 'form-control',
placeholder: t(:phone_no), autocomplete: 'off', required: true placeholder: t(:phone_no), autocomplete: 'off', required: true
%button.btn.btn-lg.btn-primary.btn-block.js-login{:type => 'submit'}= t(:log_in) %button.btn.btn-lg.btn-primary.btn-block.js-login{:type => 'submit'}= t('.login_btn')
- if ['development', 'alpha'].include?(Rails.env) - if ['development', 'alpha'].include?(Rails.env)
%div.text-center %div.text-center

View file

@ -1 +1 @@
Digidoc::Client.logger = Syslog::Logger Digidoc::Client.logger = Rails.application.config.logger

View file

@ -285,7 +285,7 @@ en:
valid_to: 'Valid to' valid_to: 'Valid to'
name: 'Name' name: 'Name'
transfer_can_be_approved_only_by_current_registrar: 'Transfer can be approved only by current domain registrar' transfer_can_be_approved_only_by_current_registrar: 'Transfer can be approved only by current domain registrar'
registrar: 'Registrar' registrar_name: 'Registrar'
owner: 'Registrant' owner: 'Registrant'
domain_details: 'Domain details' domain_details: 'Domain details'
registered_at: 'Registered at' registered_at: 'Registered at'
@ -440,7 +440,6 @@ en:
setting: 'Setting' setting: 'Setting'
registrar: 'Registrar'
transfer_requested: 'Transfer requested.' transfer_requested: 'Transfer requested.'
message_was_not_found: 'Message was not found' message_was_not_found: 'Message was not found'
host_obj_is_not_allowed: 'hostObj object is not allowed' host_obj_is_not_allowed: 'hostObj object is not allowed'
@ -531,7 +530,6 @@ en:
ident_update_error: 'Parameter value policy error. Update of ident data not allowed [ident]' ident_update_error: 'Parameter value policy error. Update of ident data not allowed [ident]'
invoices: 'Invoices' invoices: 'Invoices'
no_such_user: 'No such user' no_such_user: 'No such user'
log_in: 'Log in'
phone_no: 'Phone number' phone_no: 'Phone number'
log_in_with_mid: 'Log in with mobile-id' log_in_with_mid: 'Log in with mobile-id'
confirmation_sms_was_sent_to_your_phone_verification_code_is: 'Confirmation sms was sent to your phone. Verification code is %{code}.' confirmation_sms_was_sent_to_your_phone_verification_code_is: 'Confirmation sms was sent to your phone. Verification code is %{code}.'

View file

@ -0,0 +1,7 @@
en:
registrar:
sessions:
login:
login_btn: Login
login_mid:
login_btn: Login

View file

@ -0,0 +1,21 @@
require 'rails_helper'
RSpec.feature 'Mobile ID login', db: true do
given!(:api_user) { Fabricate(:api_user, identity_code: 1234) }
background do
Setting.registrar_ip_whitelist_enabled = false
digidoc_client = instance_double(Digidoc::Client, authenticate: OpenStruct.new(user_id_code: 1234), session_code: 1234)
allow(Digidoc::Client).to receive(:new).and_return(digidoc_client)
end
scenario 'login with phone number' do
visit registrar_login_path
click_on 'login-with-mobile-id-btn'
fill_in 'user[phone]', with: '1234'
click_button 'Login'
expect(page).to have_text('Confirmation sms was sent to your phone. Verification code is')
end
end

View file

@ -0,0 +1,151 @@
require 'rails_helper'
RSpec.feature 'Sessions', db: true do
context 'with invalid ip' do
it 'should not see login page' do
Setting.registrar_ip_whitelist_enabled = true
WhiteIp.destroy_all
visit registrar_login_path
page.should have_text('Access denied')
end
it 'should see login page when whitelist disabled' do
Setting.registrar_ip_whitelist_enabled = false
WhiteIp.destroy_all
visit registrar_login_path
page.should_not have_text('Access denied')
Setting.registrar_ip_whitelist_enabled = true
end
it 'should see Login' do
@fixed_registrar = Fabricate(:registrar, name: 'fixed registrar', code: 'FIXED')
@fixed_registrar.white_ips = [Fabricate(:white_ip_registrar)]
visit registrar_login_path
page.should have_text('Login')
end
it 'should not get in with invalid ip' do
Fabricate(:registrar, white_ips: [Fabricate(:white_ip), Fabricate(:white_ip_registrar)])
@api_user_invalid_ip = Fabricate(
:api_user, identity_code: '37810013294', registrar: Fabricate(:registrar, white_ips: [])
)
visit registrar_login_path
fill_in 'depp_user_tag', with: @api_user_invalid_ip.username
fill_in 'depp_user_password', with: @api_user_invalid_ip.password
click_button 'Login'
page.should have_text('IP is not whitelisted')
end
end
context 'as unknown user' do
before :example do
Fabricate(:api_user)
end
it 'should not get in' do
client = instance_double("Digidoc::Client")
allow(client).to receive(:authenticate).and_return(
OpenStruct.new(
user_id_code: '123'
)
)
allow(Digidoc::Client).to receive(:new) { client }
visit registrar_login_path
page.should have_css('a[href="/registrar/login/mid"]')
page.find('a[href="/registrar/login/mid"]').click
fill_in 'user_phone', with: '00007'
click_button 'Login'
page.should have_text('No such user')
end
end
context 'as known api user' do
before :example do
Fabricate(:api_user)
end
it 'should not get in when external service fails' do
client = instance_double("Digidoc::Client")
allow(client).to receive(:authenticate).and_return(
OpenStruct.new(
faultcode: 'Fault',
detail: OpenStruct.new(
message: 'Something is wrong'
)
)
)
allow(Digidoc::Client).to receive(:new) { client }
visit registrar_login_path
page.should have_css('a[href="/registrar/login/mid"]')
page.find('a[href="/registrar/login/mid"]').click
fill_in 'user_phone', with: '00007'
click_button 'Login'
page.should have_text('Something is wrong')
end
it 'should not get in when there is a sim error', js: true do
client = instance_double("Digidoc::Client", session_code: '123')
allow(client).to receive('session_code=')
allow(client).to receive(:authenticate).and_return(
OpenStruct.new(
user_id_code: '14212128025'
)
)
allow(client).to receive('authentication_status').and_return(
OpenStruct.new(status: 'SIM_ERROR')
)
allow(Digidoc::Client).to receive(:new) { client }
visit registrar_login_path
page.should have_css('a[href="/registrar/login/mid"]')
page.find('a[href="/registrar/login/mid"]').click
fill_in 'user_phone', with: '00007'
click_button 'Login'
page.should have_text('Confirmation sms was sent to your phone. Verification code is')
page.should have_text('SIM application error')
end
it 'should Login successfully', js: true do
client = instance_double("Digidoc::Client", session_code: '123')
allow(client).to receive('session_code=')
allow(client).to receive(:authenticate).and_return(
OpenStruct.new(
user_id_code: '14212128025'
)
)
allow(client).to receive('authentication_status').and_return(
OpenStruct.new(status: 'USER_AUTHENTICATED')
)
allow(Digidoc::Client).to receive(:new) { client }
visit registrar_login_path
page.should have_css('a[href="/registrar/login/mid"]')
page.find('a[href="/registrar/login/mid"]').click
fill_in 'user_phone', with: '00007'
click_button 'Login'
page.should have_text('Confirmation sms was sent to your phone. Verification code is')
end
end
end

View file

@ -0,0 +1,9 @@
require 'rails_helper'
RSpec.describe Registrar::SessionsController do
describe 'routing' do
it 'routes to #login' do
expect(get: '/registrar/login').to route_to('registrar/sessions#login')
end
end
end