allow to permanently remove templates

pull/133/head
DocuSeal 2 years ago
parent 8c366dfc38
commit 607fc8d338

@ -57,9 +57,18 @@ class TemplatesController < ApplicationController
end end
def destroy def destroy
@template.update!(deleted_at: Time.current) notice =
if !Docuseal.multitenant? && params[:permanently].present?
@template.destroy!
redirect_back(fallback_location: root_path, notice: 'Template has been archived.') 'Template has been removed.'
else
@template.update!(deleted_at: Time.current)
'Template has been archived.'
end
redirect_back(fallback_location: root_path, notice:)
end end
private private

@ -52,9 +52,9 @@
</a> </a>
</span> </span>
<% end %> <% end %>
<% if !template.deleted_at? && can?(:destroy, template) %> <% if (!template.deleted_at? || !Docuseal.multitenant?) && can?(:destroy, template) %>
<span class="tooltip tooltip-left" data-tip="Archive"> <span class="tooltip tooltip-left" data-tip="<%= template.deleted_at? ? 'Remove' : 'Archive' %>">
<%= button_to template_path(template), data: { turbo_confirm: 'Are you sure?' }, method: :delete, class: 'btn btn-xs hover:btn-outline bg-base-200 btn-circle', aria_label: 'Restore' do %> <%= button_to template_path(template), data: { turbo_confirm: 'Are you sure?' }, params: { permanently: template.deleted_at? }.compact_blank, method: :delete, class: 'btn btn-xs hover:btn-outline bg-base-200 btn-circle', aria_label: 'Restore' do %>
<%= svg_icon('trash', class: 'w-4 h-4 enabled') %> <%= svg_icon('trash', class: 'w-4 h-4 enabled') %>
<%= svg_icon('loader', class: 'w-4 h-4 animate-spin disabled') %> <%= svg_icon('loader', class: 'w-4 h-4 animate-spin disabled') %>
<% end %> <% end %>

Loading…
Cancel
Save