fusion.billing.import.wizard backfills NexaCloud into Odoo: read-only psycopg2 reader (_read_nexacloud_rows, DSN from ir.config_parameter) split from pure-Odoo writes (_import_rows/_do_import) so the logic is unit-tested headless. Maps users→partners+links (reusing _resolve_or_create_partner, stashing stripe_customer_id), plans→a cpu_seconds charge catalog (included_quota=cpu_seconds_quota, unit_batch=3600, $0.0075/core-hour, plan_id NULL), and deployments→one DRAFT shadow sale.order per deployment with the flat price set explicitly. Shadow-safe by construction: draft + no payment token + charge plan_id NULL (rating cron is a no-op). Idempotent re-runs; per-row savepoints isolate bad rows; dry-run rolls back. 11 tests, 50/50 green on odoo-trial.
1.5 KiB
1.5 KiB
| 1 | id | name | model_id:id | group_id:id | perm_read | perm_write | perm_create | perm_unlink |
|---|---|---|---|---|---|---|---|---|
| 2 | access_fusion_billing_service_admin | fusion.billing.service admin | model_fusion_billing_service | base.group_system | 1 | 1 | 1 | 1 |
| 3 | access_fusion_billing_account_link_admin | fusion.billing.account.link admin | model_fusion_billing_account_link | base.group_system | 1 | 1 | 1 | 1 |
| 4 | access_fusion_billing_metric_admin | fusion.billing.metric admin | model_fusion_billing_metric | base.group_system | 1 | 1 | 1 | 1 |
| 5 | access_fusion_billing_charge_admin | fusion.billing.charge admin | model_fusion_billing_charge | base.group_system | 1 | 1 | 1 | 1 |
| 6 | access_fusion_billing_usage_admin | fusion.billing.usage admin | model_fusion_billing_usage | base.group_system | 1 | 1 | 1 | 1 |
| 7 | access_fusion_billing_webhook_admin | fusion.billing.webhook admin | model_fusion_billing_webhook | base.group_system | 1 | 1 | 1 | 1 |
| 8 | access_fusion_billing_reconciliation_admin | fusion.billing.reconciliation admin | model_fusion_billing_reconciliation | base.group_system | 1 | 1 | 1 | 1 |
| 9 | access_fusion_billing_metric_acct | fusion.billing.metric accountant | model_fusion_billing_metric | account.group_account_manager | 1 | 1 | 1 | 0 |
| 10 | access_fusion_billing_charge_acct | fusion.billing.charge accountant | model_fusion_billing_charge | account.group_account_manager | 1 | 1 | 1 | 0 |
| 11 | access_fusion_billing_reconciliation_acct | fusion.billing.reconciliation accountant | model_fusion_billing_reconciliation | account.group_account_manager | 1 | 1 | 1 | 0 |
| 12 | access_fusion_billing_import_wizard | fusion.billing.import.wizard | model_fusion_billing_import_wizard | base.group_system | 1 | 1 | 1 | 1 |