refactor: enhance package transportation tab to prevent infinite loops and load data only once
fix: include credentials in fetch request for company data
feat: implement loading of additional pedimento data in edit page, including contributions, packages, transport carriers, guides, seals, and containers
add: create DTOs and models for pedimento contributions, packages, transport carriers, guides, seals, and containers
- Added backend API for managing document types related to digitization, including CRUD operations.
- Created DTOs and models for DocumentTypeDigitization with validation using Pydantic.
- Updated frontend API service to interact with the new document types API.
- Refactored existing forms in the frontend to load and manage document types effectively.
- Enhanced data loading and state management in various components related to pedimentos.
- Implemented a new API endpoint for fetching countries with pagination support.
- Added a new Svelte component for managing contributions in the dashboard, including CRUD operations for contributions and general contributions.
- Introduced dynamic tab navigation for different contribution types (DTA, PREV, ECI, MULT, REC).
- Enhanced user interface with dialogs for adding and editing contributions and general contributions.
- Introduced a new docker-compose.prod.yml for production deployment.
- Updated docker-compose.yml to change backend port mapping.
- Added svelte-sonner dependency to frontend package.json.
- Created Dockerfile.prod for building the frontend application.
- Enhanced README.md with production deployment instructions.
- Implemented `invoice-top-fields.svelte` for editing main invoice details including operation type, invoice type, and compliance fields.
- Created `observations-tab-form.svelte` to manage invoice observations and compliance data.
- Developed `others-tab-form.svelte` for additional logistics and compliance information related to the invoice.
- Introduced reusable UI components for checkboxes and radio groups in `checkbox.svelte`, `radio-group.svelte`, and their respective item components.
- Enhanced form handling with TypeScript for better type safety and maintainability.
- Implemented the partidas tab form in Svelte for managing partidas.
- Added functionality to create, edit, delete, and list partidas.
- Integrated a dialog for adding and editing partidas with validation.
- Included a checkbox component for selecting partidas.
- Added total calculations for partidas in the UI.
- Enhanced UI with buttons for various actions and a responsive table layout.
feat: implement server-side loading for invoices page with authentication and filters
feat: create invoices page with filtering, infinite scroll, and data table
feat: add server-side loading for invoice edit page with data fetching
feat: implement invoice edit page with tabbed interface and form handling
- Added API client for OMA units of measure with CRUD operations.
- Created API client for general unit measures with CRUD functionality.
- Developed UI components for displaying and managing locations in a data table format.
- Implemented data table actions for unit measures, including create, edit, and delete functionalities.
- Integrated pagination and refresh capabilities in the data tables for both customs and general unit measures.
- Enhanced user experience with dialogs for creating and editing units of measure.
- Added server-side loading logic for fetching locations and units of measure with error handling.
- Added INPC management page with search functionality.
- Created Legends management page with filters for code and description.
- Implemented Multi-Currency Types management with search capabilities.
- Developed Packages management page with filtering options.
- Introduced Ports management page with authentication and data fetching.
- Added Prevalidators management page with search filters.
- Implemented Signatures management page with search by name and position.
- Created Unit Conversions management page for conversion factors.
- Developed Units of Measure management pages for ACE, American, and OMA with data tables and create/edit dialogs.
Backend:
- Corregir tipos datetime en exchange_rate (dto.py, models.py)
- Agregar datetime import en packages dto.py
- Corregir orden de parámetros en seal services.py
- Actualizar router.py con nuevas rutas
Frontend:
- Crear API clients para exchange-rate, packages y seal
- Implementar componentes de tabla con renderComponent
- Crear diálogos de crear/editar para cada módulo
- Implementar data-table-actions con manejo interno de diálogos
- Agregar páginas completas con filtros e infinite scroll
- Actualizar sidebar con nuevos módulos
Características:
- Acciones inline (editar/eliminar) totalmente funcionales
- Filtros de búsqueda específicos por módulo
- Paginación con infinite scroll
- Sincronización con companyStore
- Manejo de errores robusto
- Updated the "Nueva Sección" button in customs_sections, customs_warehouses, incoterms, invoice_types, material_types, payment_methods, pedimento_codes, pedimento_regimens, sectors, states, transport_modes, and transport_types pages to use the Plus icon from Lucide.
- Updated the "Actualizar" button in the same pages to use the RefreshCw icon from Lucide.
- Added a new edit dialog component for customs brokers with a comprehensive form for editing broker details, including validation and loading states.
- Expanded the PedimentoDates, PedimentoPayments, PedimentoTransportMeans, and PedimentoValidation interfaces to include additional fields.
- Updated the dates, payments, transport, and validation tab forms to initialize form data directly from the Pedimento object, removing unnecessary API calls for data loading.
- Enhanced the payload construction in the edit page to conditionally include sub-resources only if they contain values, improving data handling during creation and update operations.
- Adjusted the form bindings to reflect the new structure and ensure proper data flow between the components.
Cambios en backend:
- Actualizado ClassResponseDTO con campos de tenant y timestamps
- Agregados métodos estáticos en servicio (get_all, get_by_id, create, update, delete)
- Reemplazados endpoints de rutas con inicialización de TenantCRUDRoutes
- Corregida ruta de importación del modelo Company en security.py
- Actualizados nombres de campos en DTO para coincidir con modelo (description_es/en)
- Agregada validación para constraint de foreign key de material_key
- Agregada validación de class_code duplicado en método create
- Agregado TimestampMixin al modelo Class
- Creada migración de Alembic para agregar columnas timestamp a tabla classes
- Corregido orden de parámetros en firma del método update
Cambios en frontend:
- Actualizados componentes de UI para módulo de clases