feat: Allow adding/removing items for orders in 'em_analise' status and restrict order cancellation to the creator.

This commit is contained in:
2025-12-08 19:44:32 -03:00
parent e92b10668e
commit 09af2c796b
2 changed files with 8 additions and 7 deletions

View File

@@ -756,7 +756,7 @@
<div class="mb-6 overflow-hidden rounded-lg bg-white shadow-md">
<div class="flex items-center justify-between border-b border-gray-200 px-6 py-4">
<h2 class="text-lg font-semibold">Itens do Pedido</h2>
{#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes'}
{#if pedido.status === 'em_rascunho' || pedido.status === 'precisa_ajustes' || pedido.status === 'em_analise'}
<button
onclick={() => (showAddItem = true)}
class="flex items-center gap-1 text-sm font-medium text-blue-600 hover:text-blue-800"

View File

@@ -779,9 +779,13 @@ export const removeItemsBatch = mutation({
throw new Error('Pedido não encontrado.');
}
if (pedido.status !== 'em_rascunho' && pedido.status !== 'precisa_ajustes') {
if (
pedido.status !== 'em_rascunho' &&
pedido.status !== 'precisa_ajustes' &&
pedido.status !== 'em_analise'
) {
throw new Error(
'Só é possível remover itens em pedidos em rascunho ou que precisam de ajustes.'
'Só é possível remover itens em pedidos em rascunho, em análise ou que precisam de ajustes.'
);
}
@@ -1019,10 +1023,7 @@ export const getPermissions = query({
isInComprasSector &&
pedido.aceitoPor === user.funcionarioId,
canCompleteAdjustments: pedido.status === 'precisa_ajustes' && hasAddedItems,
canCancel:
pedido.status !== 'cancelado' &&
pedido.status !== 'concluido' &&
(isCreator || isInComprasSector)
canCancel: pedido.status !== 'cancelado' && pedido.status !== 'concluido' && isCreator
};
}
});