v1.43.18 - Hard delete de templates recorrentes
This commit is contained in:
parent
91478d5026
commit
777fb32626
10
CHANGELOG.md
10
CHANGELOG.md
@ -5,6 +5,16 @@ O formato segue [Keep a Changelog](https://keepachangelog.com/pt-BR/).
|
||||
Este projeto adota [Versionamento Semântico](https://semver.org/pt-BR/).
|
||||
|
||||
|
||||
## [1.43.18] - 2025-12-16
|
||||
|
||||
### Changed
|
||||
- **Hard Delete de Templates Recorrentes**
|
||||
- Exclusão agora remove permanentemente template e TODAS as instâncias do banco de dados
|
||||
- Backend: `forceDelete()` em vez de soft delete ou desativação
|
||||
- Remove todas as instâncias (futuras, pagas, canceladas, etc.)
|
||||
- Modal de confirmação atualizado com avisos claros sobre exclusão permanente
|
||||
- Ação irreversível - dados não podem ser recuperados
|
||||
|
||||
## [1.43.17] - 2025-12-16
|
||||
|
||||
### Changed
|
||||
|
||||
@ -179,22 +179,20 @@ public function update(Request $request, RecurringTemplate $recurringTemplate):
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove um template e suas instâncias pendentes
|
||||
* Remove permanentemente um template e TODAS as suas instâncias (hard delete)
|
||||
*/
|
||||
public function destroy(RecurringTemplate $recurringTemplate): JsonResponse
|
||||
{
|
||||
$this->authorize('delete', $recurringTemplate);
|
||||
|
||||
// Remover instâncias pendentes (manter as pagas para histórico)
|
||||
$recurringTemplate->instances()
|
||||
->where('status', RecurringInstance::STATUS_PENDING)
|
||||
->delete();
|
||||
// HARD DELETE: Remover TODAS as instâncias (pagas, pendentes, canceladas, etc)
|
||||
$recurringTemplate->instances()->forceDelete();
|
||||
|
||||
// Desativar o template em vez de deletar (soft delete)
|
||||
$recurringTemplate->update(['is_active' => false]);
|
||||
// HARD DELETE: Remover o template permanentemente
|
||||
$recurringTemplate->forceDelete();
|
||||
|
||||
return response()->json([
|
||||
'message' => __('Recurring template deleted successfully'),
|
||||
'message' => __('Recurring template permanently deleted'),
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@ -1464,11 +1464,11 @@ const DeleteTemplateConfirmModal = ({ show, onClose, onConfirm, template, t }) =
|
||||
|
||||
<div className="alert alert-danger">
|
||||
<i className="bi bi-exclamation-triangle me-2"></i>
|
||||
<strong>{t('recurring.deleteWarningTitle')}</strong>
|
||||
<strong>⚠️ ATENÇÃO: Exclusão Permanente (Hard Delete)</strong>
|
||||
<ul className="mb-0 mt-2 ps-3">
|
||||
<li>{t('recurring.deleteWarning1')}</li>
|
||||
<li>{t('recurring.deleteWarning2')}</li>
|
||||
<li>{t('recurring.deleteWarning3')}</li>
|
||||
<li><strong>O template será excluído permanentemente</strong> do banco de dados</li>
|
||||
<li><strong>TODAS as instâncias</strong> (futuras, pagas, canceladas) serão removidas</li>
|
||||
<li><strong>Esta ação não pode ser desfeita</strong></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user