first push
This commit is contained in:
66
LiveStock/Cooperative/serializers.py
Normal file
66
LiveStock/Cooperative/serializers.py
Normal file
@@ -0,0 +1,66 @@
|
||||
from rest_framework import serializers
|
||||
|
||||
from LiveStock.models import Cooperative, LiveStockRolseProduct
|
||||
from authentication.serializer.serializer import BankCardSerializer, SystemUserProfileForInspectionSerializer
|
||||
from authentication.serializers import SystemAddressSerializer
|
||||
from ticket.serializers import SystemUserProfileForTicketPermissionSerializer
|
||||
|
||||
|
||||
class CooperativeSerializer(serializers.ModelSerializer):
|
||||
user = SystemUserProfileForInspectionSerializer(read_only=True)
|
||||
address = SystemAddressSerializer(read_only=True)
|
||||
user_bank_info = BankCardSerializer(required=False)
|
||||
|
||||
class Meta:
|
||||
model = Cooperative
|
||||
fields = '__all__'
|
||||
|
||||
|
||||
class CooperativeForSharesSerializer(serializers.ModelSerializer):
|
||||
user = SystemUserProfileForInspectionSerializer(read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Cooperative
|
||||
fields = ['user', 'name']
|
||||
|
||||
|
||||
class CooperativeForAllocationsReportSerializer(serializers.ModelSerializer):
|
||||
user = SystemUserProfileForInspectionSerializer(read_only=True)
|
||||
info = serializers.SerializerMethodField('get_info')
|
||||
|
||||
class Meta:
|
||||
model = Cooperative
|
||||
fields = ['key','user', 'name','info']
|
||||
|
||||
def get_info(self, obj):
|
||||
products = {
|
||||
"bran":"سبوس",
|
||||
"barley":"جو",
|
||||
"soy":"سویا",
|
||||
"corn":"ذرت",
|
||||
"sheep_concentrate":"کنسانتره گوسفندی",
|
||||
"high_cow_concentrate":"کنسانتره گاو شیری پرتولید",
|
||||
"medium_cow_concentrate":"کنسانتره گاو شیری متوسط",
|
||||
"fattening_calf_concentrate":"کنسانتره گوساله پرواری",
|
||||
}
|
||||
product =products[self.context.get('request').GET['name']]
|
||||
cooperative_roles = LiveStockRolseProduct.objects.get(cooperative=obj,parent_product__name=product)
|
||||
total_weight = cooperative_roles.total_weight
|
||||
total_receipt_weight = cooperative_roles.total_receipt_weight
|
||||
total_allocated_weight = cooperative_roles.total_allocated_weight
|
||||
total_remain_weight = cooperative_roles.total_remain_weight
|
||||
return {
|
||||
"total_weight": total_weight,
|
||||
"total_receipt_weight": total_receipt_weight,
|
||||
"total_allocated_weight": total_allocated_weight,
|
||||
"total_remain_weight": total_remain_weight,
|
||||
}
|
||||
|
||||
|
||||
class CooperativeForPosSerializer(serializers.ModelSerializer):
|
||||
user = SystemUserProfileForTicketPermissionSerializer(read_only=True)
|
||||
address = SystemAddressSerializer(read_only=True)
|
||||
|
||||
class Meta:
|
||||
model = Cooperative
|
||||
fields = ['user', 'name', 'address']
|
||||
Reference in New Issue
Block a user