Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
2 Odpowiedzi
4335 Widoki

I know that we can create new javascript modules with new widgets, but is there a way to replace functionality of the already existing default form controls? Say, if I wanted that all text fields in the system automatically converted their input to uppercase, could I do this by extending FieldChar? (and not having to modify the actual views in the system, just that my new code overrided the default field)

Awatar
Odrzuć

One can override default widget, No doubt ... but am not sure whether you can achieve for input data... Alternate option, use Onchange Event...

Autor

Thanks! Yes, it can be done with the onchange event, but the problem is that if I wanted to affect every single field in the system, I would have to extend every single view to add the "onchange" attribute in every single field. Not really an option.

Najlepsza odpowiedź

Hello,

You can also use python code for this,

_inherit = 'dummy.dummy'
_columns =
    {
        'dummy_field': fields.char('Dummy', size=80, select=True, required=True)
    }
    
def onchange_case(self, cr, uid, ids, dummy_field, context=None):
    result = {
              'value': { 'dummy_field': str(dummy_field).upper() }
    }
    return result

And call oncahnge function in xml.

Thanks.

 

 

 

Awatar
Odrzuć
Najlepsza odpowiedź

Julian, yes you can override FieldChar for that purpose.

Awatar
Odrzuć
Powiązane posty Odpowiedzi Widoki Czynność
0
wrz 23
2480
0
sie 20
3142
0
lut 18
3414
0
wrz 17
4241
2
lis 15
725