diff --git a/app/controllers/alchemy/admin/pages_controller.rb b/app/controllers/alchemy/admin/pages_controller.rb index cdd82d700d..ae0e7e59d1 100644 --- a/app/controllers/alchemy/admin/pages_controller.rb +++ b/app/controllers/alchemy/admin/pages_controller.rb @@ -192,15 +192,6 @@ def unlock end end - def visit - @page.unlock! - redirect_to show_page_url( - urlname: @page.urlname, - locale: prefix_locale? ? @page.language_code : nil, - host: @page.site.host == "*" ? request.host : @page.site.host, - ) - end - # Sets the page public and updates the published_at attribute that is used as cache_key # def publish diff --git a/app/views/alchemy/admin/pages/edit.html.erb b/app/views/alchemy/admin/pages/edit.html.erb index 1d952da8b3..0050d94385 100644 --- a/app/views/alchemy/admin/pages/edit.html.erb +++ b/app/views/alchemy/admin/pages/edit.html.erb @@ -74,17 +74,26 @@ <% unless @page.layoutpage? %>
- <%= form_tag alchemy.visit_admin_page_path(@page), id: 'visit_page_form' do %> - <%= button_tag class: 'icon_button', disabled: !@page.public? do %> + <% if @page.public? %> + <%= link_to show_page_url( + urlname: @page.urlname, + locale: prefix_locale? ? @page.language_code : nil, + host: @page.site.host == "*" ? request.host : @page.site.host, + ), + title: Alchemy.t("Visit page"), + data: { turbolinks: false }, + target: "_blank", + class: 'icon_button' do %> <%= render_icon('external-link-alt') %> <% end %> - + + <% else %> + <%= content_tag "a", + title: Alchemy.t(:cannot_visit_unpublic_page), + class: 'disabled icon_button' do %> + <%= render_icon('external-link-alt') %> + <% end %> + <% end %>
<% end %> @@ -140,7 +149,7 @@