Files
farmos.py-wagner/neofarm/orm/log.py
2024-11-12 17:37:05 +01:00

60 lines
1.6 KiB
Python

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')
json_notes = jsonapi_requests.orm.AttributeField('notes')
@property
def notes(self):
return self.json_notes['value']
@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)