summaryrefslogtreecommitdiff
path: root/web/apps
diff options
context:
space:
mode:
authorHongyuan Ma2018-07-10 18:14:21 +0000
committerHongyuan Ma2018-07-10 18:14:21 +0000
commite55210615b28e4fae27ce4d7cfe477e9a7ac4fcd (patch)
treeb989f986090d39685ff7a0f257cb66e81ad2ce5d /web/apps
parente8d19d9bb977f473783242e9df8e5b520a65a28b (diff)
add HistoryRecordPane
Diffstat (limited to 'web/apps')
-rw-r--r--web/apps/test_records/serializer.py20
-rw-r--r--web/apps/test_records/views.py2
-rw-r--r--web/apps/users/serializer.py8
3 files changed, 23 insertions, 7 deletions
diff --git a/web/apps/test_records/serializer.py b/web/apps/test_records/serializer.py
index 556db49..11a8cf3 100644
--- a/web/apps/test_records/serializer.py
+++ b/web/apps/test_records/serializer.py
@@ -304,10 +304,10 @@ class MachineHistoryRecordSerializer(serializers.ModelSerializer):
'''
machine_info = serializers.SerializerMethodField()
reports = serializers.SerializerMethodField()
-
+ branches = serializers.SerializerMethodField()
class Meta:
model = UserMachine
- fields = ('machine_info', 'reports')
+ fields = ('machine_info', 'reports', 'branches')
def get_reports(self, obj):
target_records = TestRecord.objects.filter(test_machine_id=obj.id).values_list(
@@ -330,3 +330,19 @@ class MachineHistoryRecordSerializer(serializers.ModelSerializer):
serializer = UserMachineSerializer(target_machine)
return serializer.data
+
+ def get_branches(self, obj):
+ target_records = TestRecord.objects.filter(test_machine_id=obj.id).values_list(
+ 'branch').annotate(Count('id'))
+
+ ret = []
+ for branch_item in target_records:
+ item = {}
+ item['value'] = branch_item[0]
+
+ branch = TestBranch.objects.filter(id=branch_item[0]).first()
+ serializer = TestBranchSerializer(branch)
+ item['branch'] = serializer.data["branch_name"]
+ ret.append(item)
+
+ return ret
diff --git a/web/apps/test_records/views.py b/web/apps/test_records/views.py
index ce70145..e76db5a 100644
--- a/web/apps/test_records/views.py
+++ b/web/apps/test_records/views.py
@@ -78,7 +78,7 @@ def TestRecordCreate(request, format=None):
# jsLoads = json.loads(data[0])
# todo get machine by token
- # test_machine = UserMachine.objects.filter(secret)
+ test_machine = 1
from django.db import transaction
diff --git a/web/apps/users/serializer.py b/web/apps/users/serializer.py
index c3fffc8..91346b3 100644
--- a/web/apps/users/serializer.py
+++ b/web/apps/users/serializer.py
@@ -37,9 +37,9 @@ class UserMachineSerializer(serializers.ModelSerializer):
return reports_num
def get_owner(self, obj):
- target_owner = UserProfile.objects.filter(id=obj.machine_owner_id).values('email').first()
-
- return target_owner['email']
+ target_owner = UserProfile.objects.filter(id=obj.machine_owner_id).first()
+ serializer = JWTUserProfileSerializer(target_owner)
+ return serializer.data
def get_avatar(self, obj):
target_owner = UserProfile.objects.filter(id=obj.machine_owner_id).values('email').first()
@@ -51,4 +51,4 @@ class UserMachineSerializer(serializers.ModelSerializer):
class JWTUserProfileSerializer(serializers.ModelSerializer):
class Meta:
model = UserProfile
- fields = ('username', ) \ No newline at end of file
+ fields = ('username', 'email') \ No newline at end of file