Skip to content

UNIT II PROJECT: DIAGNOSE AND MAP A REAL ODOO FEATURE

A Unit Project is justified here because Chapters 4–6 naturally combine into one engineering workflow: architecture, environment, and source navigation.

Complete all ten tasks with named components, evidence, and one verification step where relevant. Self-score each task: 0 = missing/incorrect, 1 = correct label without reasoning, 2 = correct explanation using evidence. Rework every answer below 2.


TABLE OF CONTENTS


CASE STUDY

Nova Retail Group has an Odoo 19 development server.

Users report:

When we confirm a Sales Order, CRM values change and a Delivery button appears. We want to add an approval process, but the developers do not understand where existing behavior comes from.

You must produce a technical investigation before writing the custom module nova_sale_approval.

Use Sales Order SO0052 for Meridian Supplies as the running example.


CONSTRAINTS

You must not:

  • edit official Odoo source,
  • guess module ownership,
  • make production database changes,
  • disable integrations,
  • start writing the custom feature before understanding the existing execution flow.

TASK 1: ARCHITECTURE FLOW

Trace:

Salesperson clicks Confirm.

From Browser to PostgreSQL.


TASK 2: ENVIRONMENT MAP

Document:

  • Python environment,
  • Odoo source,
  • PostgreSQL,
  • config,
  • addons path,
  • custom addons path,
  • development database.

TASK 3: SOURCE OWNERSHIP

Identify:

  • base Sales Order module,
  • CRM integration module,
  • stock integration module.

TASK 4: FIELD TRACE

Find opportunity_id and explain which module contributes it.


TASK 5: VIEW TRACE

Find the Delivery-related Sales Order view extension and explain its inherited XML ID.


TASK 6: METHOD TRACE

Explain how action_confirm() can be extended by multiple modules.


TASK 7: CUSTOM MODULE PLACEMENT

Design custom_addons/nova_sale_approval/ conceptually.

Do not implement the complete module yet.


TASK 8: DEPENDENCY DECISION

If approval requires only Sales, choose the dependency.

If approval logic also directly uses Delivery data, explain what additional dependency may be required.


TASK 9: DEBUGGING STRATEGY

Explain where to place breakpoints to observe confirmation behavior.


TASK 10: FINAL ENGINEERING DIAGRAM

Create one diagram joining architecture, environment, source structure, and runtime method execution.