diff --git a/app/controllers/admin/domain_versions_controller.rb b/app/controllers/admin/domain_versions_controller.rb index 8259f5a4b..3af20bfb0 100644 --- a/app/controllers/admin/domain_versions_controller.rb +++ b/app/controllers/admin/domain_versions_controller.rb @@ -10,7 +10,6 @@ class Admin::DomainVersionsController < AdminController frame = Nokogiri::XML(@domain.pending_json['frame']) @pending_user = User.find(@domain.pending_json['current_user_id']) @pending_domain = Epp::Domain.find(@domain.id) - @pending_domain.updated_at = @domain.pending_json['domain']['updated_at'].last @pending_domain.update(frame, @pending_user, false) end end diff --git a/app/controllers/admin/pending_deletes_controller.rb b/app/controllers/admin/pending_deletes_controller.rb new file mode 100644 index 000000000..d885b3a99 --- /dev/null +++ b/app/controllers/admin/pending_deletes_controller.rb @@ -0,0 +1,35 @@ +class Admin::PendingDeletesController < AdminController + before_action :find_domain + before_action :check_status + + def update + authorize! :update, :pending + + @epp_domain = Epp::Domain.find(params[:domain_id]) # only epp domain has apply pending + if @epp_domain.apply_pending_delete! + redirect_to admin_domain_path(@domain.id), notice: t(:pending_applied) + else + redirect_to admin_edit_domain_path(@domain.id), alert: t(:failure) + end + end + + def destroy + authorize! :destroy, :pending + + if @domain.clean_pendings! + redirect_to admin_domain_path(@domain.id), notice: t(:pending_removed) + else + redirect_to admin_domain_path(@domain.id), alert: t(:failure) + end + end + + private + + def find_domain + @domain = Domain.find(params[:domain_id]) + end + + def check_status + return redirect_to admin_domain_path(@domain.id), alert: t(:something_wrong) unless @domain.pending_delete? + end +end diff --git a/app/controllers/admin/pendings_controller.rb b/app/controllers/admin/pending_updates_controller.rb similarity index 77% rename from app/controllers/admin/pendings_controller.rb rename to app/controllers/admin/pending_updates_controller.rb index 389d6385e..960b65ee5 100644 --- a/app/controllers/admin/pendings_controller.rb +++ b/app/controllers/admin/pending_updates_controller.rb @@ -1,4 +1,4 @@ -class Admin::PendingsController < AdminController +class Admin::PendingUpdatesController < AdminController before_action :find_domain before_action :check_status @@ -7,7 +7,7 @@ class Admin::PendingsController < AdminController @epp_domain = Epp::Domain.find(params[:domain_id]) # only epp domain has apply pending if @epp_domain.apply_pending_update! - redirect_to admin_domain_path(@domain.id), notice: t(:successfully_updated) + redirect_to admin_domain_path(@domain.id), notice: t(:pending_applied) else redirect_to admin_edit_domain_path(@domain.id), alert: t(:failure) end @@ -17,7 +17,7 @@ class Admin::PendingsController < AdminController authorize! :destroy, :pending if @domain.clean_pendings! - redirect_to admin_domain_path(@domain.id), notice: t(:successfully_destroyed) + redirect_to admin_domain_path(@domain.id), notice: t(:pending_removed) else redirect_to admin_domain_path(@domain.id), alert: t(:failure) end diff --git a/app/views/admin/domain_versions/_version.haml b/app/views/admin/domain_versions/_version.haml index bbc8b1e1d..4c40d5566 100644 --- a/app/views/admin/domain_versions/_version.haml +++ b/app/views/admin/domain_versions/_version.haml @@ -31,14 +31,6 @@ %br = creator - %td - %p - = "#{domain.period}#{domain.period_unit}" - %br - = "#{l(domain.valid_from, format: :date)}" - %br - = "#{l(domain.valid_to, format: :date)}" - %td %p - domain.statuses.each do |s| @@ -52,6 +44,14 @@ %p = link_to t(:pending_epp), '#', class: 'js-pending-toggle' + %td + %p + = "#{domain.period}#{domain.period_unit}" + %br + = "#{l(domain.valid_from, format: :date)}" + %br + = "#{l(domain.valid_to, format: :date)}" + %td - registrant.each do |r| %p diff --git a/app/views/admin/domain_versions/index.haml b/app/views/admin/domain_versions/index.haml index b4b735a4e..d948d53df 100644 --- a/app/views/admin/domain_versions/index.haml +++ b/app/views/admin/domain_versions/index.haml @@ -9,8 +9,8 @@ %thead %tr %th{class: 'col-xs-1'}= t(:timestap) - %th{class: 'col-xs-1'}= t(:period) %th{class: 'col-xs-2'}= t(:statuses) + %th{class: 'col-xs-1'}= t(:period) %th{class: 'col-xs-2'}= t(:registrant) %th{class: 'col-xs-2'}= t(:admin) %th{class: 'col-xs-2'}= t(:tech) diff --git a/app/views/admin/domain_versions/oldindex.haml b/app/views/admin/domain_versions/oldindex.haml deleted file mode 100644 index 15a57d0f7..000000000 --- a/app/views/admin/domain_versions/oldindex.haml +++ /dev/null @@ -1,28 +0,0 @@ --# .row - -# .col-sm-12 - -# %h2.text-center-xs= t(:domains) --# %hr --# .row - -# .col-md-12 - -# .table-responsive - -# %table.table.table-hover.table-bordered.table-condensed - -# %thead - -# %tr - -# %th{class: 'col-xs-1'} - -# = t(:name) - -# %th{class: 'col-xs-1'} - -# = sort_link(@q, 'whodunnit') - -# %th{class: 'col-xs-1'} - -# = sort_link(@q, 'created_at') - - -# %tbody - -# - @domains.each do |domain| - -# - obj = domain.reify - -# %tr - -# %td= link_to(obj.name, admin_domain_version_path(obj)) - -# %td= whodunnit_with_protocol(domain.whodunnit) unless domain.whodunnit.nil? - -# %td= l(obj.created_at, format: :short) - --# .row - -# .col-md-12 - -# = paginate @domains diff --git a/app/views/admin/domains/form/_pending_delete.haml b/app/views/admin/domains/form/_pending_delete.haml new file mode 100644 index 000000000..6924a2b30 --- /dev/null +++ b/app/views/admin/domains/form/_pending_delete.haml @@ -0,0 +1,8 @@ +- if (status == DomainStatus::PENDING_DELETE && f.object.pending_json.present?) + = link_to(t(:apply_pending), admin_domain_pending_delete_path(f.object.id, f.object.id), + method: :patch, data: { confirm: t(:are_you_sure) }, + class: 'btn btn-danger btn-xs') + + = link_to(t(:delete_pending), admin_domain_pending_delete_path(f.object.id, f.object.id), + method: :delete, data: { confirm: t(:are_you_sure) }, + class: 'btn btn-danger btn-xs') diff --git a/app/views/admin/domains/form/_pending_update.haml b/app/views/admin/domains/form/_pending_update.haml index be7b17821..32f8b2882 100644 --- a/app/views/admin/domains/form/_pending_update.haml +++ b/app/views/admin/domains/form/_pending_update.haml @@ -1,8 +1,8 @@ - if (status == DomainStatus::PENDING_UPDATE && f.object.pending_json.present?) - = link_to(t(:apply_pending), admin_domain_pending_path(f.object.id, f.object.id), + = link_to(t(:apply_pending), admin_domain_pending_update_path(f.object.id, f.object.id), method: :patch, data: { confirm: t(:are_you_sure) }, class: 'btn btn-danger btn-xs') - = link_to(t(:delete_pending), admin_domain_pending_path(f.object.id, f.object.id), + = link_to(t(:delete_pending), admin_domain_pending_update_path(f.object.id, f.object.id), method: :delete, data: { confirm: t(:are_you_sure) }, class: 'btn btn-danger btn-xs') diff --git a/app/views/admin/shared/form/_statuses.haml b/app/views/admin/shared/form/_statuses.haml index 49259eaa7..697abad44 100644 --- a/app/views/admin/shared/form/_statuses.haml +++ b/app/views/admin/shared/form/_statuses.haml @@ -10,6 +10,7 @@ .pull-right - if model == 'domain' = render 'admin/domains/form/pending_update', f: f, status: s + = render 'admin/domains/form/pending_delete', f: f, status: s = link_to(t(:delete), '#', class: 'btn btn-danger btn-xs js-destroy-status', style: delete_style) .panel-body .form-group diff --git a/config/locales/en.yml b/config/locales/en.yml index d0353e34e..8052ce0aa 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -655,8 +655,8 @@ en: general: General id_card: 'ID Card' m_id: 'M-ID' - successfully_destroyed: It was successfully deleted. - successfully_updated: It was successfully updated. + pending_removed: Pending was successfully removed. + pending_applied: Pending was successfully applied. something_wrong: Not success, something went wrong! failure: Not success not_found: Not found diff --git a/config/routes.rb b/config/routes.rb index 550e0d36f..feffb2665 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -184,7 +184,8 @@ Rails.application.routes.draw do resources :domains do resources :domain_versions - resources :pendings + resources :pending_updates + resources :pending_deletes member do post 'set_force_delete' post 'unset_force_delete'