diff --git a/appStore/api/router.py b/appStore/api/router.py index a01664d8e7f6e41567068decbedc1b64e5275ff6..dbad63f31fe5cbe6bf958b5280211cd83fe9d860 100644 --- a/appStore/api/router.py +++ b/appStore/api/router.py @@ -19,6 +19,7 @@ from appStore.lmbench.views import LmbenchViewSet from appStore.project.views import ProjectViewSet from appStore.stream.views import StreamViewSet from appStore.testCase.views import TestCaseViewSet +from appStore.testMachine.views import TestMachineViewSet from appStore.unixbench.views import UnixbenchViewSet from appStore.userConfig.views import UserConfigViewSet from appStore.users.views import UserProfileViewSet @@ -41,6 +42,7 @@ router.register(r'users', UserProfileViewSet, basename='users') router.register(r'test_case', TestCaseViewSet, basename='test_case') router.register(r'user_config', UserConfigViewSet, basename='user_config') router.register(r'error_list', ErrorListViewSet, basename='error_list') +router.register(r'machine_list', TestMachineViewSet, basename='machine_list') urlpatterns = [ url(r'', include(router.urls)), diff --git a/appStore/jvm2008/views.py b/appStore/jvm2008/views.py index 4c67815a4a1c0ddad22592187ea5cb04a9f2ec96..6aeb346e6bb64ddc18dc0701db6d08674d13db33 100644 --- a/appStore/jvm2008/views.py +++ b/appStore/jvm2008/views.py @@ -249,12 +249,12 @@ class Jvm2008ViewSet(viewsets.ModelViewSet): {'column1': '项目名称', 'column2': ''}, {'column1': '执行命令', 'column2': ''}, {'column1': '修改参数', 'column2': ''}, - {'column1': 'base', 'column2': 'compiler size'}, + {'column1': 'base', 'column2': 'compiler'}, {'column1': 'base', 'column2': 'compress'}, {'column1': 'base', 'column2': 'crypto'}, {'column1': 'base', 'column2': 'derby'}, {'column1': 'base', 'column2': 'mpegaudio'}, - {'column1': 'base', 'column2': 'scimark.large size'}, + {'column1': 'base', 'column2': 'scimark.large'}, {'column1': 'base', 'column2': 'scimark.small'}, {'column1': 'base', 'column2': 'serial'}, {'column1': 'base', 'column2': 'startup'}, diff --git a/appStore/testMachine/models.py b/appStore/testMachine/models.py index 48e690cc05a88397d6c9c8eb6b13c7b423c7ab1b..573a69efb63792a19a609cc92d715383ab40a39c 100644 --- a/appStore/testMachine/models.py +++ b/appStore/testMachine/models.py @@ -11,12 +11,14 @@ from django.db import models # Create your models here. class TestMachine(models.Model): """测试机器表""" - machine_name = models.CharField(max_length=50, verbose_name='机器名称') + machine_name = models.CharField(max_length=50, verbose_name='设备名称') arch_name = models.CharField(max_length=50, verbose_name='架构') cpu_module_name = models.CharField(max_length=100, verbose_name='cpu型号') - ip = models.CharField(max_length=50, verbose_name='当前IP') - os_version = models.CharField(max_length=50, verbose_name='当前操作系统版本') + ip = models.CharField(max_length=50, verbose_name='IP') + os_version = models.CharField(max_length=50, verbose_name='操作系统版本') test_user = models.CharField(max_length=255, verbose_name='当前操作系统负责人', ) + use_time = models.DateTimeField(verbose_name='接手时间', auto_now=True) + class Meta: db_table = 'testMachine' diff --git a/appStore/testMachine/serializers.py b/appStore/testMachine/serializers.py index 26be172ce0f65e918bdc772b2ae0d8429f203d53..8176adb4fe4cd221c365e470fce79c79663ffa27 100644 --- a/appStore/testMachine/serializers.py +++ b/appStore/testMachine/serializers.py @@ -12,8 +12,9 @@ from appStore.testMachine.models import TestMachine class TestMachineSerializer(serializers.ModelSerializer): """ - stream数据序列化 + testMachine数据序列化 """ + use_time = serializers.DateTimeField(format='%Y-%m-%d %H:%M:%S', read_only=True) class Meta: model = TestMachine diff --git a/appStore/testMachine/views.py b/appStore/testMachine/views.py index 5dbd5e5c348c2a27578985d98b49b0f791314da1..47255897ac12c438a5c5cf6b5bc58c59452ab2ba 100644 --- a/appStore/testMachine/views.py +++ b/appStore/testMachine/views.py @@ -9,6 +9,9 @@ from appStore.testMachine.models import TestMachine from appStore.testMachine.serializers import TestMachineSerializer from rest_framework import status, viewsets +from appStore.utils.common import json_response + + # Create your views here. class TestMachineViewSet(viewsets.ModelViewSet): @@ -18,3 +21,36 @@ class TestMachineViewSet(viewsets.ModelViewSet): queryset = TestMachine.objects.all().order_by('-id') serializer_class = TestMachineSerializer + + def list(self, request, *args, **kwargs): + queryset = TestMachine.objects.all().order_by('-id') + serializer = self.get_serializer(queryset, many=True) + return json_response(serializer.data, status.HTTP_200_OK, '查询完成') + + def create(self, request, *args, **kwargs): + machine_data = {} + machine_data['test_user'] = request.user.chinese_name + machine_data['machine_name'] = request.data.get('machine_name') + machine_data['arch_name'] = request.data.get('arch_name') + machine_data['cpu_module_name'] = request.data.get('cpu_module_name') + machine_data['ip'] = request.data.get('ip') + machine_data['os_version'] = request.data.get('os_version') + config_serializer = TestMachineSerializer(data=machine_data) + if config_serializer.is_valid(): + self.perform_create(config_serializer) + return json_response(config_serializer.data, status.HTTP_200_OK, '创建成功!') + return json_response(config_serializer.errors, status.HTTP_400_BAD_REQUEST, config_serializer.errors) + + + def delete(self, request, *args, **kwargs): + id = request.data.get('id', None) + if not id or not TestMachine.objects.filter(id=id): + return json_response({}, status.HTTP_205_RESET_CONTENT, '请传递正确的测试id') + if request.user.is_superuser: + test_case_data = TestMachine.objects.filter(id=id).first() + if not test_case_data: + return json_response({}, status.HTTP_205_RESET_CONTENT, '没有该数据') + TestMachine.objects.filter(id=id).delete() + return json_response({}, status.HTTP_200_OK, '删除成功') + else: + return json_response({}, status.HTTP_205_RESET_CONTENT, '只有管理员才能删除该数据') \ No newline at end of file