forked from erp-dev/erp
feat: added frontend_pages models(basic_info) and api(v2), support employees query pages that they can visit by themself token
This commit is contained in:
@@ -138,8 +138,6 @@ class PrintingOrderListSerializer(serializers.ModelSerializer):
|
||||
process_name = serializers.CharField(source='process.name', read_only=True)
|
||||
progress = serializers.IntegerField(read_only=True)
|
||||
jobs_status_summary = serializers.SerializerMethodField()
|
||||
created_by = serializers.IntegerField(source='created_by_id', read_only=True)
|
||||
created_by_name = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = models.PrintingOrder
|
||||
@@ -149,17 +147,9 @@ class PrintingOrderListSerializer(serializers.ModelSerializer):
|
||||
'is_fabric_received', 'outgoing_date', 'is_invalid', 'new_curve',
|
||||
'process', 'process_name', 'progress', 'position', 'print_count',
|
||||
'jobs_status_summary',
|
||||
'created_by', 'created_by_name',
|
||||
'created_at', 'updated_at',
|
||||
]
|
||||
read_only_fields = ['id', 'human_id', 'created_at', 'updated_at', 'progress', 'print_count', 'created_by']
|
||||
|
||||
def get_created_by_name(self, obj):
|
||||
user = getattr(obj, 'created_by', None)
|
||||
if not user:
|
||||
return None
|
||||
emp = getattr(user, 'employee', None)
|
||||
return getattr(emp, 'name', None)
|
||||
read_only_fields = ['id', 'human_id', 'created_at', 'updated_at', 'progress', 'print_count']
|
||||
|
||||
def get_jobs_status_summary(self, obj):
|
||||
"""
|
||||
@@ -196,8 +186,6 @@ class PrintingOrderDetailSerializer(serializers.ModelSerializer):
|
||||
customer_area = serializers.CharField(source='customer.area', read_only=True)
|
||||
process_name = serializers.CharField(source='process.name', read_only=True)
|
||||
progress = serializers.IntegerField(read_only=True)
|
||||
created_by = serializers.IntegerField(source='created_by_id', read_only=True)
|
||||
created_by_name = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = models.PrintingOrder
|
||||
@@ -208,17 +196,9 @@ class PrintingOrderDetailSerializer(serializers.ModelSerializer):
|
||||
'curve', 'new_curve', 'position',
|
||||
'printing_warn', 'rolling_warn', 'production_warn',
|
||||
'is_invalid', 'process', 'process_name', 'progress', 'print_count',
|
||||
'created_by', 'created_by_name',
|
||||
'created_at', 'updated_at'
|
||||
]
|
||||
read_only_fields = ['id', 'human_id', 'created_at', 'updated_at', 'progress', 'print_count', 'created_by']
|
||||
|
||||
def get_created_by_name(self, obj):
|
||||
user = getattr(obj, 'created_by', None)
|
||||
if not user:
|
||||
return None
|
||||
emp = getattr(user, 'employee', None)
|
||||
return getattr(emp, 'name', None)
|
||||
read_only_fields = ['id', 'human_id', 'created_at', 'updated_at', 'progress', 'print_count']
|
||||
|
||||
|
||||
class PrintingOrderCreateUpdateSerializer(serializers.ModelSerializer):
|
||||
@@ -278,16 +258,10 @@ class PrintingJobListSerializer(serializers.ModelSerializer):
|
||||
product_name = serializers.CharField(source='product.name', read_only=True)
|
||||
product_image_url = serializers.SerializerMethodField()
|
||||
status = serializers.CharField(read_only=True)
|
||||
status_id = serializers.IntegerField(read_only=True)
|
||||
work_state_display = serializers.SerializerMethodField()
|
||||
is_completed = serializers.BooleanField(read_only=True)
|
||||
has_started = serializers.BooleanField(read_only=True)
|
||||
progress_percentage = serializers.FloatField(read_only=True)
|
||||
last_completed_state = serializers.CharField(read_only=True)
|
||||
business_object_id = serializers.SerializerMethodField()
|
||||
batch_advance_records = serializers.SerializerMethodField()
|
||||
created_by = serializers.IntegerField(source='created_by_id', read_only=True)
|
||||
created_by_name = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = models.PrintingJob
|
||||
@@ -296,19 +270,11 @@ class PrintingJobListSerializer(serializers.ModelSerializer):
|
||||
'product_image_url',
|
||||
'quantity', 'unit', 'size', 'pieces', 'description',
|
||||
'work_state', 'work_state_display',
|
||||
'status', 'status_id', 'is_completed', 'has_started',
|
||||
'progress_percentage', 'last_completed_state',
|
||||
'business_object_id',
|
||||
'status', 'is_completed', 'business_object_id',
|
||||
'batch_advance_records',
|
||||
'created_by', 'created_by_name',
|
||||
'created_at', 'updated_at'
|
||||
]
|
||||
read_only_fields = [
|
||||
'id', 'created_at', 'updated_at',
|
||||
'status', 'status_id', 'is_completed', 'has_started',
|
||||
'progress_percentage', 'last_completed_state', 'business_object_id',
|
||||
'created_by'
|
||||
]
|
||||
read_only_fields = ['id', 'created_at', 'updated_at', 'status', 'is_completed', 'business_object_id']
|
||||
|
||||
def get_business_object_id(self, obj):
|
||||
"""安全地获取 business_object_id"""
|
||||
@@ -354,13 +320,6 @@ class PrintingJobListSerializer(serializers.ModelSerializer):
|
||||
records = list(obj.batch_advance_records.all())
|
||||
return PrintingJobBatchAdvanceRecordSerializer(records, many=True).data
|
||||
|
||||
def get_created_by_name(self, obj):
|
||||
user = getattr(obj, 'created_by', None)
|
||||
if not user:
|
||||
return None
|
||||
emp = getattr(user, 'employee', None)
|
||||
return getattr(emp, 'name', None)
|
||||
|
||||
|
||||
class PrintingJobDetailSerializer(serializers.ModelSerializer):
|
||||
"""印染款式明细详情序列化器"""
|
||||
@@ -374,8 +333,6 @@ class PrintingJobDetailSerializer(serializers.ModelSerializer):
|
||||
has_started = serializers.BooleanField(read_only=True)
|
||||
business_object_id = serializers.SerializerMethodField()
|
||||
batch_advance_records = serializers.SerializerMethodField()
|
||||
created_by = serializers.IntegerField(source='created_by_id', read_only=True)
|
||||
created_by_name = serializers.SerializerMethodField()
|
||||
|
||||
class Meta:
|
||||
model = models.PrintingJob
|
||||
@@ -385,13 +342,11 @@ class PrintingJobDetailSerializer(serializers.ModelSerializer):
|
||||
'work_state', 'work_state_display',
|
||||
'status', 'status_id', 'is_completed', 'has_started', 'business_object_id',
|
||||
'batch_advance_records',
|
||||
'created_by', 'created_by_name',
|
||||
'created_at', 'updated_at'
|
||||
]
|
||||
read_only_fields = [
|
||||
'id', 'created_at', 'updated_at',
|
||||
'status', 'status_id', 'is_completed', 'has_started', 'business_object_id',
|
||||
'created_by'
|
||||
'status', 'status_id', 'is_completed', 'has_started', 'business_object_id'
|
||||
]
|
||||
|
||||
def get_business_object_id(self, obj):
|
||||
@@ -406,13 +361,6 @@ class PrintingJobDetailSerializer(serializers.ModelSerializer):
|
||||
records = list(obj.batch_advance_records.all())
|
||||
return PrintingJobBatchAdvanceRecordSerializer(records, many=True).data
|
||||
|
||||
def get_created_by_name(self, obj):
|
||||
user = getattr(obj, 'created_by', None)
|
||||
if not user:
|
||||
return None
|
||||
emp = getattr(user, 'employee', None)
|
||||
return getattr(emp, 'name', None)
|
||||
|
||||
|
||||
class PrintingJobCreateUpdateSerializer(serializers.ModelSerializer):
|
||||
"""印染款式明细创建/更新序列化器"""
|
||||
|
||||
@@ -531,7 +531,7 @@ class PlateOrderAPITestCase(TestCase):
|
||||
else:
|
||||
self.assertEqual(len(response.data), 1)
|
||||
self.assertEqual(response.data[0]['is_invalid'], False)
|
||||
|
||||
|
||||
def test_filter_by_plate_at_from(self):
|
||||
"""测试按开版时间起始筛选(带时分秒)"""
|
||||
from django.utils import timezone
|
||||
|
||||
Reference in New Issue
Block a user