Files
farmos.py-wagner/neofarm/orm/quantity.py

39 lines
1.2 KiB
Python

import jsonapi_requests
from orm.my_meta import MyMeta
class Quantity(jsonapi_requests.orm.ApiModel):
class Meta(MyMeta):
type = 'quantity'
measure = jsonapi_requests.orm.AttributeField('measure')
json_value = jsonapi_requests.orm.AttributeField('value')
units = jsonapi_requests.orm.RelationField('units')
inventory_adjustment = jsonapi_requests.orm.AttributeField('inventory_adjustment')
inventory_asset = jsonapi_requests.orm.RelationField('inventory_asset')
@property
def value(self):
return self.json_value['decimal']
class Standard(Quantity):
class Meta(Quantity.Meta):
name = 'standard'
type, path = Quantity.Meta.get_type_and_path(name)
class Price(Quantity):
class Meta(Quantity.Meta):
name = 'price'
type, path = Quantity.Meta.get_type_and_path(name)
json_unit_price = jsonapi_requests.orm.AttributeField('unit_price.decimal')
json_total_price = jsonapi_requests.orm.AttributeField('total_price.decimal')
@property
def unit_price(self):
return self.json_unit_price['decimal']
@property
def total_price(self):
return self.json_total_price['decimal']
class Material(Quantity):
class Meta(Quantity.Meta):
name = 'material'
type, path = Quantity.Meta.get_type_and_path(name)