Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
8 Odgovori
4881 Prikazi

I created an automated action as such:

Name: Prevent duplicate vendor based on name

Model: Contact 
Trigger: On Creation & Update
Trigger Fields: Before Update

Domain: Match all records

Apply on: Match all records

Action To Do: Execute Python Code

Code:

exists = env['res.partner'].search([('name','=',record.name),('id','!=',record.id)])

if exists:

  raise UserError('Vendor "' + record.name + '" is already in Odoo!')



When I try to create a new PO as an admin, it works. However, when I try this as a user (user permission on purchase module), it provides me with the following error:

Access Error:
You are not allowed to access 'Automated Action' (base.automation) records. This operation is allowed for the following groups: - Administration/Settings Contact your administrator to request access if necessary.

What can I do? I need the automated action and also I need my regular user to be able to create a PO.

Thanks.
Avatar
Opusti

Which version of Odoo?

Avtor

@Chris, v14

OK, it's a bug in Odoo 14 - I added an answer.

Best Answer

Hello Tushar
You can use python constrains to not allow anyone to create duplicate vendor
You can use following code to add constrains in res.partner object.

@api.constrains('name')
    def check_name(self):
        partners_name = self.search([]).mapped("name")
        check_name = list(filter(lambda all_partner:all_partner.lower() == self.name.lower(),partners_name))
        if len(check_name) > 1:
            raise UserError("You Can not create vendor with same name")

Avatar
Opusti
Avtor

Husain, thanks you. I still wonder if there is a way to do it without changing or extending the source code.

Hello Tushar

If you don't wants to change your existing code then follow below steps.

Go to setting ---> Groups --> purchase/ user groups and give access rights to user for automates action.

Go to access right tab and add new access right for purchase user group select model automated action and given read,write,update and delete permission.

Then user will not get error while creating PO

Thanks

Avtor

Hi Husain, thank you very much, this worked!

Best Answer

Seems that this is a bug in Odoo 14 and there's a fix.  



Avatar
Opusti
Related Posts Odgovori Prikazi Aktivnost
0
okt. 21
2350
0
apr. 24
1431
1
feb. 22
2970
1
maj 21
3400
1
jul. 25
2091