I would like to use state code (2 letters) as a searchable drop down in res partner address form, or all addresses for that matter. I'm using the latest version 8 and thought this was a config option but can't find it.
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Kế toán
- Tồn kho
- PoS
- Project
- MRP
Câu hỏi này đã bị gắn cờ
In Custom Module Inherit res.country.state object and Override name_get method and shows State Code based on your requirement.
Example:-
class CountryState(osv.osv):
_inherit = "res.country.state"
def name_get(self, cr, uid, ids, context=None):
if not len(ids):
return []
res = []
reads = self.read(cr, uid, ids, ['code'], context=context)
for record in reads:
code = record['code']
res.append((record['id'], code))
return res
see the name_get and name_search ORM method https://doc.odoo.com/6.0/developer/2_5_Objects_Fields_Methods/methods/
It is working already as you say - try it on your own - when you type the right code, a dropdown menu selection with state representing code you've typed appears.
I understand this. There is a drop down to select the "Full" name of the state. I would like to store just the two letter state code here. Where is the code that imports the list for the drop down? That is what I need to change.
Instead of changing whole search in Odoo, it would be easier for you to create a new model. which will store values as you wish - many2one search is based on name column, so you would have to create a model, which in name stores code, and in code stores name.
Pass context value in xml...
<field name='state' context="{'code':True}"
In py file
class res_country_state(osv.osv):
_inherit = "res.country.state"
def name_get(self, cr, uid, ids, context=None):
if not len(ids):
return []
if not context:
context={}
res = []
res=super(res_country_state,self).name_get(cr, uid, ids)
state_code=context.get('code',False)
reads = self.read(cr, uid, ids, ['code'], context=context)
if state_code:
res = []
for record in reads:
code = record['code']
res.append((record['id'], code))
return res
Bạn có hứng thú với cuộc thảo luận không? Đừng chỉ đọc, hãy tham gia nhé!
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng ký