41 lines
1.3 KiB
Python
41 lines
1.3 KiB
Python
import jsonapi_requests
|
|
from . 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 float(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')
|
|
json_total_price = jsonapi_requests.orm.AttributeField('total_price')
|
|
|
|
@property
|
|
def unit_price(self):
|
|
return float(self.json_unit_price['decimal'])
|
|
@property
|
|
def total_price(self):
|
|
return float(self.json_total_price['decimal'])
|
|
|
|
class Material(Quantity):
|
|
class Meta(Quantity.Meta):
|
|
name = 'material'
|
|
type, path = Quantity.Meta.get_type_and_path(name)
|
|
material_types = jsonapi_requests.orm.RelationField('material_type') |