Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
2 Odpovědi
4735 Zobrazení

Hello, please help. I wanted to filter the drop down list of many2one field base in the current user. My objective is, inside the sales order form, i've added a field called salesperson_code which is a many2one field where the source is a customize table I have created:

class SalesPersonCode(models.Model):
_name = 'sale.person.code'
_rec_name = 'salesperson_code'

salesperson = fields.Many2one('res.users', string='Salesman')
salesperson_code = fields.Char(string='Code')
Added field in sale.order table:

class SalesSampleCode(models.Model):
_inherit = 'sale.order'
    salesperson_code = fields.Many2one('sale.person.code', string='Salesman Code')

XML code:

<xpath expr="//field[@name='payment_term_id']" position="after">
<field name="salesperson_code" options="{'no_create': True, 'no_create_edit':True}"/>
</xpath>

Now I only want the many2one drop down, to list the salesman code that is assigned to a particular salesman, so my filter should be domain = [( 'salesperson' , '=', user.id )]. What is the right way to implement this.?

I was able to make it work using onchange but what I really want is, if he/she create or edit the form, it should be the right salesman code be given to the drop down list of the many2one field. Any help will be high appreciated. Thank you.

Avatar
Zrušit
Nejlepší odpověď

Hi,

I suggest you to use ir.rule, record rules are conditions that records must satisfy for an operation (create, read, write or delete) to be allowed. 

See the example in the below code : 

<record id="salesperson_groups_rule" model="ir.rule">
<field
name="name">Sales person: Access own sales person only</field>
<field
name="model_id" ref="model_sale_person_code"/>
<field
name="domain_force">[('salesperson', '=', user.id)]
</field>
</record>

Best regards!

Avatar
Zrušit
Autor

Best solution. Thank you very much brother Sylvain. God bless.

You're welcome! God bless you!

Nejlepší odpověď

Right answer

Avatar
Zrušit
Related Posts Odpovědi Zobrazení Aktivita
3
srp 25
1509
3
čvc 24
4406
3
lis 20
4196
1
lis 18
5687
5
úno 18
4808