Example Implementation Workflow
Defining Registry Models (/models)
/models)# g2p_registry_addon/models/farmer_registry.py
class G2PFarmerRegistry(models.Model):
_name = "g2p.farmer.registry"
_description = "Farmer Registry"
_inherit = "g2p.registry"
## ... add fields as designed in the registry views ...# g2p_registry_type_addon/models/registry.py
class G2PTargetModelMapping:
"""Static mapping from registry type key to model name."""
MODEL_MAPPING = {
"student": "g2p.student.registry",
"farmer": "g2p.farmer.registry",
}
@classmethod
def get_target_model_name(cls, key):
"""Get the model name for a given key."""
return cls.MODEL_MAPPING.get(key)
class G2PRegistryType(Enum):
FARMER = "farmer"
STUDENT = "student"
OTHER = "other"
@classmethod
def selection(cls):
"""Return a list of tuples for Odoo selection fields."""
return [(member.value, member.name.replace("_", " ").title()) for member in cls]Defining Views (/views)
/views)/registry and /menu.xml
/registry and /menu.xml
/eligibility, /entitlement and /priority
/eligibility, /entitlement and /priority/bgtask
/bgtask
Adding Functionality (/static)
/static)Last updated
Was this helpful?

