categorias-productos #51 #52
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/51-categorias-productos"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Related: #51
Resumen
Implementa la discriminación y administración de las categorías de productos
en Don Confiao, manteniendo a Tryton como fuente de verdad para
name/external_idy dejando los campos de descripción, nombre alternativo y estadoactivo administrados por Don Confiao.
Cambios
Modelo y migración
ProductCategoryganadescription,alternative_nameyactive(migración
0056_productcategory_active_and_more).Sincronización con Tryton
actualizado (
_need_update/_describe_changesreportanCategoría: +Bebidas, -Abarrotes).CategoryTrytonService.import_from_external()que importa solo lascategorías asociadas a productos salables, hace upsert por
external_id(fallback por nombre), preserva los campos administrados por Don Confiao y
reporta
checked/created/updated/untouched/failed.upsert_category) reutilizado porProductTrytonService.API
/api/product_categories/?active=all|true|false; lectura conIsNotPublico.description,alternative_name,active(
name/external_idson de solo lectura).POST deactivate/yPOST activate/con{ids}→ devuelve{deactivated|activated, failed}; ignora ids inexistentes.POST import_from_external/(admin).create/destroydeshabilitados (la fuente es Tryton).JSON de productos
ProductSerializer.categoriespasa de lista de ids a objetos anidados(
id,name,alternative_name,active).Product.to_list()(endpoint legacy/don_confiao/productos) idem.Otros
ProductCategoryAdmin(list_display + filtro poractive).doc/requests.org.Notas
staging:product.categorynoexpone
active, por lo que activar/desactivar es solo local.accounting=True).Tests
docker compose -f docker-compose.dev.yml run --rm django python manage.py test).(permisos, activación/desactivación, import externo) y sync de productos.
Documenta como hacer requests RPC de prueba contra Tryton con sabatron-tryton-rpc-client: - .opencode/skills/tryton-rpc-probe/SKILL.md: comando base con docker compose dev (--no-deps), credenciales desde .env, como revelar estados HTTP (401/403/429) que la libreria enmascara, convencion de agrupacion de campos con punto ('template.' -> 'categories.') y sondas de ejemplo - .opencode/agents/tryton-rpc-probe.md: subagente que obliga a cargar el skill - AGENTS.md: referencia al skill para todos los agents del proyectoView command line instructions
Checkout
From your project repository, check out a new branch and test the changes.