feat: agregar sincronización de ventas de catálogo a Tryton

- Agregar método sendCatalogSalesToTryton() en django-api.js y api.js
- Crear página sincronizar_catalog_sales_tryton.vue para exportar catalog_sales
- Agregar botón 'Sincronizar a Tryton' en CatalogSalesManagement header
- Reorganizar menú admin en NavBar con sección 'Sincronización Tryton'
- Separar opciones de importación (download) y exportación (upload) a Tryton
- Endpoint: /don_confiao/api/enviar_catalog_sales_a_tryton
- Mostrar resultados exitosos/fallidos similar a sincronización de ventas normales
This commit is contained in:
2026-05-30 20:57:50 -05:00
parent 897cbb3efc
commit 5e86595831
5 changed files with 153 additions and 10 deletions

View File

@@ -6,6 +6,14 @@
<h1 class="text-h4">Ventas por Catálogo</h1>
</v-col>
<v-col cols="12" md="6" class="text-md-right">
<v-btn
color="primary"
prepend-icon="mdi-sync"
@click="$router.push('/sincronizar_catalog_sales_tryton')"
class="mr-2"
>
Sincronizar a Tryton
</v-btn>
<v-chip color="primary" variant="flat">
{{ catalogSales.length }} venta(s)
</v-chip>

View File

@@ -63,13 +63,16 @@
<v-list-item prepend-icon="mdi-cog" title="Administracion" @click="toggleAdminMenu()" v-if="isAuthenticated && isAdmin"></v-list-item>
<v-list-item v-if="isAuthenticated && isAdmin && showAdminMenu">
<v-list>
<v-list-item
v-for="item in menuAdminItems"
:key="item.title"
:title="item.title"
:prepend-icon="item.icon"
@click="navigateAdmin(item.route)"
></v-list-item>
<template v-for="(item, index) in menuAdminItems" :key="index">
<v-divider v-if="item.divider"></v-divider>
<v-list-subheader v-else-if="item.header">{{ item.header }}</v-list-subheader>
<v-list-item
v-else
:title="item.title"
:prepend-icon="item.icon"
@click="navigateAdmin(item.route)"
></v-list-item>
</template>
</v-list>
</v-list-item>
</v-list>
@@ -105,9 +108,12 @@
{ title: 'Compra adm', route: '/compra_admin', icon: 'mdi-cart'},
{ title: 'Gestión de Productos', route: '/admin/products', icon: 'mdi-package-variant'},
{ title: 'Ver Ventas por Catálogo', route: '/admin/catalog-sales', icon: 'mdi-cart-arrow-down'},
{ title: 'Actualizar Productos De Tryton', route: '/sincronizar_productos_tryton', icon: 'mdi-sync'},
{ title: 'Actualizar Clientes De Tryton', route: '/sincronizar_clientes_tryton', icon: 'mdi-sync'},
{ title: 'Actualizar Ventas Tryton', route: '/sincronizar_ventas_tryton', icon: 'mdi-sync'}
{ divider: true },
{ header: 'Sincronización Tryton' },
{ title: 'Importar Productos', route: '/sincronizar_productos_tryton', icon: 'mdi-download'},
{ title: 'Importar Clientes', route: '/sincronizar_clientes_tryton', icon: 'mdi-download'},
{ title: 'Exportar Ventas', route: '/sincronizar_ventas_tryton', icon: 'mdi-upload'},
{ title: 'Exportar Ventas Catálogo', route: '/sincronizar_catalog_sales_tryton', icon: 'mdi-upload'}
],
}),
computed: {