add HardwareInfoDetailSerializer
authorHongyuan Ma <CS_MaleicAcid@163.com>
Sat, 30 Jun 2018 14:53:37 +0000 (22:53 +0800)
committerHongyuan Ma <CS_MaleicAcid@163.com>
Sat, 30 Jun 2018 14:53:37 +0000 (22:53 +0800)
front-end/src/page/detailInfo/index.css
front-end/src/page/detailInfo/index.jsx
web/apps/test_records/serializer.py

index 6da6a003b1f9e1ada8caaec269529d00a8ca7ff0..8c9c3b6369fa7e1d70f0f736c354432e1168551c 100644 (file)
@@ -1,6 +1,14 @@
 .record-title{
     padding-left: 14px;
 }
+.record-title-top {
+    display: flex;
+    flex-direction: row;
+    justify-content:flex-start;
+
+    font-weight: 600;
+
+}
 
 .card-container{
     margin-left: 5px;
index f23bcd2da1606e7f0a8a0b518ce1ac57d6373011..61a1ef8348d595a5835234e2c8281d0d7ca3d0d0 100644 (file)
@@ -1,6 +1,6 @@
 import React from 'react';
 import './index.css';
-import {Table, Divider, Segment, Image, Label, Card, Button, List, Icon} from 'semantic-ui-react'
+import {Table, Divider, Segment, Icon} from 'semantic-ui-react'
 import PGUtil        from 'util/util.jsx'
 import FarmerCard      from 'component/farmer-card/index.jsx'
 import InfoList      from 'component/info-list/index.jsx'
@@ -43,10 +43,13 @@ class DetailInfo extends React.Component {
     }
 
     render() {
+        let branch =  '';
+        let date =   '';
         let machine = this.state.recordInfo.test_machine || {};
         let dataset = this.state.recordInfo.dataset_info || {};
         let meta_info = this.state.recordInfo.meta_info || {};
         let linux_info = this.state.recordInfo.linux_info || {};
+        let hardware_info = this.state.recordInfo.hardware_info || {};
         let ro = dataset.ro || {};
         let rw = dataset.rw || {};
         console.log(machine)
@@ -202,6 +205,11 @@ class DetailInfo extends React.Component {
         return (
             <div className="container-fluid detail-container">
                 <div className="record-title">
+
+                    <div className="record-title-top">
+                        <span>Branch: {branch}</span>
+                        <span>Date: {date}</span>
+                    </div>
                     <h2 >NO: {this.state.recordNo}</h2>
                 </div>
 
@@ -209,7 +217,7 @@ class DetailInfo extends React.Component {
 
                     <Segment vertical>Farmer Info</Segment>
                     <FarmerCard machine={machine}></FarmerCard>
-                    //todo add a catalog
+                    {/*//todo add a catalog*/}
                 </div>
 
                 <div className="col-md-9">
@@ -285,7 +293,8 @@ class DetailInfo extends React.Component {
 
 
                             <InfoList name="Meta" info={meta_info}> </InfoList>
-                            <InfoList name="Linux" info={linux_info}> </InfoList>
+                            <InfoList name="Operating System" info={linux_info}> </InfoList>
+                            <InfoList name="Hardward" info={hardware_info}> </InfoList>
                         </div>
 
                     </div>
index b83fb7e93f5837df6e99aab308f42e74bc2b44bc..7071c250754c9b42fef3d15dfef966242c3c3e7c 100644 (file)
@@ -27,6 +27,24 @@ class PGInfoSerializer(serializers.ModelSerializer):
         fields = ('pg_branch',)
 
 
+class HardwareInfoDetailSerializer(serializers.ModelSerializer):
+    '''
+    use HardwareInfoDetailSerializer
+    '''
+
+    class Meta:
+        model = LinuxInfo
+        fields = ('cpuinfo', 'meminfo')
+
+class LinuxInfoDetailSerializer(serializers.ModelSerializer):
+    '''
+    use LinuxInfoDetailSerializer
+    '''
+
+    class Meta:
+        model = LinuxInfo
+        fields = ('mounts', 'sysctl')
+
 class LinuxInfoSerializer(serializers.ModelSerializer):
     '''
     use LinuxInfoSerializer
@@ -37,6 +55,15 @@ class LinuxInfoSerializer(serializers.ModelSerializer):
         fields = ('mounts', 'cpuinfo', 'sysctl', 'meminfo')
 
 
+class MetaInfoDetailSerializer(serializers.ModelSerializer):
+    '''
+    use MetaInfoSerializer
+    '''
+
+    class Meta:
+        model = MetaInfo
+        fields = ('uname', )
+
 class MetaInfoSerializer(serializers.ModelSerializer):
     '''
     use MetaInfoSerializer
@@ -166,16 +193,18 @@ class TestRecordDetailSerializer(serializers.ModelSerializer):
     use ModelSerializer
     '''
     pg_info = PGInfoSerializer()
-    linux_info = LinuxInfoSerializer()
+    linux_info = LinuxInfoDetailSerializer()
     test_machine = UserMachineSerializer()
-    meta_info = MetaInfoSerializer()
+    hardware_info = HardwareInfoDetailSerializer()
+    meta_info = MetaInfoDetailSerializer()
+
     dataset_info = serializers.SerializerMethodField()
 
     # rw_info = serializers.SerializerMethodField()
     class Meta:
         model = TestRecord
         fields = (
-            'uuid', 'pg_info', 'linux_info', 'meta_info', 'dataset_info', 'test_desc', 'meta_time', 'test_machine')
+            'uuid', 'pg_info', 'linux_info', 'hardware_info', 'meta_info', 'dataset_info', 'test_desc', 'meta_time', 'test_machine')
 
     def get_dataset_info(self, obj):
         dataset_list = TestDataSet.objects.filter(test_record_id=obj.id).values_list('test_cate_id').annotate(