feat: allow setting product prices and commission for all zones upon creation via modal

This commit is contained in:
2026-06-22 02:38:11 -04:00
parent ac0dd65efa
commit abaf266c54
3 changed files with 67 additions and 21 deletions

View File

@@ -1,31 +1,21 @@
{% extends "macros/base.html" %}
{% from 'macros/modals.html' import confirm_modal, edit_product_modal %}
{% from 'macros/modals.html' import confirm_modal, edit_product_modal, add_product_modal %}
{% from "macros/ui.html" import flashed_messages %}
{% block title %}Catálogo de Productos{% endblock %}
{% block content %}
<h2 class="mb-4">Catálogo de Productos por Zona</h2>
<div class="d-flex justify-content-between align-items-center mb-4">
<h2 class="mb-0">Catálogo de Productos por Zona</h2>
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#addProductModal">
<i class="bi bi-plus-lg"></i> Agregar Producto
</button>
</div>
{{ flashed_messages() }}
{{ edit_product_modal(zonas) }}
<div class="card mb-4 shadow-sm">
<div class="card-header bg-primary text-white">Agregar Producto Maestro</div>
<div class="card-body">
<form method="POST" action="{{ url_for('admin.manage_products') }}">
<div class="row g-3">
<div class="col-md-10">
<input type="text" class="form-control" name="name" placeholder="Nombre del Producto" required>
</div>
<div class="col-md-2">
<button type="submit" class="btn btn-primary w-100">Crear Producto</button>
</div>
</div>
</form>
</div>
</div>
{{ add_product_modal(zonas) }}
<div class="input-group mb-3 shadow-sm">
<span class="input-group-text bg-body-tertiary"><i class="bi bi-search"></i></span>

View File

@@ -82,6 +82,57 @@
</div>
{% endmacro %}
{% macro add_product_modal(zonas) %}
<div class="modal fade" id="addProductModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Agregar Nuevo Producto</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<form method="POST" action="{{ url_for('admin.manage_products') }}">
<div class="modal-body">
<div class="mb-3">
<label class="form-label fw-bold">Nombre del Producto</label>
<input type="text" class="form-control" name="name" placeholder="Nombre del Producto" required>
</div>
<hr>
<h6 class="fw-bold mb-3">Precios y Comisiones por Zona</h6>
<div class="row fw-bold mb-2">
<div class="col-4">Zona</div>
<div class="col-4">Precio</div>
<div class="col-4">Comisión</div>
</div>
{% for z in zonas %}
<div class="row mb-2">
<div class="col-4 d-flex align-items-center">
<span class="badge bg-info text-dark w-100">{{ z[1] }}</span>
</div>
<div class="col-4">
<div class="input-group input-group-sm">
<span class="input-group-text">$</span>
<input type="text" class="form-control money-input" name="price_{{ z[0] }}" placeholder="0" required>
</div>
</div>
<div class="col-4">
<div class="input-group input-group-sm">
<span class="input-group-text">$</span>
<input type="text" class="form-control money-input" name="comm_{{ z[0] }}" placeholder="0" required>
</div>
</div>
</div>
{% endfor %}
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancelar</button>
<button type="submit" class="btn btn-primary">Crear Producto</button>
</div>
</form>
</div>
</div>
</div>
{% endmacro %}
{% macro edit_worker_modal(modulos, bancos) %}
<div class="modal fade" id="editWorkerModal" tabindex="-1" aria-hidden="true">
<div class="modal-dialog">