celerp 2.2.0__tar.gz → 2.2.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {celerp-2.2.0 → celerp-2.2.1}/PKG-INFO +1 -1
- {celerp-2.2.0 → celerp-2.2.1}/celerp/output/pdf.py +1 -1
- {celerp-2.2.0 → celerp-2.2.1}/celerp.egg-info/PKG-INFO +1 -1
- {celerp-2.2.0 → celerp-2.2.1}/celerp.egg-info/SOURCES.txt +1 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp.egg-info/scm_file_list.json +7 -0
- celerp-2.2.1/celerp.egg-info/scm_version.json +8 -0
- {celerp-2.2.0 → celerp-2.2.1}/conftest.py +11 -14
- celerp-2.2.1/conftest_support.py +44 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/celerp_inventory/routes.py +17 -4
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/first_party.lock.json +1 -1
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/documents.py +18 -11
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/inventory.py +5 -1
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/reconciliation.py +2 -2
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/setup.py +4 -4
- celerp-2.2.0/celerp.egg-info/scm_version.json +0 -8
- {celerp-2.2.0 → celerp-2.2.1}/CLA.md +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/CONTRIBUTING.md +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/LICENSING.md +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/MANIFEST.in +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/NOTICE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/README.md +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/alembic.ini +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/__main__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/batch.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/cleanup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/commands.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/conversations.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/files.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/intent.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/llm.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/memory.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/models.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/page_count.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/quota.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/service.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/ai/tools.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/alembic.ini +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/alembic_config.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/cli.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/compat.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/compute/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/compute/aggregations.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/compute/valuation.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/config.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/base.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/daily_scheduler.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/http.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/images.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/quickbooks.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/registry.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/relay_token.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/shopify.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/sync_runner.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/upsert.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/util.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/webhooks.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/woocommerce.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/connectors/xero.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/constants.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/db.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/embedded_pg.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/events/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/events/engine.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/events/schemas.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/events/types.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/gateway/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/gateway/client.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/gateway/state.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/importers/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/importers/importer.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/importers/schema.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/main.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/middleware.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/README.md +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/_auto_stamp.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/_data_reconcile.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/_json_compat.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/env.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/script.py.mako +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/a0b1c2d3e4f5_seed_landed_cost_clearing_accounts.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/a1b2c3d4e5f6_add_doc_share_tokens.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/b1c2d3e4f5a6_add_supporter_badges.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/b2c3d4e5f6a7_add_import_batches.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/b3c4d5e6f7a8_expand_role_permissions_to_role_grants.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/c1d2e3f4a5b6_add_marketplace.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/c2d3e4f5a6b7_add_is_sync_to_shopify.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/c4d5e6f7a8b9_account_cash_flow_category.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/d0e1f2a3b4c5_add_share_token_expiry.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/d2e3f4a5b6c7_add_password_reset_token.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/d5e6f7a8b9c0_rename_fx_rounding_to_fx_difference.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/e3f4a5b6c7d8_add_company_is_active.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/e4f5a6b7c8d9_backfill_connector_idempotency_key.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/e7c9a1b3d5f2_work_center_default_columns.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/f1a2b3c4d5e6_move_accounts_marketplace_to_modules.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/f6a7b8c9d0e1_seed_fx_rounding_account.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/f8a9b0c1d2e3_work_center_default_backfill.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/fd5de461e14e_initial_schema.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/g1h2i3j4k5l6_add_consignment_flag.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/h2i3j4k5l6m7_add_bank_accounts_and_reconciliation.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/j4k5l6m7n8o9_labels_db_persistence.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/k5l6m7n8o9p0_add_reconciliation_v2.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/l6m7n8o9p0q1_add_sync_runs_table.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/m7n8o9p0q1r2_add_connector_configs_and_outbound_queue.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/n8o9p0q1r2s3_backfill_payment_date.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/o9p0q1r2s3t4_backfill_item_price_fields.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/p1q2r3s4t5u6_add_session_registry_and_user_auth_state.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/q2r3s4t5u6v7_add_system_runtime_state.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/r3s4t5u6v7w8_add_projections_company_entity_type_index.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/s4t5u6v7w8x9_drop_user_company_id_role.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/t5u6v7w8x9y0_seed_inventory_sub_accounts.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/u6v7w8x9y0z1_backfill_item_prices_from_attributes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/v7w8x9y0z1a2_backfill_purchase_unit_defaults.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/w8x9y0z1a2b3_backfill_category_unit_defaults.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/x7y8z9a0b1c2_add_projection_created_at.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/y8z9a0b1c2d3_per_company_ledger_idempotency.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/z9a0b1c2d3e4_work_centers.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/accounting.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/ai.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/auth.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/base.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/company.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/connector_config.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/import_batch.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/ledger.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/marketplace.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/notification.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/projections.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/share.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/supporter.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/models/sync_run.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/api.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/audit.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/demotion.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/importer.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/license.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/loader.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/meta.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/migrations_runner.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/references.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/registry.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/modules/slots.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/notifications/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/notifications/service.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/notifications/sse.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/output/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/output/branding.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/output/doc_print.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/output/share_render.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/projections/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/projections/engine.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/projections/handlers/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/projections/handlers/marketplace.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/projections/handlers/scanning.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/projections/handlers/shopify.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/projections/handlers/system.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/auth.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/companies.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/debug.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/doctor.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/events.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/health.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/ledger.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/notifications.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/stars.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/routers/system.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/schemas/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/activity_redaction.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/attachments.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/auth.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/auto_je.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/backup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/backup_export.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/backup_import.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/backup_repo.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/backup_scheduler.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/backup_state.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/cost_visibility.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/demo.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/dev_release_guard.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/email.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/field_schema.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/fulfill.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/holdings.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/je_keys.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/landed_cost.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/line_measures.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/list_behavior.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/money.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/payments.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/permissions.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/pick.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/pricing.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/relay_share.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/reorder.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/runtime_state.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/session_tracker.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/shipping.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/star_cta.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/status_doc_backfill.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/supporter_badge.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/system_health.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/services/units.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/session_gate.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp/tax_regimes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp.egg-info/dependency_links.txt +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp.egg-info/entry_points.txt +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp.egg-info/requires.txt +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/celerp.egg-info/top_level.txt +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/celerp_accounting/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/celerp_accounting/api_setup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/celerp_accounting/csv_parser.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/celerp_accounting/matcher.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/celerp_accounting/models.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/celerp_accounting/projections.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/celerp_accounting/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/celerp_accounting/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/balance-sheet.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/cash-flow.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/extended-journal-csv.csv +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/extended-journal-print.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/extended-journal.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/general-ledger.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/journal-csv.csv +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/journal-print.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/journal.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/ledger.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/pnl.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/statement.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/report_goldens/trial-balance.html +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_accounting_banking.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_accounting_banking_routers.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_accounting_gaps.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_accounting_import_idempotency.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_cash_flow.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_financial_reports_ui.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_journal_gl_soa.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_journal_gl_soa_ui.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_reconciliation_v2.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_reports_end_to_end.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-accounting/tests/test_route_permissions.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-admin/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-admin/celerp_admin/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-admin/celerp_admin/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-admin/celerp_admin/setup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/celerp_ai/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/celerp_ai/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/celerp_ai/setup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/celerp_ai/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/conftest.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_batch.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_cleanup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_conversations.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_coverage_gaps.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_intent.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_llm.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_memory.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_models.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_page_count.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_quota.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_router.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_routes_coverage.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_service.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-ai/tests/test_tools.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-backup/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-backup/celerp_backup/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-backup/celerp_backup/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-backup/celerp_backup/setup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/celerp_connectors/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/celerp_connectors/models.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/celerp_connectors/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/conftest.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_compliance.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_connector_correctness.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_connectors.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_credentials_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_images.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_outbound.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_quickbooks.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_rate_limiting.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_shopify.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_wiring.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_woocommerce.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_woocommerce_webhooks.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-connectors/tests/test_xero.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-contacts/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-contacts/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-contacts/celerp_contacts/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-contacts/celerp_contacts/migrations.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-contacts/celerp_contacts/projections.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-contacts/celerp_contacts/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-contacts/celerp_contacts/services.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-contacts/celerp_contacts/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-dashboard/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-dashboard/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-dashboard/celerp_dashboard/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-dashboard/celerp_dashboard/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-dashboard/celerp_dashboard/setup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/api_setup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/doc_constants.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/doc_email.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/doc_projections.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/doc_service.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/models_share.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/routes_payments.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/routes_share.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/sequences.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/taxes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/celerp_docs/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/conftest.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_audits.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_freight_je.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_freight_lines.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_fulfill_no_split.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_fulfillment_activity.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_inbound_je_lifecycle.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_inventory_account_reconciliation.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_landed_receive.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_line_delete_persist.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_line_identifier.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_payment_void_activity.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_receive_sku_batch.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_send_visibility.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_service_lines.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-docs/tests/test_void_guards.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/celerp_inventory/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/celerp_inventory/models_import_batch.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/celerp_inventory/projections.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/celerp_inventory/routes_attachments.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/celerp_inventory/routes_scanning.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/celerp_inventory/services.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/celerp_inventory/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/tests/test_item_recipe_projection.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/tests/test_item_workflow_projection.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-inventory/tests/test_landed_cost_projection.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/celerp_labels/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/celerp_labels/models.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/celerp_labels/presets.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/celerp_labels/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/celerp_labels/service.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/celerp_labels/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/requirements.txt +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/tests/test_labels.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-labels/tests/test_labels_module.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/celerp_manufacturing/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/celerp_manufacturing/costing.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/celerp_manufacturing/expansion.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/celerp_manufacturing/labor.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/celerp_manufacturing/migrations.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/celerp_manufacturing/projection_handler.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/celerp_manufacturing/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/celerp_manufacturing/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/requirements.txt +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_auto_complete_on_finalize.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_bom_removed.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_build_api.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_item_recipe_api.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_item_workflow_api.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_labor_providers.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_manufacture_from_doc.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_manufacturing.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_manufacturing_import_idempotency.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_manufacturing_module.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_mfg_events.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_phase2_manufacturing_validations.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_production_order.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_recipe_costing.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_recipe_expansion.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_recost_api.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_to_make_allocation.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_where_used.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_work_centers_and_settings.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-manufacturing/tests/test_workflow_time.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-reports/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-reports/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-reports/celerp_reports/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-reports/celerp_reports/api_setup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-reports/celerp_reports/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-reports/celerp_reports/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-reports/tests/test_reports_full.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-reports/tests/test_reports_unit.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-subscriptions/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-subscriptions/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-subscriptions/celerp_subscriptions/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-subscriptions/celerp_subscriptions/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-subscriptions/celerp_subscriptions/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-subscriptions/tests/test_subscriptions.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-subscriptions/tests/test_subscriptions_ui.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/LICENSE +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/accessory_fashion.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/activewear.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/art_photography.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/audio_equipment.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/bag_handbag.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/banknote.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/beauty_tool.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/bed_bedroom.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/beer.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/beverage_nonalc.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/body_part_auto.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/book.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/bottoms.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/brake_suspension.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/bullion_coin.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/camera.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/colored_stone.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/comic.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/commercial_space.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/component_part.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/confectionery.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/consulting_service.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/decorative_art.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/diamond.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/drawing.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/dress_jumpsuit.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/electrical_auto.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/electrical_component.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/emerald.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/engine_part.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/fastener.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/fertilizer_chemical.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/film_video.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/fine_writing_instrument.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/fluid_lubricant.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/footwear.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/fragrance.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/fresh_food.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/fresh_produce.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/frozen_food.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/gaming_console.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/gold_bullion.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/grain_cereal.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/haircare.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/hand_tool.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/ingredient_bulk.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/interior_part.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/jewelry.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/kitchen_dining.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/laptop.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/lighting.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/livestock_feed.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/makeup.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/measuring_instrument.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/medal_token.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/mineral_specimen.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/mobile_phone.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/music_cd.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/music_vinyl.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/nail.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/numismatic_coin.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/outdoor_furniture.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/outerwear.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/packaged_food.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/painting.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/parking_bay.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/pearl.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/personal_care.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/pipe_plumbing.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/platinum_bullion.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/power_tool.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/print_edition.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/residential_unit.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/rough_gemstone.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/ruby.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/saas_plan.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/safety_ppe.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/sapphire.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/sculpture.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/seating.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/seeds.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/silver_bullion.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/skincare.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/soft_furnishing.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/software_addon.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/software_license.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/spirit.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/storage_furniture.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/swimwear.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/table_desk.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/tablet.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/tire_wheel.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/tops.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/trading_card.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/tv_display.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/video_game.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/watch.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/watch_strap.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/categories/wine.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/agricultural.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/artwork.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/automotive.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/blank.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/books_media.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/coins_precious_metals.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/consulting.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/cosmetics.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/electronics.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/fashion.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/food_beverage.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/furniture.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/gemstones.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/hardware.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/property_rental.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/saas.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/watches.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/presets/wine_spirits.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/celerp_verticals/ui_routes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/tests/test_verticals.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/default_modules/celerp-verticals/tests/test_verticals_routers.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/legal/OFFICIAL-COMPONENTS.md +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/legal/TRADEMARK.md +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/packaging/winget/Celerp.Celerp.installer.yaml +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/packaging/winget/Celerp.Celerp.locale.en-US.yaml +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/packaging/winget/Celerp.Celerp.yaml +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/packaging/winget/README.md +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/pyproject.toml +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/setup.cfg +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/test_helpers.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/api_client.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/app.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/activity.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/attrs.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/backup.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/cloud_gate.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/currency.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/files.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/journal.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/notes.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/phone.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/report_kit.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/shell.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/components/table.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/config.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/i18n.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/ar.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/de.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/en.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/es.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/fr.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/id.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/it.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/ja.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/pt.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/th.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/locales/vi.json +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/marketplace_catalog.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/__init__.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/account.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/accounting.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/accounting_import.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/auth.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/contacts.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/csv_import.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/dashboard.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/docs_import.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/events.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/financial_reports.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/lists_import.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/manufacturing.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/modules_page.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/notifications.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/reports.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/search.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_accounting.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_cloud.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_connectors.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_contacts.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_general.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_import.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_inventory.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_manufacturing.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_payments.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_purchasing.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/settings_sales.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/stars.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/subscriptions.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/routes/subscriptions_import.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/security.py +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/app.css +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/htmx.min.js +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/icon.png +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/logo.png +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/vendor/intl-tel-input/img/flags.webp +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/vendor/intl-tel-input/img/flags@2x.webp +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/vendor/intl-tel-input/intlTelInput.min.css +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/vendor/intl-tel-input/intlTelInput.min.js +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/vendor/intl-tel-input/intlTelInputWithUtils.min.js +0 -0
- {celerp-2.2.0 → celerp-2.2.1}/ui/static/vendor/intl-tel-input/utils.js +0 -0
|
@@ -349,7 +349,7 @@ def generate_document_pdf(doc: dict[str, Any], company: dict[str, Any] | None =
|
|
|
349
349
|
if li_taxes:
|
|
350
350
|
tax_str = " + ".join(
|
|
351
351
|
f"{t.get('label') or t.get('code') or 'Tax'} {float(t.get('rate', 0)):.1f}%"
|
|
352
|
-
for
|
|
352
|
+
for t in li_taxes
|
|
353
353
|
)
|
|
354
354
|
else:
|
|
355
355
|
tax_str = f"{float(li.get('tax_rate') or 0):.1f}%"
|
|
@@ -214,6 +214,7 @@
|
|
|
214
214
|
"celerp/session_gate.py",
|
|
215
215
|
"celerp/tax_regimes.py",
|
|
216
216
|
"conftest.py",
|
|
217
|
+
"conftest_support.py",
|
|
217
218
|
"core/.github/workflows/ci.yml",
|
|
218
219
|
"default_modules/__init__.py",
|
|
219
220
|
"default_modules/celerp-accounting/LICENSE",
|
|
@@ -709,6 +710,7 @@
|
|
|
709
710
|
"pyproject.toml",
|
|
710
711
|
"scripts/apply_i18n.py",
|
|
711
712
|
"scripts/bump-version.sh",
|
|
713
|
+
"scripts/check_undefined_names.py",
|
|
712
714
|
"scripts/download-python.sh",
|
|
713
715
|
"scripts/extract_i18n.py",
|
|
714
716
|
"scripts/gen_first_party_lock.py",
|
|
@@ -790,6 +792,7 @@
|
|
|
790
792
|
"tests/test_browser/test_production_order.py",
|
|
791
793
|
"tests/test_browser/test_reorder_digest_upsell.py",
|
|
792
794
|
"tests/test_browser/test_reprice_preserves_lines.py",
|
|
795
|
+
"tests/test_browser/test_reprice_wrong_lot.py",
|
|
793
796
|
"tests/test_browser/test_reserved_conflict_modal.py",
|
|
794
797
|
"tests/test_browser/test_settings_tabs.py",
|
|
795
798
|
"tests/test_browser/test_split_ghost_cols.py",
|
|
@@ -807,6 +810,7 @@
|
|
|
807
810
|
"tests/test_browser/test_worksheet_workflow.py",
|
|
808
811
|
"tests/test_bulk_upload_limits.py",
|
|
809
812
|
"tests/test_cell_placeholder.py",
|
|
813
|
+
"tests/test_check_undefined_names.py",
|
|
810
814
|
"tests/test_clear_fields.py",
|
|
811
815
|
"tests/test_cli.py",
|
|
812
816
|
"tests/test_cloud_disconnect_persist.py",
|
|
@@ -907,6 +911,7 @@
|
|
|
907
911
|
"tests/test_modules/test_registry.py",
|
|
908
912
|
"tests/test_modules/test_slots.py",
|
|
909
913
|
"tests/test_modules/test_slots_lifecycle.py",
|
|
914
|
+
"tests/test_no_undefined_names.py",
|
|
910
915
|
"tests/test_notifications/__init__.py",
|
|
911
916
|
"tests/test_notifications/test_router.py",
|
|
912
917
|
"tests/test_notifications/test_service.py",
|
|
@@ -929,6 +934,7 @@
|
|
|
929
934
|
"tests/test_projections/test_status_doc_backfill.py",
|
|
930
935
|
"tests/test_purchasing_fields.py",
|
|
931
936
|
"tests/test_python310_floor.py",
|
|
937
|
+
"tests/test_reconciliation_forms.py",
|
|
932
938
|
"tests/test_regression.py",
|
|
933
939
|
"tests/test_relay_account_proxy.py",
|
|
934
940
|
"tests/test_reorder_v2.py",
|
|
@@ -1026,6 +1032,7 @@
|
|
|
1026
1032
|
"tests/test_verticals_integrity.py",
|
|
1027
1033
|
"tests/test_visual.py",
|
|
1028
1034
|
"tests/test_weight_unit_behavior.py",
|
|
1035
|
+
"tests/test_worker_config_isolation.py",
|
|
1029
1036
|
"tests/test_xss_hygiene.py",
|
|
1030
1037
|
"ui/__init__.py",
|
|
1031
1038
|
"ui/api_client.py",
|
|
@@ -5,29 +5,26 @@ from __future__ import annotations
|
|
|
5
5
|
|
|
6
6
|
import os
|
|
7
7
|
|
|
8
|
+
from conftest_support import is_own_test_config, resolve_worker_config
|
|
9
|
+
|
|
8
10
|
# Must be set before celerp.config is imported (JWT guard fires at module load).
|
|
9
11
|
os.environ.setdefault("ALLOW_INSECURE_JWT", "true")
|
|
10
12
|
|
|
11
|
-
# Point config.toml at a per-worker temp file. Otherwise every xdist worker
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
|
|
13
|
+
# Point config.toml at a per-worker temp file. Otherwise every xdist worker shares
|
|
14
|
+
# ~/.config/celerp/config.toml, which ensure_instance_id() reads+writes on the
|
|
15
|
+
# cloud-relay endpoints: concurrent access across workers corrupts the file
|
|
16
|
+
# mid-write (a torn read raises tomllib.TOMLDecodeError) and leaks one test's
|
|
17
|
+
# instance_id/token into the next. resolve_worker_config is the shared rule (see
|
|
18
|
+
# its docstring for why a plain setdefault does not achieve this under xdist).
|
|
16
19
|
_worker = os.environ.get("PYTEST_XDIST_WORKER", "main")
|
|
17
|
-
os.environ.
|
|
18
|
-
|
|
19
|
-
os.path.join(_tempfile.gettempdir(), f"celerp-test-config-{_worker}.toml"),
|
|
20
|
-
)
|
|
20
|
+
os.environ["CELERP_CONFIG"] = resolve_worker_config(os.environ.get("CELERP_CONFIG"), _worker)
|
|
21
|
+
|
|
21
22
|
# Start from a clean config: a temp file left by a previous local run (e.g. a
|
|
22
23
|
# persisted [cloud] disconnected = true from the disconnect endpoint) must not
|
|
23
24
|
# leak into this session. Scoped to our own temp path so a real CELERP_CONFIG
|
|
24
25
|
# passed in by CI is never touched.
|
|
25
26
|
_cfg_start = os.environ["CELERP_CONFIG"]
|
|
26
|
-
if (
|
|
27
|
-
os.path.dirname(_cfg_start) == _tempfile.gettempdir()
|
|
28
|
-
and os.path.basename(_cfg_start).startswith("celerp-test-config-")
|
|
29
|
-
and os.path.exists(_cfg_start)
|
|
30
|
-
):
|
|
27
|
+
if is_own_test_config(_cfg_start) and os.path.exists(_cfg_start):
|
|
31
28
|
os.remove(_cfg_start)
|
|
32
29
|
|
|
33
30
|
# ── Postgres for the whole test suite ──────────────────────────────────────────
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Copyright (c) 2026 Noah Severs
|
|
2
|
+
# SPDX-License-Identifier: LicenseRef-Proprietary
|
|
3
|
+
"""Side-effect-free helpers for the root conftest.
|
|
4
|
+
|
|
5
|
+
Kept in a separate module (never collected as a test, never provisions a
|
|
6
|
+
database on import) so the per-worker config-isolation rule can be unit tested
|
|
7
|
+
without importing the root conftest, which spins up Postgres at import time.
|
|
8
|
+
"""
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
import os
|
|
12
|
+
import tempfile
|
|
13
|
+
|
|
14
|
+
_CONFIG_PREFIX = "celerp-test-config-"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def is_own_test_config(path: str | None, tmpdir: str | None = None) -> bool:
|
|
18
|
+
"""True for a config path this harness itself created (our per-worker temp).
|
|
19
|
+
|
|
20
|
+
Used to tell an inherited value we set from a genuine external CELERP_CONFIG:
|
|
21
|
+
only the former may be recomputed per worker, the latter is always honored.
|
|
22
|
+
"""
|
|
23
|
+
if path is None:
|
|
24
|
+
return False
|
|
25
|
+
tmpdir = tmpdir or tempfile.gettempdir()
|
|
26
|
+
return os.path.dirname(path) == tmpdir and os.path.basename(path).startswith(_CONFIG_PREFIX)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def resolve_worker_config(existing: str | None, worker: str, tmpdir: str | None = None) -> str:
|
|
30
|
+
"""Return the config.toml path this worker must use.
|
|
31
|
+
|
|
32
|
+
An xdist worker inherits the controller process's environment, where the root
|
|
33
|
+
conftest already ran and set CELERP_CONFIG to the controller's ("main") path.
|
|
34
|
+
A plain setdefault would then leave every worker pointing at that one shared
|
|
35
|
+
file, so concurrent read/write across workers corrupts it mid-write (a torn
|
|
36
|
+
file fails tomllib.load and 500s unrelated requests). So whenever the inherited
|
|
37
|
+
value is one of our own temp paths (or unset), recompute it for THIS worker; a
|
|
38
|
+
genuine external CELERP_CONFIG is always left untouched.
|
|
39
|
+
"""
|
|
40
|
+
tmpdir = tmpdir or tempfile.gettempdir()
|
|
41
|
+
own = os.path.join(tmpdir, f"{_CONFIG_PREFIX}{worker}.toml")
|
|
42
|
+
if existing is None or is_own_test_config(existing, tmpdir):
|
|
43
|
+
return own
|
|
44
|
+
return existing
|
|
@@ -1888,7 +1888,16 @@ async def split_item(entity_id: str, payload: SplitBody, company_id=Depends(get_
|
|
|
1888
1888
|
parent_attrs_wo_pieces = {k: v for k, v in parent_attrs.items() if k != "pieces"}
|
|
1889
1889
|
|
|
1890
1890
|
parent_weight: float | None = _read_float(parent.state, "weight")
|
|
1891
|
-
|
|
1891
|
+
parent_is_weight_unit = is_weight_unit(parent_sell_by, unit_map)
|
|
1892
|
+
# No weight was ever recorded (e.g. a CSV import that never synced it from
|
|
1893
|
+
# quantity): fall back to qty, same as split_preview, so the mother-weight
|
|
1894
|
+
# column the preview showed doesn't demand edit_inventory_amounts to confirm
|
|
1895
|
+
# the exact value it already displayed. A genuinely stored weight (which may
|
|
1896
|
+
# legitimately differ from qty) is never overridden.
|
|
1897
|
+
parent_weight_is_derived = parent_weight is None and parent_is_weight_unit
|
|
1898
|
+
if parent_weight_is_derived:
|
|
1899
|
+
parent_weight = parent_qty
|
|
1900
|
+
parent_weight_unit = parent.state.get("weight_unit") or (parent_sell_by if parent_is_weight_unit else "gram")
|
|
1892
1901
|
weight_unit_cfg = unit_map.get(parent_weight_unit) or {}
|
|
1893
1902
|
weight_decimals = weight_unit_cfg.get("decimals", 2)
|
|
1894
1903
|
|
|
@@ -1952,6 +1961,11 @@ async def split_item(entity_id: str, payload: SplitBody, company_id=Depends(get_
|
|
|
1952
1961
|
else:
|
|
1953
1962
|
_child_cost_totals = [None] * len(children)
|
|
1954
1963
|
|
|
1964
|
+
def _child_weight(c) -> float | None:
|
|
1965
|
+
if c.weight is not None:
|
|
1966
|
+
return c.weight
|
|
1967
|
+
return c.quantity if parent_is_weight_unit else None
|
|
1968
|
+
|
|
1955
1969
|
# Per-child history descriptors with sequential mother deltas (one row per child).
|
|
1956
1970
|
children_detail: list[dict] = []
|
|
1957
1971
|
running_qty = parent_qty
|
|
@@ -2000,7 +2014,7 @@ async def split_item(entity_id: str, payload: SplitBody, company_id=Depends(get_
|
|
|
2000
2014
|
|
|
2001
2015
|
# Origin marker on the child: "Split from <mother>" — the child's first history entry.
|
|
2002
2016
|
ch_pieces = _to_int_pieces(child.attributes.get("pieces", 0)) if parent_pieces is not None else None
|
|
2003
|
-
ch_weight = child
|
|
2017
|
+
ch_weight = _child_weight(child) if parent_weight is not None else None
|
|
2004
2018
|
origin = await emit_event(
|
|
2005
2019
|
session,
|
|
2006
2020
|
company_id=company_id,
|
|
@@ -2075,8 +2089,7 @@ async def split_item(entity_id: str, payload: SplitBody, company_id=Depends(get_
|
|
|
2075
2089
|
metadata_={"reason": "from_split"},
|
|
2076
2090
|
)
|
|
2077
2091
|
|
|
2078
|
-
|
|
2079
|
-
total_child_weight = sum(c.weight for c in payload.children if c.weight is not None)
|
|
2092
|
+
total_child_weight = sum(w for c in payload.children if (w := _child_weight(c)) is not None)
|
|
2080
2093
|
derived_parent_qty = round(parent_qty - total_child_qty, 10)
|
|
2081
2094
|
derived_mother_weight = (
|
|
2082
2095
|
round(parent_weight - total_child_weight, weight_decimals) if parent_weight is not None else None
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"celerp-contacts": "899cf9febb388356290f6eb8c8ab6d67f1f92a9c9fa8377ebb6d46bf04cedbc3",
|
|
8
8
|
"celerp-dashboard": "00d2e8d6ef46a3afd5d6caf8434217095aabd40c963bfac19d0e988c714443ce",
|
|
9
9
|
"celerp-docs": "8b69661d972454099f94fd0f22d0d3ce614bbc6a257effb776fdb12462a56b7b",
|
|
10
|
-
"celerp-inventory": "
|
|
10
|
+
"celerp-inventory": "0d3b85ddb73ce02a2a97a5e00827435e145bddaae79491a7ad6b7ade88f38c06",
|
|
11
11
|
"celerp-labels": "1175c234602fbc80e20a33a4d03bf7abcc9a7a78d6e83729c73106cb0af53832",
|
|
12
12
|
"celerp-manufacturing": "5cc089a345eeff66be25db51432481487e699f28c0a545731650843fce81dc01",
|
|
13
13
|
"celerp-reports": "f100f83b3fc3e4565685d3a0c8e62dcc724bb35d32238f051b05c5f97ae10d13",
|
|
@@ -2540,12 +2540,16 @@ celerpUpdateBulkAlloc();
|
|
|
2540
2540
|
repriced = 0
|
|
2541
2541
|
for line in lines:
|
|
2542
2542
|
sku = (line.get("sku") or "").strip()
|
|
2543
|
-
|
|
2543
|
+
eid = (line.get("item_id") or line.get("entity_id") or "").strip()
|
|
2544
|
+
if sku or eid:
|
|
2544
2545
|
try:
|
|
2545
|
-
|
|
2546
|
-
|
|
2547
|
-
|
|
2548
|
-
|
|
2546
|
+
item = await api.get_item(token, eid) if eid else None
|
|
2547
|
+
if item is None and sku:
|
|
2548
|
+
resp = await api.list_items(token, {"sku": sku, "limit": 1})
|
|
2549
|
+
items = resp.get("items", []) if isinstance(resp, dict) else resp
|
|
2550
|
+
item = items[0] if items else None
|
|
2551
|
+
if item is not None:
|
|
2552
|
+
new_price = resolve_price(item, new_pl)
|
|
2549
2553
|
line = {**line, "unit_price": new_price, "price_list": new_pl}
|
|
2550
2554
|
repriced += 1
|
|
2551
2555
|
except Exception:
|
|
@@ -2900,13 +2904,16 @@ celerpUpdateBulkAlloc();
|
|
|
2900
2904
|
updated_lines = []
|
|
2901
2905
|
for line in existing_lines:
|
|
2902
2906
|
sku = (line.get("sku") or "").strip()
|
|
2903
|
-
|
|
2904
|
-
|
|
2907
|
+
eid = (line.get("item_id") or line.get("entity_id") or "").strip()
|
|
2908
|
+
if sku or eid:
|
|
2905
2909
|
try:
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
2910
|
+
item = await api.get_item(token, eid) if eid else None
|
|
2911
|
+
if item is None and sku:
|
|
2912
|
+
resp = await api.list_items(token, {"sku": sku, "limit": 1})
|
|
2913
|
+
items = resp.get("items", []) if isinstance(resp, dict) else resp
|
|
2914
|
+
item = items[0] if items else None
|
|
2915
|
+
if item is not None:
|
|
2916
|
+
new_price = resolve_price(item, price_list)
|
|
2910
2917
|
line = {**line, "unit_price": new_price, "price_list": price_list}
|
|
2911
2918
|
repriced += 1
|
|
2912
2919
|
except APIError:
|
|
@@ -1855,6 +1855,9 @@ def setup_routes(app):
|
|
|
1855
1855
|
for f in schema
|
|
1856
1856
|
]
|
|
1857
1857
|
schema = _apply_amount_edit_permission(schema, _get_role(request), company.get("settings") or {})
|
|
1858
|
+
if (str(item.get("status") or "").lower() == "draft"
|
|
1859
|
+
and role_has_permission(company.get("settings") or {}, _get_role(request), "edit_inventory")):
|
|
1860
|
+
schema = [{**f, "editable": True} if f.get("key") in AMOUNT_EDIT_GATED_KEYS else f for f in schema]
|
|
1858
1861
|
# Merge category-specific fields for this item's category
|
|
1859
1862
|
item_cat = item.get("category", "")
|
|
1860
1863
|
if item_cat and item_cat in cat_schemas:
|
|
@@ -5438,7 +5441,8 @@ def _inventory_cell_renderers(schema: list[dict], unit_names: list[str] | None =
|
|
|
5438
5441
|
data_col="pieces",
|
|
5439
5442
|
data_decimals=str(decimals),
|
|
5440
5443
|
)
|
|
5441
|
-
|
|
5444
|
+
_rek = set(row.get("_row_editable_keys") or ())
|
|
5445
|
+
return display_cell(entity_id=entity_id, field="pieces", value=row.get("pieces", ""), cell_type="number", editable=_ed or "pieces" in _rek)
|
|
5442
5446
|
renderers["pieces"] = _pieces_renderer
|
|
5443
5447
|
|
|
5444
5448
|
# Status renderer: a doc-driven status (sold, memo_out, consigned-in stock) carries
|
|
@@ -204,7 +204,7 @@ def _create_form(session_id: str, line_id: str, line: dict, chart: list[dict], c
|
|
|
204
204
|
Div(
|
|
205
205
|
Label(t("acct.je_line_party"), cls="form-label"),
|
|
206
206
|
searchable_select("contact", contact_opts, placeholder=t("acct.je_line_party"),
|
|
207
|
-
cls_extra="form-input", search_url=
|
|
207
|
+
cls_extra="form-input", search_url=PARTY_SEARCH_URL),
|
|
208
208
|
cls="form-field",
|
|
209
209
|
),
|
|
210
210
|
Div(
|
|
@@ -260,7 +260,7 @@ def _split_form(session_id: str, line_id: str, line: dict, chart: list[dict], cu
|
|
|
260
260
|
step="0.01", cls="form-input max-w-sm"),
|
|
261
261
|
searchable_select("contact_0", contact_opts,
|
|
262
262
|
placeholder=t("acct.je_line_party"),
|
|
263
|
-
cls_extra="form-input", search_url=
|
|
263
|
+
cls_extra="form-input", search_url=PARTY_SEARCH_URL),
|
|
264
264
|
Input(type="text", name="memo_0", placeholder="Memo", cls="form-input"),
|
|
265
265
|
cls="split-entry-row flex-row gap-sm mb-sm",
|
|
266
266
|
)
|
|
@@ -204,12 +204,12 @@ def setup_routes(app):
|
|
|
204
204
|
# Store the vertical name in company settings so the dashboard can use it
|
|
205
205
|
try:
|
|
206
206
|
async with api._client(token) as c:
|
|
207
|
-
raw = _raise(await c.get("/companies/me")).json()
|
|
207
|
+
raw = api._raise(await c.get("/companies/me")).json()
|
|
208
208
|
settings = dict(raw.get("settings") or {})
|
|
209
209
|
settings["vertical"] = vertical
|
|
210
|
-
await c.patch("/companies/me", json={"name": raw.get("name", ""), "settings": settings})
|
|
211
|
-
except Exception:
|
|
212
|
-
|
|
210
|
+
api._raise(await c.patch("/companies/me", json={"name": raw.get("name", ""), "settings": settings}))
|
|
211
|
+
except Exception as exc:
|
|
212
|
+
logger.warning("storing vertical failed during setup wizard: %s", exc)
|
|
213
213
|
# Re-seed demo items with vertical-aware examples now that vertical is set
|
|
214
214
|
try:
|
|
215
215
|
async with api._client(token) as c:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/a1b2c3d4e5f6_add_doc_share_tokens.py
RENAMED
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/b1c2d3e4f5a6_add_supporter_badges.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/c2d3e4f5a6b7_add_is_sync_to_shopify.py
RENAMED
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/c4d5e6f7a8b9_account_cash_flow_category.py
RENAMED
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/d0e1f2a3b4c5_add_share_token_expiry.py
RENAMED
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/d2e3f4a5b6c7_add_password_reset_token.py
RENAMED
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/e3f4a5b6c7d8_add_company_is_active.py
RENAMED
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/e7c9a1b3d5f2_work_center_default_columns.py
RENAMED
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/f6a7b8c9d0e1_seed_fx_rounding_account.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/g1h2i3j4k5l6_add_consignment_flag.py
RENAMED
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/j4k5l6m7n8o9_labels_db_persistence.py
RENAMED
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/k5l6m7n8o9p0_add_reconciliation_v2.py
RENAMED
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/l6m7n8o9p0q1_add_sync_runs_table.py
RENAMED
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/n8o9p0q1r2s3_backfill_payment_date.py
RENAMED
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/o9p0q1r2s3t4_backfill_item_price_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
{celerp-2.2.0 → celerp-2.2.1}/celerp/migrations/versions/q2r3s4t5u6v7_add_system_runtime_state.py
RENAMED
|
File without changes
|