Skip to content

Commit d143593

Browse files
committed
fix(spp_programs): open program form modal when clicking membership row
1 parent 5a04d3a commit d143593

File tree

1 file changed

+21
-2
lines changed

1 file changed

+21
-2
lines changed

spp_programs/static/src/js/custom_open_list.js

Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ patch(ListRenderer.prototype, {
1212
},
1313

1414
async onCellClicked(record, column, ev) {
15-
if (record.resModel === "spp.program") {
15+
if (
16+
record.resModel === "spp.program" ||
17+
record.resModel === "spp.program.membership"
18+
) {
1619
// Skip custom behavior if in selection mode (e.g., Many2one "Search More..." dialog)
1720
// In selection mode, don't open form - let dialog handle row selection
1821
const isSelectionMode =
@@ -26,8 +29,24 @@ patch(ListRenderer.prototype, {
2629
// In selection mode, use default behavior which handles selection
2730
return super.onCellClicked(record, column, ev);
2831
}
32+
33+
let programId = record.resId;
34+
if (record.resModel === "spp.program.membership") {
35+
const programField = record.data.program_id;
36+
if (programField && programField.id) {
37+
programId = programField.id;
38+
} else {
39+
return super.onCellClicked(record, column, ev);
40+
}
41+
}
42+
2943
// Get the stored action from the server (includes action id for proper routing)
30-
var action = await this.orm.call("spp.program", "open_program_form", [record.resId]);
44+
var action = await this.orm.call("spp.program", "open_program_form", [
45+
programId,
46+
]);
47+
if (record.resModel === "spp.program.membership") {
48+
action.target = "new";
49+
}
3150
this.actionService.doAction(action);
3251
} else {
3352
super.onCellClicked(record, column, ev);

0 commit comments

Comments
 (0)