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:
- CRM
- e-Commerce
- Boekhouding
- Voorraad
- PoS
- Project
- MRP
Deze vraag is gerapporteerd
1
Beantwoorden
4500
Weergaven
/** @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(),
},
});
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!
Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!
AanmeldenGerelateerde posts | Antwoorden | Weergaven | Activiteit | |
---|---|---|---|---|
|
1
apr. 24
|
2066 | ||
|
0
jan. 24
|
1656 | ||
|
1
sep. 23
|
3078 | ||
|
2
apr. 23
|
5219 | ||
|
2
jan. 23
|
7732 |