1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- # -*- coding: utf-8 -*-
- from openerp import models, fields
- import inspect
- DEFAULT_FIELDS_EXCLUDED = [
- 'self',
- 'function',
- 'create_uid',
- '__last_update',
- 'sequence',
- 'write_uid',
- 'write_date',
- 'tz',
- 'lang'
- ]
- '''
- '''
- def serialize(self, exclude = []):
- fields = self.fields_get()
- data = {}
- for field in fields:
- if field in (exclude + DEFAULT_FIELDS_EXCLUDED):
- continue
- definition = fields[field]
- if 'exportable' in definition or definition['readonly']:
- continue
- value = getattr(self, field)
- if definition['type'] in ('char', 'text', 'html', 'date', 'datetime'):
- data[field] = value if type(value) is not bool else None
- if definition['type'] in ('many2one'):
- data[field] = value.id if value.id else None
- if definition['type'] in ('one2many', 'many2many'):
- data[field] = [obj.id for obj in value] if value else []
- if definition['type'] in ('integer', 'float', 'boolean', 'selection', 'binary'):
- data[field] = value
- return data
- models.Model.serialize = serialize
- '''
- Users class with token field for manage authentication
- '''
- class res_users(models.Model):
- _inherit = 'res.users'
- jwt_token = fields.Char(string = 'JWT Authentication Token');
|