Source code for nh_observations.models.nh_clinical_field_utils

# -*- coding: utf-8 -*-
from openerp import models

from openerp.addons.nh_observations import fields as nh_obs_fields


[docs]class FieldUtils(models.AbstractModel): """ Provides helpful methods, mainly for distinguishing between Odoo's fields and our own extensions of them. """ _name = 'nh.clinical.field_utils'
[docs] @classmethod def is_obs_field(cls, field): fields = ( nh_obs_fields.Selection, nh_obs_fields.Text, nh_obs_fields.Integer, nh_obs_fields.One2many, nh_obs_fields.Many2one, nh_obs_fields.Many2Many, nh_obs_fields.Float ) return isinstance(field, fields)
[docs] def get_obs_fields_from_model(self, model): fields = model._fields.values() return self.get_obs_fields_from_fields(fields)
[docs] def get_obs_fields_from_fields(self, fields): return [field for field in fields if self.is_obs_field(field)]