Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
1 Antworten
8658 Ansichten

odoo 9.0

The setup:

I have two records in res.partner C and E. For context C is a company and E is an employee.

Record C has a many2many relation to record E called x_employee_ids. E reciprocates this relation with x_company_ids.

I have a functionality which allows me to archive record C and have E archived along with it automatically (if and only if no other relations to E exist elsewhere in res.partner). This works by checking C's field x_employee_ids and archiving what is found there.

What I want to achieve:

I want to make it possible to do the opposite. If I unarchive C I want E to also be unarchived.

The problem:

When E is archived it doesn't show up when checking the field x_employee_ids in C. So even when I unarchive C I can't see the relationship. I would assume that the relationship is deleted but I have demonstrated that it is not.

Knowing who E is during testing, I can unarchive E myself. When I do this it reappears in the x_employee_ids field of C. So this means that Odoo stores the relationship somewhere. But where? If I know where I can make my unarchive functionality work.

Avatar
Verwerfen
Beste Antwort

Hi,

If I got you well. I think to add your archive functionality by overriding the write method of the model of 'x_employee_ids'.

you can check the vals variable in the write signature if it contains the key 'active' , since the archiving update this field 'active' to be false. 

Hope this could helps ...

Avatar
Verwerfen
Autor

I'm not sure this answers my question. When I archive C at the start, I lose the foreign key to E, so from this point on I've effectively lost E unless I can find the relationship stored elsewhere.

Verknüpfte Beiträge Antworten Ansichten Aktivität
2
Dez. 22
11766
1
Mai 22
3143
1
Feb. 22
2068
2
März 19
5209
2
März 15
4286