Add badges to locked domains

This commit is contained in:
Maciej Szlosarczyk 2018-08-09 13:57:31 +03:00
parent 7ce092dff2
commit faeeb55bc7
No known key found for this signature in database
GPG key ID: 41D62D42D3B0D765
8 changed files with 80 additions and 7 deletions

View file

@ -0,0 +1,37 @@
module Api
module V1
module Registrant
class RegistryLocksController < BaseController
before_action :set_domain
def create
if @domain.apply_registry_lock
render json: @domain
else
render json: { errors: [{ base: 'Domain cannot be locked' }] },
status: :unprocessable_entity
end
end
def delete
if @domain.remove_registry_lock
render json: @domain
else
render json: { errors: [{ base: 'Domain cannot be unlocked' }] },
status: :unprocessable_entity
end
end
private
def set_domain
@domain = Domain.find_by(uuid: params[:domain_uuid])
return if @domain
render json: { errors: [{ base: ['Domain not found'] }] },
status: :not_found and return
end
end
end
end
end

View file

@ -14,6 +14,11 @@ class DomainPresenter
html += " #{label}" html += " #{label}"
end end
if domain.locked_by_registrant?
label = view.content_tag(:span, 'registryLock', class: 'label label-danger')
html += " #{label}"
end
html.html_safe html.html_safe
end end

View file

@ -1,12 +1,12 @@
<% domain = DomainPresenter.new(domain: @domain, view: self) %> <% domain = DomainPresenter.new(domain: @domain, view: self) %>
<div class="row"> <div class="row">
<div class="col-sm-5"> <div class="col-sm-8">
<h1 class="text-center-xs"> <h1 class="text-center-xs">
Edit: <%= domain.name %> Edit: <%= domain.name_with_status %>
</h1> </h1>
</div> </div>
<div class="col-sm-7 text-right"> <div class="col-sm-4 text-right">
<div class="btn-group"> <div class="btn-group">
<%= link_to t('.back_btn'), [:admin, @domain], class: 'btn btn-default' %> <%= link_to t('.back_btn'), [:admin, @domain], class: 'btn btn-default' %>
</div> </div>

View file

@ -13,7 +13,7 @@
<div class="col-sm-4 text-right"> <div class="col-sm-4 text-right">
<%= link_to t('.edit_btn'), edit_admin_domain_path(@domain), class: 'btn btn-primary' %> <%= link_to t('.edit_btn'), edit_admin_domain_path(@domain), class: 'btn btn-primary' %>
<%= link_to t('.history_btn'), admin_domain_domain_versions_path(@domain), <%= link_to t('.history_btn'), admin_domain_domain_versions_path(@domain),
class: 'btn btn-primary' %> class: 'btn btn-primary' %>
</div> </div>
</div> </div>
</div> </div>

View file

@ -25,7 +25,8 @@ en:
registry_lock_delete: registry_lock_delete:
btn: Remove registry lock btn: Remove registry lock
confirm: Are you sure you want to remove registry lock that was set by registrant? banner: Domain has a registry lock set by registrant.
confirm: Are you sure you want to remove the registry lock?
success: Registry lock removed success: Registry lock removed
error: Registry lock could not be removed error: Registry lock could not be removed

View file

@ -23,7 +23,9 @@ Rails.application.routes.draw do
namespace :registrant do namespace :registrant do
post 'auth/eid', to: 'auth#eid' post 'auth/eid', to: 'auth#eid'
resources :domains, only: [:index] resources :domains, only: [:index], param: :uuid do
resource :registry_lock, only: [:create, :destroy]
end
end end
end end
end end

View file

@ -0,0 +1,28 @@
require 'test_helper'
require 'auth_token/auth_token_creator'
class RegistrantApiDomainRegistryLockTest < ApplicationIntegrationTest
def setup
super
@user = users(:registrant)
@domain = domains(:airport)
@auth_headers = { 'HTTP_AUTHORIZATION' => auth_token }
end
def test_can_lock_a_not_locked_domain
assert(@domain.locked_by_registrant?)
end
def test_cannot_lock_an_already_locked_domain
assert(@domain.locked_by_registrant?)
end
private
def auth_token
token_creator = AuthTokenCreator.create_with_defaults(@user)
hash = token_creator.token_in_hash
"Bearer #{hash[:access_token]}"
end
end

View file

@ -26,7 +26,7 @@ class RegistryLockTest < JavaScriptApplicationSystemTestCase
click_link_or_button('Actions') click_link_or_button('Actions')
assert(page.has_link?('Remove registry lock')) assert(page.has_link?('Remove registry lock'))
accept_confirm('Are you sure you want to remove registry lock that was set by registrant?') do accept_confirm('Are you sure you want to remove registry lock?') do
click_link_or_button('Remove registry lock') click_link_or_button('Remove registry lock')
end end