Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda

Hi Community,

I Inherited the crm.lead model and i created the one drop-down custom field in this field display only group assign users. now i want to do that when i select which users from Dropdown list this users goes and add automatically in the Followers.

How to do this. If you know about it Please let me know.

See My Code.

.py File

estimation_id = fields.Many2many('res.users', default=lambda self:self.env.user, domain=lambda self: [("groups_id", "=", self.env.ref( "estimation.group_user_hide" ).id)], select=True, track_visibility='onchange', string='Estimation Asign To')

Avatar
Buang
Jawaban Terbai
Hello,
Please Try this code,
@api.model
def create(self, vals):
lead_res = super(Salecrmlead, self).create(vals)
for rec in lead_res:
if rec.estimation_ids:
partner_ids = []
for est_rec in rec.estimation_ids:
if est_rec.partner_id and est_rec.partner_id.email:
partner_ids.append(est_rec.partner_id.id)
if partner_ids:
rec.message_subscribe(partner_ids, None)
return lead_res

@api.multi
def write(self, vals):
res = super(Salecrmlead, self).write(vals)
for rec in self:
if rec.estimation_ids:
partner_ids = []
for est_rec in rec.estimation_ids:
if est_rec.partner_id and est_rec.partner_id.email:
partner_ids.append(est_rec.partner_id.id)
rec.message_subscribe(partner_ids, None)
#message_unsubscribe
message_partner_ids = rec.message_partner_ids.ids
est_ids = [est_rec.partner_id.id for est_rec in rec.estimation_ids] + [self.env.ref('base.partner_root').id]
unsub_partners = set(message_partner_ids) - set(est_ids)
if list(unsub_partners):
rec.message_unsubscribe(list(unsub_partners))
return res
Hope it will work for you,
Thanks
Avatar
Buang
Penulis

Hello @Malay,

Thanks for your reply

Your code is work but email functionality don't work. when you manually Add Follower that time system send the mail. so we need to send the mail so what we do suggest me bro.

Hello,

After adding followers, you can use send mail functionality of mail templates or mail message and send the mail to the new followers.

You can take reference from "add_followers" invite wizard method from Mail module in odoo.

Hope it will help you,

Thanks,

Penulis

Hello @Malay,

Can you say me how use write method for the same example. if you know please suggest me how to do this. ?

Hello,

Please check this code,

@api.multi

def write(self, vals):

res = super(Salecrmlead, self).write(vals)

for rec in self:

if rec.estimation_ids:

partner_ids = []

for est_rec in rec.estimation_ids:

if est_rec.partner_id and est_rec.partner_id.email:

partner_ids.append(est_rec.partner_id.id)

rec.message_subscribe(partner_ids, None)

return res

thanks

Penulis

Thanks @Malay,

Now i Have last issue is that

When we are in edit mode and add the Users from dropdown list that time users are added in the followers. but when we remove the user from Dropdown that time the user can't remove into the follower's list. Bro if you know the solution please let me know.

Thanks In Advanced

hello Kiran,

Please check my updated answer.

Thanks

Penulis

Hello @Malay

As your updated code. i can't remove the single record from the Add Followers List. Record is removed from the Dropdown list but it's as it is in a Add Followers list. How to remove single record from the Add Followers List. PLease let know.

To unsubscribe the user, use message_unsubscribe method same as the message_subscribe. you need to pass only the removed partner ids in the message_unsubscribe method like:
rec.message_unsubscribe(removed_partner_ids, None)

Hope it will work for you.

Post Terkait Replies Tampilan Aktivitas
1
Sep 24
3936
4
Feb 19
7682
0
Mar 20
3437
2
Jul 17
3491
0
Okt 19
4467