Skip to content

spp_change_request_v2: CRReviewPanel is never mounted — wire it in or remove it #524

Description

@gonzalesedwin1123

Summary

spp_change_request_v2/static/src/components/review_panel/ (review_panel.js 276 lines, review_panel.xml 317 lines, review_panel.scss 50 lines; 643 lines total) defines CRReviewPanel, a split-pane change-request review component with approve / request-changes / decline actions and multi-tier approval display.

Nothing references it. CRReviewPanel and the spp_change_request_v2.CRReviewPanel template are not used by any XML view, JS registry (registry.category(...)), client action, field widget or Python file. It has been unmounted dead code since the initial export (4da8e30e, 2026-02-03); the three commits that touched it since were formatting and a hotkey removal.

Found while fixing #450: the panel still requested the removed rpc web service in setup(), and would have crashed the first time anyone mounted it. That PR removes only the unused useService("rpc") line and leaves the component in place, so this issue tracks the real decision.

Why it matters

  • The component ships in web.assets_backend for every backend user (static/src/components/**/* in the manifest), so its JS, template and SCSS are downloaded and compiled for nothing.
  • It duplicates approval actions (action_approve, _do_request_revision, _do_reject) that the form view already exposes, so any change to that flow has a second, untested copy to keep in sync. It calls two underscore-prefixed model methods (_do_request_revision, _do_reject) directly over RPC, which is not a pattern we want copied.
  • Being never mounted, it has no test or tour coverage, so bugs like useService("rpc") no longer exists on Odoo 19 - latent crash in spp_change_request_v2 review panel and spp_dci_compliance security warning #450 accumulate silently.

Options

  1. Remove it (manifest globs already pick up the directory, so deleting the three files is the whole change; bump + HISTORY entry). Recommended unless someone has a plan for it.
  2. Wire it in as the review UI it was designed to be (client action or form-embedded widget), with a tour or e2e test that mounts it, and stop calling underscore-prefixed methods over RPC.

Refs

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions