Addons DevPre-alpha
Extend CRM pipeline
Add a custom kanban stage column or modify pipeline behavior without forking crm.
Add a pipeline stage
- Create XML data in your custom addon:
<record id="stage_negotiation" model="crm.stage">
<field name="name">Negotiation</field>
<field name="sequence">25</field>
</record>
- Add the file to your manifest
datalist. - Update module:
go run . -- -c sumeru.conf -u crm,my_custom --stop-after-init
Custom kanban columns
Register a group expander in your addon init.go:
swcmeta.RegisterKanbanGroupExpander("crm.lead", "stage_id", myExpandFn)
See sumeru_addons/crm/services/hooks.go for the reference implementation.
React to stage changes
event.Subscribe("record.updated", func(ctx context.Context, ev event.Event) error {
if ev.Payload["model"] != "crm.lead" {
return nil
}
// inspect stage_id in values
return nil
})
Object actions
Add a form button via XML inherit and register:
orm.RegisterObjectAction("crm.lead", "action_my_custom", handler)