diff --git a/appStore/testMachine/views.py b/appStore/testMachine/views.py index efffe70be29ab15cab94e4ed12005b1f8da7edf9..3e46ebb4157737f14c49a71dfc4b1825639b57b8 100644 --- a/appStore/testMachine/views.py +++ b/appStore/testMachine/views.py @@ -63,9 +63,14 @@ class TestMachineViewSet(viewsets.ModelViewSet): machine_data = TestMachine.objects.get(id=machine_id) if not machine_id or not machine_data: return json_response({}, status.HTTP_205_RESET_CONTENT, '没有该数据') - machine_data.queue_user = request.user.chinese_name - machine_data.save() - return json_response({}, status.HTTP_200_OK, '申请成功') + if machine_data.queue_user: + return json_response({}, status.HTTP_200_OK, '当前已存在申请人,请稍后') + elif machine_data.owner == request.user.chinese_name: + return json_response({}, status.HTTP_200_OK, '您正在使用无需申请') + else: + machine_data.queue_user = request.user.chinese_name + machine_data.save() + return json_response({}, status.HTTP_200_OK, '申请成功') def cancel_apply_use_machine(self, request, *args, **kwargs): machine_id = request.data.get('id') @@ -84,8 +89,24 @@ class TestMachineViewSet(viewsets.ModelViewSet): machine_data = TestMachine.objects.get(id=machine_id) if not machine_id or not machine_data: return json_response({}, status.HTTP_205_RESET_CONTENT, '没有该数据') - if not machine_data.owner or machine_data.owner == request.user.chinese_name: + if machine_data.owner == request.user.chinese_name: + machine_data.server_IP = request.data.get('server_IP') + machine_data.server_user_name = request.data.get('server_user_name') + machine_data.server_password = request.data.get('server_password') + machine_data.os_version = request.data.get('os_version') + machine_data.link_status = get_link_status(machine_data.BMC_IP, machine_data.BMC_user_name, + machine_data.BMC_password, machine_data.server_IP, + machine_data.server_user_name, machine_data.server_password) + # TODO 通过后端逻辑获取 + # machine_data.task_status = + machine_data.save() + return json_response({}, status.HTTP_200_OK, '修改成功') + + elif not machine_data.owner: + if request.user.chinese_name != machine_data.queue_user and machine_data.queue_user: + return json_response({}, status.HTTP_200_OK, '当前申请人是 %s ,请协商后在使用'%(machine_data.queue_user)) machine_data.owner = request.user.chinese_name + machine_data.queue_user = None machine_data.server_IP = request.data.get('server_IP') machine_data.server_user_name = request.data.get('server_user_name') machine_data.server_password = request.data.get('server_password')