Beispiel #1
0
def idc_add(request):
    header_title = ["机房管理", "添加机房"]
    title = header_title[-1]
    form = IdcForm()
    if request.method == "POST":
        form = IdcForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('idc_list')
        else:
            print(form)

    return render(request, 'assets/idc_add.html', locals())
Beispiel #2
0
    def get(self, request, **kwargs):
        uid = kwargs.pop('uid', None)
        if uid:
            form = IdcForm(instance=IDC.objects.get(uuid=uid))
            host_select = self.server_all_obj.filter(idc_name=IDC.objects.get(
                uuid=uid))
        else:
            self.title[1] = '添加IDC信息'
            form = IdcForm()
            host_select = []

        host_no_select = [
            server for server in self.server_all_obj
            if server not in host_select
        ]

        context = {
            'title': self.title,
            'host_select': host_select,
            'host_no_select': host_no_select,
            'form': form,
            'uid': uid
        }
        return render(request, self.template_name, context)
Beispiel #3
0
def idc_list(request):
    if request.method == 'POST':
        idc =  Idc()
        form = IdcForm(request.POST, instance=idc)
        if form.is_valid():
            #print(request.POST)
            form.save()
            operate_log.delay(user=request.user.username,ip=request.META.get('HTTP_X_FORWARDED_FOR',request.META['REMOTE_ADDR']),type=u"添加机房",content=u"添加机房:{}".format(idc.name))
            return JsonResponse({"status": u"添加成功"})
        else:
            return JsonResponse({"status": u"添加失败", "msg": u"机房名字已存在"})
    idcs = Idc.objects.all()
    form = IdcForm()
    return render(request, 'idc_list.html', locals())
Beispiel #4
0
def idc_add(request):
    if request.method == "POST":
        idc_form = IdcForm(request.POST)
        if idc_form.is_valid():
            idc_form.save()
            tips = u"增加成功!"
            display_control = ""
        else:
            tips = u"增加失败!"
            display_control = ""
        return render(request, "assets/idc_base.html", locals())
    else:
        display_control = "none"
        idc_form = IdcForm()
        return render(request, "assets/idc_base.html", locals())
Beispiel #5
0
    def post(self, request, **kwargs):
        uid = kwargs.pop('uid', None)
        if uid:
            form = IdcForm(request.POST, instance=IDC.objects.get(uuid=uid))
        else:
            form = IdcForm(request.POST)

        if form.is_valid():
            form.save()
            host_select = request.POST.getlist('hostSelect')
            print(host_select)
            if uid:
                idcObj = IDC.objects.get(uuid=uid)
                Server.objects.filter(uuid__in=host_select).update(
                    idc_name=idcObj)

        return redirect('idc_list')
Beispiel #6
0
def idc_edit(request, idc_id):
    project = IDC.objects.get(id=idc_id)
    if request.method == 'POST':
        form = IdcForm(request.POST, instance=project)
        if form.is_valid():
            form.save()
            # HttpResponseRedirect(reverse('idc'))是重定向的方法,跳转到name为idc的url中去
            return HttpResponseRedirect(reverse('idc'))
    else:
        form = IdcForm(instance=project)
    display_control = "none"
    results = {
        'idc_form': form,
        'idc_id': idc_id,
        'request': request,
        'display_control': display_control,
    }
    return render(request, 'assets/idc_base.html', results)
Beispiel #7
0
def idc_operate(request,id):
    idc = get_object_or_404(Idc, pk=id)
    if request.method == 'DELETE':
        try:
            idc.delete()
            operate_log.delay(user=request.user.username,ip=request.META.get('HTTP_X_FORWARDED_FOR',request.META['REMOTE_ADDR']),type=u"删除机房",content=u"删除机房:{}".format(idc.name))
        except ProtectedError:
            return JsonResponse({"status": u"删除失败", "msg": u"请确保没有服务器依赖于它"})
        return JsonResponse({"status": u"删除成功"})
    if request.method == 'POST':
        form = IdcForm(request.POST, instance=idc)
        if form.is_valid():
            form.save()
            operate_log.delay(user=request.user.username,ip=request.META.get('HTTP_X_FORWARDED_FOR',request.META['REMOTE_ADDR']),type=u"更新机房",content=u"更新机房:{}".format(idc.name))
            return JsonResponse({"status": u"更新成功"})
        else:
            return render(request, 'idc_operate.html', locals())
    form = IdcForm(instance=idc)
    return render(request, 'idc_operate.html', locals())
Beispiel #8
0
def idc_edit(request, id, server_all=None):
    header_title = ["机房管理", "修改机房"]
    title = header_title[-1]
    server_all = get_node_list(request)

    form = IdcForm(instance=IDC.objects.get(uuid=id))

    host_select = server_all.filter(idc_name=IDC.objects.get(uuid=id))
    host_no_select = [a for a in server_all if a not in host_select]
    if request.method == "POST":
        form = IdcForm(request.POST, instance=IDC.objects.get(uuid=id))
        # print(form)
        if form.is_valid():
            host_select = request.POST.getlist('hostSelect')
            # host_no_select = request.POST.getlist('hostNoSelect')
            idcObj = IDC.objects.get(uuid=id)
            Server.objects.filter(uuid__in=host_select).update(idc_name=idcObj)
            form.save()
            return redirect('idc_list')
        else:
            print('form err')
    return render(request, 'assets/idc_edit.html', locals())