alter: alterado metodo http para fechar comanda | retirada do htmx

This commit is contained in:
2025-03-28 14:07:30 -03:00
parent bb51147d99
commit ac2a0283d0
9 changed files with 61 additions and 40 deletions

View File

@@ -93,21 +93,6 @@ def addProduct(request, product_id, comanda_id):
return render(request, "htmx_components/comandas/htmx_list_products_in_comanda.html",{'config':config, 'valores':valores,'parcials':parcial,'consumo': consumo,'comanda':comanda}) return render(request, "htmx_components/comandas/htmx_list_products_in_comanda.html",{'config':config, 'valores':valores,'parcials':parcial,'consumo': consumo,'comanda':comanda})
# @group_required(groupName='Garçom')
# def editOrders(request, productComanda_id, obs):
# order = Order.objects.get(productComanda=productComanda_id)
# order.obs = obs
# order.save()
# msg = JsonResponse({
# 'type': 'broadcast',
# 'message': obs,
# 'local':'cozinha',
# 'tipo':'edit',
# 'id':order.id,
# 'speak': f'Pedido alterado! {order.id_product.name}, é {obs}.'
# })
# # asyncio.run(enviar_mensagem(msg))
# return JsonResponse({'status': 'ok'})
@group_required(groupName='Garçom') @group_required(groupName='Garçom')
@@ -138,11 +123,7 @@ def removeProductComanda(request, productComanda_id):
return render(request, "htmx_components/comandas/htmx_list_products_in_comanda.html",{'config':config, 'valores': valores,'parcials':parcial,'consumo': consumo, 'comanda':comanda}) return render(request, "htmx_components/comandas/htmx_list_products_in_comanda.html",{'config':config, 'valores': valores,'parcials':parcial,'consumo': consumo, 'comanda':comanda})
@group_required(groupName='Garçom')
def closeComanda(request, comanda_id):
comanda = Comanda.objects.get(id=comanda_id)
comanda.status = "PAYING"
comanda.save()
@group_required(groupName='Gerente') @group_required(groupName='Gerente')

View File

@@ -28,27 +28,32 @@ Detalhes {{comanda.name}}
{% endif %} {% endif %}
>Add Produto</button> >Add Produto</button>
<button class="btn-cancel" id="pagarComanda" hx-get="{% url 'closeComanda' comanda.id %} " hx-trigger="click" hx-swap="none" onclick="imprimirConta()" <button class="btn-cancel" id="closeComanda" onclick="closeConta({{comanda.id}})"
{% if comanda.status != 'OPEN' %} {% if comanda.status != 'OPEN' %}
style="display: none;" style="display: none;"
{% endif %} {% endif %}
>Fechar Conta</button> >Fechar Conta</button>
{% if comanda.status == 'PAYING' or comanda.status == 'FIADO'%} {% if comanda.status == 'PAYING' or comanda.status == 'FIADO'%}
<button class="btn-secondary" id="pagarComanda" onclick="modal_payment_comanda()">Receber</button> <button class="btn-secondary" id="pagarComanda"
{% else %} onclick="modal_payment_comanda()"
>Receber</button>
{% else %}
<button class="btn-secondary" id="pagarComanda"
onclick="modal_payment_comanda()"
style="display: none;"
>Receber</button>
{% endif %} {% endif %}
{% if comanda.status != 'OPEN'%} <button class="btn-primary" id="printComanda"
<button class="btn-primary" id="imprimirFichas"
style="display: none;" style="display: none;"
onclick="imprimirFichas()">Fichas</button> onclick="imprimirConta()">Imprimir Conta</button>
{% endif %}
{% if user|groupUser:"Gerente" %} {% if user|groupUser:"Gerente" %}
<button class="btn-primary" id="imprimirFichas" hx-get="{% url 'reopenComanda' comanda.id %} " hx-trigger="click" hx-swap="none" onclick="reloadPage()" <button class="btn-primary" id="reOpenComanda" hx-get="{% url 'reopenComanda' comanda.id %} " hx-trigger="click" hx-swap="none" onclick="reloadPage()"
{% if comanda.status == 'OPEN'%} {% if comanda.status == 'OPEN'%}
style="display: none;" style="display: none;"
{% elif comanda.status == 'CLOSED' %} {% elif comanda.status == 'CLOSED' %}

View File

@@ -12,6 +12,7 @@ urlpatterns = [
path('addContaCliente/', views.addContaCliente, name='addContaCliente'), path('addContaCliente/', views.addContaCliente, name='addContaCliente'),
path('notificacao/', views.notificacao, name='notificacao'), path('notificacao/', views.notificacao, name='notificacao'),
path('editOrders/<int:productComanda_id>/<str:obs>', views.editOrders, name='editOrders'), path('editOrders/<int:productComanda_id>/<str:obs>', views.editOrders, name='editOrders'),
path('closeComanda/<int:comanda_id>/', views.closeComanda, name='closeComanda'),
@@ -23,7 +24,6 @@ htmx_urlpatterns = [
path('listProduct/<int:comanda_id>/', htmx_views.listProduct, name='listProduct'), path('listProduct/<int:comanda_id>/', htmx_views.listProduct, name='listProduct'),
path('addProduct<int:product_id>/<int:comanda_id>/', htmx_views.addProduct, name='addProduct'), path('addProduct<int:product_id>/<int:comanda_id>/', htmx_views.addProduct, name='addProduct'),
path('removeProductComanda<int:productComanda_id>/', htmx_views.removeProductComanda, name='removeProductComanda'), path('removeProductComanda<int:productComanda_id>/', htmx_views.removeProductComanda, name='removeProductComanda'),
path('closeComanda<int:comanda_id>/', htmx_views.closeComanda, name='closeComanda'),
path('reopenComanda<int:comanda_id>/', htmx_views.reopenComanda, name='reopenComanda'), path('reopenComanda<int:comanda_id>/', htmx_views.reopenComanda, name='reopenComanda'),
path('paymentComanda<int:comanda_id>/', htmx_views.paymentComanda, name='paymentComanda'), path('paymentComanda<int:comanda_id>/', htmx_views.paymentComanda, name='paymentComanda'),
path('paymentParcial<int:comanda_id>/', htmx_views.paymentParcial, name='paymentParcial'), path('paymentParcial<int:comanda_id>/', htmx_views.paymentParcial, name='paymentParcial'),

View File

@@ -156,3 +156,11 @@ def editOrders(request, productComanda_id, obs):
}) })
# asyncio.run(enviar_mensagem(msg)) # asyncio.run(enviar_mensagem(msg))
return JsonResponse({'status': 'ok', 'obs':order.obs}) return JsonResponse({'status': 'ok', 'obs':order.obs})
@group_required(groupName='Garçom')
def closeComanda(request, comanda_id):
comanda = Comanda.objects.get(id=comanda_id)
comanda.status = "PAYING"
comanda.save()
return JsonResponse({'status': 'ok', 'obs':'order.obs'})

Binary file not shown.

View File

@@ -188,6 +188,43 @@ function imprimirConta() {
} }
} }
function closeConta(id){
const resultadoConfirmacao = confirm("Encerrar comanda?");
const buttonAdd = document.getElementById('openModal')
const buttonClose = document.getElementById('closeComanda')
const buttonreOpenComanda = document.getElementById('reOpenComanda')
const buttonPrintComanda = document.getElementById('printComanda')
const buttonPayment = document.getElementById('pagarComanda')
if (resultadoConfirmacao){
fetch(`/comandas/closeComanda/${id}/`, {
method: 'PUT',
headers: {
'Content-Type': 'application/json',
'X-CSRFToken': document.querySelector('[name="csrfmiddlewaretoken"]').value}
})
.then(response => response.json())
.then(data => {
if(data.status == 'ok'){
buttonPrintComanda.style.display = 'block'
buttonClose.style.display = 'none'
buttonAdd.style.display = 'none'
buttonreOpenComanda.style.display = 'block'
buttonPayment.style.display = 'block'
showToast('✅Comanda encerrada!😁','success')
imprimirConta()
}
})
.catch(error => {
showToast('❌Ocorreu um erro!😢','error')
});
}
}
function reloadPage(){ function reloadPage(){
setTimeout(function() { setTimeout(function() {
location.reload();}, 100); location.reload();}, 100);
@@ -237,16 +274,6 @@ function addOrder(){
showToast('❌Ocorreu um erro!😢','error') showToast('❌Ocorreu um erro!😢','error')
}); });
// .then(function(response) {
// if(response.status == 200){
// closeModalObs()
// showToast('✅Pedido atualizado com sucesso!😁','success')
// tooltipObs.dataset.tooltip = response.data
// }else{
// showToast('❌Ocorreu um erro!😢','error')
// }
// })
} }