Is it possible to mask the input data into the text field in OpenERP7? In case I need to imput only digits or (if possible) event specify the imput format
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Boekhouding
- Voorraad
- PoS
- Project
- MRP
Deze vraag is gerapporteerd
password="True": replace field values by asterisks, "*".
Not exactly, but with onchange you can be sure that users are not inserting wrong characters
I think that you don't want to use float or int and you are using char, so I did this:
import re
def onchange_field_name(self, cr, uid, ids, field_name):
if re.match("^-?[0-9]+$", field_name) != None:
return True
else:
raise osv.except_osv('Error', 'Please insert a number')
It's only to validate fields, but you can use it on another way.
Inside on-change methods you should use warnings, and in this case if there is a warning then also return a null value for that field.
Yes, this works, thank you. But it is still a partial sollution (
Need some more help if possible: Tried to modify the code so it would remove all the non-digits upon onchange event:
import re
def onchange_phone_number(self, cr, uid, ids, field_value):
new_value = re.sub("[^0-9]", "", field_value)
return {'value': {'my_field': new_value}}
But it falls out with the following error:
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
Any ideas what is wrong with it?
Maybe you are not sending any field_value. Try with "if field_value:" and then remove non numeric values, otherwise return {}
Need some more help if possible: Tried to modify the code so it would remove all the non-digits upon onchange event:
import re
def onchange_phone_number(self, cr, uid, ids, field_value):
new_value = re.sub("[^0-9]", "", field_value)
return {'value': {'my_field': new_value}}
But it falls out with the following error:
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer
Mickael actually had the right answer:
For ANY field, just add the XML tag "password" to the definition.
<field name="password" password="True"/>
Then, any data typed into this field will show up as *****
https://doc.openerp.com/6.0/developer/2_6_views_events/views/design_element/
Geniet je van het gesprek? Blijf niet alleen lezen, doe ook mee!
Maak vandaag nog een account aan om te profiteren van exclusieve functies en deel uit te maken van onze geweldige community!
Aanmelden