Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3838 Widoki

I'm trying to set a couple of automated actions in Odoo 8. 

What i want to do is:

  • Automatically add the customer assigned to a project to the portal group when project begins.

  • Automatically delete the customer assigned to a project from the portal group when project ends.

The objetive of that is to automate the management of the portal access, so only customers who have an active project have permission access to portal.

Currently I'm trying to do that with Automated Actions /  Server Actions, so i created a Server Action named "Add user to portal group" wich "Base Model" is Partner that execute the following python code:

"Add user to portal group" Server Action: 

flag = self.pool.get('res.users').has_group(cr, model.id, 'base.group_portal')
if not flag:
 res_groups = self.pool['res.groups']
 users = self.pool['res.users'].search(cr, uid, [('id', '=', model.id)], context)
 group_id = self.pool['ir.model.data'].get_object(cr, uid, 'base', 'group_portal')
 res_groups.write(cr, uid, [group_id], {'users': [(4, user) for user in users]}, context=context)

Then i created an Automated Action named "Enable access to portal based on project duration", with this  parameters:

  • Related Document Model: "Project"

  • When to Run: "Based on Timed Condition"

  • Trigger Date: "Expiration Date"

  • Delay After Trigger Date: 0 Days.

The  first problem i have is that Automated Action Related Model  is "Project" and the Server Action Base Model is  Partner so I can't associate the Server Action  to the Automated Action.

I'm a bit confused and I do not know how to approach this issue in the simplest way possible :-)

I think that adding / removing membership to a group automatically can be of interest to many users, so any help?

Best regards,

Mario Pino

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
0
lis 23
1555
2
gru 17
4062
0
paź 24
1424
0
gru 23
2481
1
gru 16
4555