Hello Santiago Carbonell Forment,
You cannot inherit the KanbanRecord template directly because it is an OWL template.
This means you cannot inherit it using a regular: <odoo><template inherit_id="..."></template></odoo> since that only works for backend QWeb views.
✅ Instead, you can either directly replace the template or patch the existing onClick function.
I’ve attached the code which directly opens the Kanban view of Subtasks, you just have change the module name.
```
import { patch } from '@web/core/utils/patch';
import { KanbanRecord } from '@web/views/kanban/kanban_record';
export const CANCEL_GLOBAL_CLICK = ["a", ".dropdown", ".oe_kanban_action", "[data-bs-toggle]"].join(
","
);
patch(KanbanRecord.prototype, 'my_module.KanbanRecord', {
onGlobalClick(ev) {
const { archInfo, forceGlobalClick, openRecord, record } = this.props;
console.log("Called", record.data)
if (record.data.child_text != false) {
this.env.services.action.doAction({
type: 'ir.actions.act_window',
name: 'Subtasks',
res_model: 'project.task',
domain: [['parent_id', '=', record.resId]],
view_mode: 'kanban',
views: [[false, 'kanban']],
target: 'current',
});
}
else {
if (ev.target.closest(CANCEL_GLOBAL_CLICK)) {
return;
}
if (!forceGlobalClick && archInfo.openAction) {
this.action.doActionButton({
name: archInfo.openAction.action,
type: archInfo.openAction.type,
resModel: record.resModel,
resId: record.resId,
resIds: record.resIds,
context: record.context,
onClose: async () => {
await record.model.root.load();
record.model.notify();
},
});
} else if (forceGlobalClick || this.allowGlobalClick) {
openRecord(record);
}
}
},
}); ```
⚠️ Please note: this code is only for reference purposes.
If you patch the onClick method, it will change the behavior across all kanban views in Odoo, so you need to handle it carefully and test every case where a kanban view is used.
❓ If you implement this then how user will open the parent task?