editor product cuisine

This commit is contained in:
2025-01-13 15:15:42 -03:00
parent c7687f7b9a
commit 956841ef2a
12 changed files with 22 additions and 14 deletions

Binary file not shown.

View File

@@ -49,8 +49,9 @@ Produtos
<input type="hidden" id="h-category-{{product.id}}" value="{{ product.category.id }}"> <input type="hidden" id="h-category-{{product.id}}" value="{{ product.category.id }}">
<input type="hidden" id="description-{{product.id}}" value="{{ product.description }}"> <input type="hidden" id="description-{{product.id}}" value="{{ product.description }}">
<input type="hidden" id="cuisine-{{product.id}}" value="{{ product.cuisine }}">
<form action="{% url 'onOffproduct' %}" method="post"> <form hx-post="{% url 'onOffproduct' %}" hx-trigger="click" hx-target="#product-list">
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="id-product" id="id-{{product.id}}" value="{{ product.id }}"> <input type="hidden" name="id-product" id="id-{{product.id}}" value="{{ product.id }}">
@@ -90,10 +91,13 @@ Produtos
{% csrf_token %} {% csrf_token %}
<h2>Cadastro de Produto</h2> <h2>Cadastro de Produto</h2>
<input type="text" id="productId" name="productId" hidden ><br> <input type="text" id="productId" name="productId" hidden >
<input type="text" id="productName" name="name" required placeholder="Nome"><br> <input type="text" id="productName" name="name" required placeholder="Nome">
<input type="number" step="0.01" id="productPrice" name="price" required placeholder="Preço"><br> <input type="number" step="0.01" id="productPrice" name="price" required placeholder="Preço">
<input type="number" step="1" id="productqtd" name="qtd" placeholder="Quantidade"><br> <input type="number" step="1" id="productqtd" name="qtd" placeholder="Quantidade">
<div>
<input type="checkbox" id="cuisine" name="cuisine" placeholder="Cozinha">Cozinha
</div>
<select id="select-categorie" name="select-categorie" > <select id="select-categorie" name="select-categorie" >
{% for categorie in categories %} {% for categorie in categories %}
@@ -101,7 +105,7 @@ Produtos
{% endfor %} {% endfor %}
</select> </select>
<textarea id="productDescription" name="description" rows="4" placeholder="Descrição"></textarea><br> <textarea id="productDescription" name="description" rows="4" placeholder="Descrição"></textarea>
<footer class="grid-buttons"> <footer class="grid-buttons">
<button id="save" type="submit">Salvar</button> <button id="save" type="submit">Salvar</button>
<button onclick="closeModal()" type="button" id="edit" hx-post="{% url 'editProduct' 1 %}" hx-trigger="click" hx-target="#product-list" >Alterar</button> <button onclick="closeModal()" type="button" id="edit" hx-post="{% url 'editProduct' 1 %}" hx-trigger="click" hx-target="#product-list" >Alterar</button>

View File

@@ -23,7 +23,6 @@ def createProduct(request):
product = Product(name=name, description=description, price=price, category=category) product = Product(name=name, description=description, price=price, category=category)
product.save() product.save()
return redirect('/products') return redirect('/products')
# return render(request, 'products.html')
def onOffProduct(request): def onOffProduct(request):
@@ -32,10 +31,11 @@ def onOffProduct(request):
product = Product.objects.get(id=product_id) product = Product.objects.get(id=product_id)
product.active = not product.active product.active = not product.active
product.save() product.save()
return redirect('products') products = Product.objects.all()
return render(request, "htmx_components/products/htmx_search_products.html", {"products": products})
def editProduct(request, productId): def editProduct(request, productId):
print('wwwwwwwwwwwwwwwwwwwwwwww ', request.POST.get('productId'),' ooooooooooo')
product_id = int(request.POST.get('productId')) product_id = int(request.POST.get('productId'))
# product_id = productId # product_id = productId
product = Product.objects.get(id=product_id) product = Product.objects.get(id=product_id)
@@ -43,13 +43,11 @@ def editProduct(request, productId):
product.description = request.POST.get('description') product.description = request.POST.get('description')
product.price = request.POST.get('price') product.price = request.POST.get('price')
product.quantity = request.POST.get('qtd') product.quantity = request.POST.get('qtd')
product.cuisine = True if request.POST.get('cuisine') else False
product.category = Categories.objects.get(id = int(request.POST.get('select-categorie'))) product.category = Categories.objects.get(id = int(request.POST.get('select-categorie')))
product.save() product.save()
print(request.GET.get("search-product"))
product = request.GET.get("search-product") product = request.GET.get("search-product")
if product == None: if product == None:
product = '' product = ''
products = Product.objects.filter(name__icontains=product) products = Product.objects.filter(name__icontains=product)
return render(request, "htmx_components/products/htmx_search_products.html", {"products": products}) return render(request, "htmx_components/products/htmx_search_products.html", {"products": products})
# return render(request, 'products.html')
# return redirect('/products')

View File

@@ -24,8 +24,10 @@
onclick="editProduct({{product.id}})" > onclick="editProduct({{product.id}})" >
</img> <input type="hidden" id="h-category-{{product.id}}" value="{{ product.category.id }}"> </img> <input type="hidden" id="h-category-{{product.id}}" value="{{ product.category.id }}">
<input type="hidden" id="description-{{product.id}}" value="{{ product.description }}"> <input type="hidden" id="description-{{product.id}}" value="{{ product.description }}">
<input type="hidden" id="cuisine-{{product.id}}" value="{{ product.cuisine }}">
<form action="{% url 'onOffproduct' %}" method="post">
<form hx-post="{% url 'onOffproduct' %}" hx-trigger="click" hx-target="#product-list">
{% csrf_token %} {% csrf_token %}
<input type="hidden" name="id-product" id="id-{{product.id}}" value="{{ product.id }}"> <input type="hidden" name="id-product" id="id-{{product.id}}" value="{{ product.id }}">

View File

@@ -5,6 +5,8 @@ function openModal() {
var productPrice = document.getElementById('productPrice'); var productPrice = document.getElementById('productPrice');
var productDescription = document.getElementById('productDescription'); var productDescription = document.getElementById('productDescription');
var productqtd = document.getElementById('productqtd'); var productqtd = document.getElementById('productqtd');
var productCuisine = document.getElementById('cuisine');
var categorie = document.getElementById('select-categorie'); var categorie = document.getElementById('select-categorie');
var buttonEdit = document.getElementById('edit'); var buttonEdit = document.getElementById('edit');
var buttonSave = document.getElementById('save'); var buttonSave = document.getElementById('save');
@@ -16,6 +18,7 @@ function openModal() {
productPrice.value = ''; productPrice.value = '';
productDescription.value =''; productDescription.value ='';
productqtd.value = ''; productqtd.value = '';
productCuisine.checked = false
categorie.value = 1; categorie.value = 1;
} }
@@ -35,6 +38,7 @@ function editProduct(id) {
var productPrice = document.getElementById('productPrice'); var productPrice = document.getElementById('productPrice');
var productDescription = document.getElementById('productDescription'); var productDescription = document.getElementById('productDescription');
var productqtd = document.getElementById('productqtd'); var productqtd = document.getElementById('productqtd');
var productCuisine = document.getElementById('cuisine');
var categorie = document.getElementById('select-categorie'); var categorie = document.getElementById('select-categorie');
productId.value = id; productId.value = id;
@@ -45,7 +49,7 @@ function editProduct(id) {
productPrice.value = preco; productPrice.value = preco;
productDescription.value = document.getElementById('description-'+id).value; productDescription.value = document.getElementById('description-'+id).value;
productqtd.value = document.getElementById('quantity-'+id).innerHTML; productqtd.value = document.getElementById('quantity-'+id).innerHTML;
// console.log(document.getElementById('h-category-'+id).value) productCuisine.checked = document.getElementById('cuisine-'+id).value == 'True' ? true : false;
categorie.value = document.getElementById('h-category-'+id).value; categorie.value = document.getElementById('h-category-'+id).value;
// const url = `/products/editProduct/${id}/`; // const url = `/products/editProduct/${id}/`;