Skip to content

argocd_sale, argocd_website, argocd_deployer: Customer management for resellers, and refactor resellers, and reserved domains #126

Merged
tarteo merged 19 commits into18.0from
18.0-ref-argocd-sale
Feb 20, 2026
Merged

argocd_sale, argocd_website, argocd_deployer: Customer management for resellers, and refactor resellers, and reserved domains #126
tarteo merged 19 commits into18.0from
18.0-ref-argocd-sale

Conversation

@tarteo
Copy link
Member

@tarteo tarteo commented Feb 19, 2026

General:

  • [REM] application_tag_ids on products: It's better to work with product attributes directly
  • [ADD] Icons for portal (docs entry)
  • [ADD] shortcut menus in agrocd menu to make configuration straightforward

Resellers flow:

  • [ADD] /my/customers: resellers can manage their customers here
  • [REF] Integrated customer selection in order process (/applcation/signup)
  • [REF] How resellers are configured: partners have reseller_id and is_reseller boolean, we don't use child_ids anymore to determine resellers end-customers. child_ids are now used for representatives / employees of a reseller. E.g. Company X -> Peter, James. portal users for Company X, Peter, and James all have access to the same "reseller portal"
  • [REF] Allow ordering for end customer or own company

Normal ordering flows (non-reseller users / public users) is untouched

image image image image

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR extends the ArgoCD website/portal experience to support reseller workflows, including managing end customers and ordering applications on a customer’s behalf, while refactoring reseller-related data structures and access rules across modules.

Changes:

  • Add a reseller customer portal (list/detail/create/edit/archive) and reseller-specific signup/order flow (select self vs existing customer).
  • Refactor reseller/product access logic and tighten portal visibility rules for products/applications/domains.
  • Rename ArgoCD attribute value field (argocd_nameargocd_value) and adjust deployment/config rendering accordingly.

Reviewed changes

Copilot reviewed 38 out of 41 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
argocd_website/tests/test_security.py Minor test cleanup in security test.
argocd_website/templates/website.xml Adds reseller customer selection in signup UI and carries customer_id through ordering flow.
argocd_website/templates/portal.xml Portal home entry tweaks (icon + external links dropdown behavior).
argocd_website/templates/customer_portal.xml New portal templates for reseller customer management.
argocd_website/static/src/js/portal.esm.js Adds counters + signup form widget to show/hide customer selection UI.
argocd_website/static/src/img/application.svg Adds/updates application icon asset.
argocd_website/security/ir_rule.xml Updates product/app/domain rules and adds reseller customer read rule.
argocd_website/security/ir_model_access.xml Adds portal access for domain scope, partner, and country models.
argocd_website/controllers/main.py Adds reseller target/customer validation and wiring for customer_id through order/signup.
argocd_website/controllers/customer.py New controller implementing reseller customer CRUD-like flows via portal.
argocd_website/controllers/init.py Registers new customer portal controller.
argocd_website/manifest.py Includes customer portal templates.
argocd_website/README.md Updates module documentation and roadmap to include reseller customer flows.
argocd_sale/views/res_partner_view.xml Adds reseller fields and a Resellers menu/action in the backend.
argocd_sale/views/product_template.xml Adjusts product form and adds “Application” search filter + menu/action.
argocd_sale/views/product_attribute_view.xml Updates attribute value field shown in list (argocd_value).
argocd_sale/tests/test_integrity.py Adds integrity tests for reseller constraints.
argocd_sale/tests/init.py Registers new integrity tests.
argocd_sale/models/subscription.py Adds main_partner_id and reseller end-customer constraint logic.
argocd_sale/models/sale_subscription_line.py Uses end customer or reseller main partner for application naming; removes tag propagation.
argocd_sale/models/res_partner.py Refactors reseller modeling (reseller/customer relationships) + constraints.
argocd_sale/models/product_template.py Refactors reseller product restriction field and adds template/set consistency constraint.
argocd_sale/models/product_attribute_value.py Renames ArgoCD value field to argocd_value.
argocd_sale/models/application_domain.py Adds stored partner_id on domains for portal/security use.
argocd_sale/models/application.py Uses main/end partner for app ownership and requires argocd_value for config rendering.
argocd_sale/models/init.py Registers new model extension for application domains.
argocd_sale/migrations/18.0.1.0.1/pre-migrate.py Migration to copy argocd_nameargocd_value.
argocd_sale/demo/res_partner_demo.xml Demo reseller + customer linkage data.
argocd_sale/demo/product_template_demo.xml Updates/extends demo products for reseller scenarios.
argocd_sale/manifest.py Bumps module version and includes new demo data.
argocd_sale/README.md Expands documentation to cover reseller hierarchy/constraints and attribute mapping.
argocd_deployer/views/application_view.xml Improves domains editing layout on application form.
argocd_deployer/views/application_domain_view.xml Adds list/search/action for domains (incl. reserved domains).
argocd_deployer/models/application_domain.py Makes application_id optional to support reserved domains.
argocd_deployer/menuitems.xml Adds a Domains menu entry and reorders configuration menu.
argocd_deployer/demo/application_template_demo.xml Demo renaming/updates for application template.
argocd_deployer/demo/application_set_demo.xml Replaces demo repository values with example placeholders.
argocd_deployer/README.md Reworks/modernizes deployer README formatting and content.
.flake8 Increases max-complexity threshold.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@tarteo tarteo changed the title argocd_sale, argocd_website: Customer management for resellers and refactor resllers argocd_sale, argocd_website: Customer management for resellers, and refactor resellers, and reserved domains Feb 19, 2026
@tarteo tarteo changed the title argocd_sale, argocd_website: Customer management for resellers, and refactor resellers, and reserved domains argocd_sale, argocd_website, argocd_deployer: Customer management for resellers, and refactor resellers, and reserved domains Feb 19, 2026
@tarteo tarteo requested a review from ByteMeAsap February 19, 2026 14:22
Copy link
Contributor

@ByteMeAsap ByteMeAsap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one small comment , rest everything looks great !!

@tarteo tarteo merged commit 70ac978 into 18.0 Feb 20, 2026
1 of 2 checks passed
@tarteo tarteo deleted the 18.0-ref-argocd-sale branch February 20, 2026 08:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants