diff --git a/neofarm/orm/asset.py b/neofarm/orm/asset.py index 08e08f2..3813792 100644 --- a/neofarm/orm/asset.py +++ b/neofarm/orm/asset.py @@ -1,4 +1,5 @@ import jsonapi_requests +import neofarm.orm.log as Log from . my_meta import MyMeta @@ -9,6 +10,18 @@ class Asset(jsonapi_requests.orm.ApiModel): name = jsonapi_requests.orm.AttributeField('name') timestamp = jsonapi_requests.orm.AttributeField('timestamp') location = jsonapi_requests.orm.RelationField('location') + + def get_logs_of_type(self, type): + if not issubclass(type, Log.Log): + raise ValueError("type specified is not a type of log use for example: get_logs_of_type(Log.Harvest)") + logs = type.get_list() + related = [] + for log in logs: + for asset in log.assets: + if asset.id == self.id: + related.append(log) + break; + return related class Land(Asset): class Meta(Asset.Meta): diff --git a/test.py b/test.py index 0f474f0..25aaa41 100644 --- a/test.py +++ b/test.py @@ -1,6 +1,7 @@ import neofarm.lib as neo if __name__ == "__main__": - asset = neo.Asset.Product.from_id("4abf4918-5d08-4694-8e14-35a6dedceb72") - name = asset.name - print(name) \ No newline at end of file + asset = neo.Asset.Plant.from_id("76f89f82-1238-43bb-b34f-796a92d491a2") + logs = asset.get_logs_of_type(neo.Log.Activity) + for log in logs: + print(log.name) \ No newline at end of file