import jsonapi_requests from . my_meta import MyMeta class Log(jsonapi_requests.orm.ApiModel): class Meta(MyMeta): type = 'log' name = jsonapi_requests.orm.AttributeField('name') timestamp = jsonapi_requests.orm.AttributeField('timestamp') isMovement = jsonapi_requests.orm.AttributeField('is_movement') assets = jsonapi_requests.orm.RelationField('asset') location = jsonapi_requests.orm.RelationField('location') equipment = jsonapi_requests.orm.RelationField('equipment') quantities = jsonapi_requests.orm.RelationField('quantity') @property def plant(self): for asset in self.assets: if asset.type == 'asset--plant': return asset class Activity(Log): class Meta(Log.Meta): name = 'activity' type, path = Log.Meta.get_type_and_path(name) class Maintenance(Log): class Meta(Log.Meta): name = 'maintenance' type, path = Log.Meta.get_type_and_path(name) class Purchase(Log): class Meta(Log.Meta): name = 'purchase' type, path = Log.Meta.get_type_and_path(name) class Seeding(Log): class Meta(Log.Meta): name = 'seeding' type, path = Log.Meta.get_type_and_path(name) class Input(Log): class Meta(Log.Meta): name = 'input' type, path = Log.Meta.get_type_and_path(name) class Medical(Log): class Meta(Log.Meta): name = 'medical' type, path = Log.Meta.get_type_and_path(name) class Harvest(Log): class Meta(Log.Meta): name = 'harvest' type, path = Log.Meta.get_type_and_path(name) class Sale(Log): class Meta(Log.Meta): name = 'sale' type, path = Log.Meta.get_type_and_path(name)