удалить подписчиков из документа / цитат в odoo 12 - PullRequest
0 голосов
/ 26 мая 2020

в модели, то есть в заказе на продажу, я создал мастер для добавления подписчиков в предложение. он отлично работает для администратора, администратор может добавлять или удалять любое количество подписчиков. но когда дело касается пользователя, он может добавлять подписчиков только в документе / цитате. когда пользователь удаляет последователя, выбирая последователей из мастера и нажимая кнопку отмены назначения, появляется всплывающее окно. Извините, вы не можете удалить этот документ. На данный момент это разрешено только пользователям со следующим уровнем доступа: - Администрирование / Настройки но когда пользователь вручную удаляет подписчика из болтовни, он удаляет подписчика, все работает нормально. как я могу этого добиться. Подскажите, пожалуйста, какой базовый метод вызывается, когда мы вручную удаляем подписчика из чата. вот мой код для удаления подписчиков.

@api.multi
def del_followers(self):    
    active_model=self._context.get('active_model')
    active_ids=self._context.get('active_ids')

    if active_model:
        model = self.env[active_model]
        record=model.search([('id', 'in', active_ids)])
        followers = [follower.id for follower in self.res_partners]

        remove_followers_list=[]
        for line in record:
            old_followers=[follower.partner_id.id for follower in line.message_follower_ids]

            for follower in followers:
                if follower in old_followers:
                    remove_followers_list.append(follower)

            for follower in remove_followers_list:
                self.env['mail.followers'].search([
                    ('res_model','=',active_model),
                    ('res_id','=',line.id),
                    ('partner_id','=',follower)
                ]).unlink()
...