Here's the challenge:
I have added a custom field to the mail.message model.
I want to expose that field in the message thread. I can change the way the thread looks but the value of the new field always comes empty.
I can make the values to be shown by directly editing the /mail/static/src/models/message.js in two places:
1) add...
if ('read_by' in data) {
data2.read_by = data.read_by;
}
inside convertData(data)
2) Add...
read_by = attr();
inside "fields"
Obviously, I can't edit the base code and I need to apply these changes in my own code. How?!
I've tried the following (it's not working):
odoo.define('MY_MODULE.message', function (require) {
"use strict";
const { Message } = require('mail.models');
const Registries = require('mail.Registries');
const MessageFields = (Message) => class MessageFields extends Message {
convertData(data) {
super.convertData(data);
if ('read_by' in data) {
data2.read_by = data.read_by;
}
}
fields['read_by'] = attr();
}
Registries.Model.extend(Message, MessageFields);
});
Can anyone, please, tell me how to achieve this?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- ลูกค้าสัมพันธ์
- e-Commerce
- ระบบบัญชี
- สินค้าคงคลัง
- PoS
- Project
- MRP
คำถามนี้ถูกตั้งค่าสถานะ
1
ตอบกลับ
4419
มุมมอง
/** @odoo-module **/
import { registerPatch } from '@mail/model/model_core';
import { attr } from '@mail/model/model_field';
registerPatch({
name: 'Message',
modelMethods: {
convertData(data) {
const data2 = this._super(data);
if ('read_by' in data) {
data2.read_by = data.read_by;
}
return data2;
},
},
fields: {
read_by: attr(),
},
});
สนุกกับการพูดคุยนี้ใช่ไหม? เข้าร่วมเลย!
สร้างบัญชีวันนี้เพื่อเพลิดเพลินไปกับฟีเจอร์พิเศษและมีส่วนร่วมกับคอมมูนิตี้ที่ยอดเยี่ยมของเรา!
ลงชื่อRelated Posts | ตอบกลับ | มุมมอง | กิจกรรม | |
---|---|---|---|---|
|
1
เม.ย. 24
|
1928 | ||
|
0
ม.ค. 24
|
1551 | ||
|
1
ก.ย. 23
|
2971 | ||
|
2
เม.ย. 23
|
5096 | ||
How to call javascript on button click
แก้ไขแล้ว
|
|
2
ม.ค. 23
|
7599 |