Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
8 Replies
4487 Tampilan

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
Buang

Which version of Odoo?

Penulis

@Chris, v14

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

Jawaban Terbai

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
Buang
Penulis

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

Penulis

Hi Husain, thank you very much, this worked!

Jawaban Terbai

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



Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
0
Okt 21
2099
0
Apr 24
1119
1
Feb 22
2661
1
Mei 21
3127
2
Jun 25
1190