예제 #1
0
파일: views.py 프로젝트: GodotX/freenas
def vcp_home(request):
    if request.method == 'POST':
     form = VcenterConfigurationForm(request.POST)
     if form.is_valid():

         if form.install_plugin():
            form.save()
            obj = models.VcenterConfiguration.objects.latest('id')
            obj.vc_version = utils.get_plugin_version()
            obj.save()
            return JsonResp(request,message = _('vCenter plugin installed successfully.'),)
         else:
            return JsonResp(request, error = True, message = _(form.vcp_status))
    else:
        try:
          obj = models.VcenterConfiguration.objects.latest('id')
          form = VcenterConfigurationForm(instance=obj)
          form.fields['vc_ip'].widget.attrs['readonly'] = True
          form.fields['vc_username'].widget.attrs['readonly'] = True
          form.fields['vc_password'].widget.attrs['readonly'] = True
          form.fields['vc_port'].widget.attrs['readonly'] = True
          form.fields['vc_management_ip'].widget.attrs['readonly'] = True
          form.is_update_needed()
        except :
           form = VcenterConfigurationForm()
           form.is_update_needed()
    return render(request, "vcp/index.html", {'form': form })
예제 #2
0
파일: views.py 프로젝트: Cbrdiv/freenas
def vcp_repair(request):
    if request.method == 'POST':
        form = VcenterConfigurationForm(request.POST)
        if form.is_valid():
            if form.repair_plugin():
                return HttpResponseRedirect("/vcp/home")
            else:
                return JsonResp(
                    request, error=True, message=_(
                        form.vcp_status))
        else:
            form.is_update_needed()
            form.fields['vc_ip'].widget.attrs['readonly'] = True
    return render(request, "vcp/index.html", {'form': form})
예제 #3
0
def vcp_repair(request):
    if request.method == 'POST':
        form = VcenterConfigurationForm(request.POST)
        if form.is_valid():
            if form.repair_plugin():
                return HttpResponseRedirect("/vcp/home")
            else:
                return JsonResp(request,
                                error=True,
                                message=_(form.vcp_status))
        else:
            form.is_update_needed()
            form.fields['vc_ip'].widget.attrs['readonly'] = True
    return render(request, "vcp/index.html", {'form': form})
예제 #4
0
def vcp_upgrade(request):
    obj = models.VcenterConfiguration.objects.latest('id')
    if request.method == 'POST':
        form = VcenterConfigurationForm(request.POST, instance=obj)
        if form.is_valid():

            if not form.is_update_needed():
                return JsonResp(
                    request,
                    error=True,
                    message=_("There are No updates available at this time."))
            else:

                form.vcp_action = 'UPGRADE'
                try:
                    form.save()
                    return JsonResp(
                        request,
                        message=_("The plugin has been successfully upgraded"),
                    )
                except CallTimeout:
                    return JsonResp(
                        request,
                        message=_(
                            "The plugin could not be installed because of timeout."
                            " Most probably the port provided was incorrect"),
                    )
                except ValidationErrors as e:
                    handle_middleware_validation(form, e)

        return JsonResp(request, form=form)
예제 #5
0
파일: views.py 프로젝트: Cbrdiv/freenas
def vcp_upgrade(request):
    if request.method == 'POST':
        form = VcenterConfigurationForm(request.POST)
        if form.is_valid():
            form.is_update_needed()
            if form.vcp_is_update_available is False:
                return JsonResp(
                    request, error=True, message=_(
                        "There are No updates available at this time."))
            if form.upgrade_plugin():
                return HttpResponseRedirect("/vcp/home")
            else:
                return JsonResp(
                    request, error=True, message=_(
                        form.vcp_status))
        else:
            form.is_update_needed()
            form.fields['vc_ip'].widget.attrs['readonly'] = True
    return render(request, "vcp/index.html", {'form': form})
예제 #6
0
파일: views.py 프로젝트: z147028571/freenas
def vcp_upgrade(request):
    if request.method == 'POST':
        form = VcenterConfigurationForm(request.POST)
        if form.is_valid():
            form.is_update_needed()
            if form.vcp_is_update_available is False:
                return JsonResp(
                    request, error=True, message=_(
                        "There are No updates available at this time."))
            if form.upgrade_plugin():
                return HttpResponseRedirect("/legacy/vcp/home")
            else:
                return JsonResp(
                    request, error=True, message=_(
                        form.vcp_status))
        else:
            form.is_update_needed()
            form.fields['vc_ip'].widget.attrs['readonly'] = True
    return render(request, "vcp/index.html", {'form': form})
예제 #7
0
def vcp_home(request):
    aux_enable_https = models.VcenterAuxSettings.objects.latest(
        'id').vc_enable_https
    if request.method == 'POST':
        form = VcenterConfigurationForm(request.POST)
        if form.is_valid():

            if form.install_plugin():
                form.save()
                obj = models.VcenterConfiguration.objects.latest('id')
                obj.vc_version = utils.get_plugin_version()
                obj.vc_password = ''
                obj.save()
            else:
                return JsonResp(request,
                                error=True,
                                message=_(form.vcp_status))
        else:
            form.is_update_needed()
            return render(request, "vcp/index.html", {
                'form': form,
                'aux_enable_https': aux_enable_https,
            })
    try:
        obj = models.VcenterConfiguration.objects.latest('id')
        form = VcenterConfigurationForm(instance=obj)
        form.fields['vc_ip'].widget.attrs['readonly'] = True
        form.is_update_needed()
    except:
        form = VcenterConfigurationForm()
        form.is_update_needed()
    return render(request, "vcp/index.html", {
        'form': form,
        'aux_enable_https': aux_enable_https,
    })
예제 #8
0
파일: views.py 프로젝트: Cbrdiv/freenas
def vcp_home(request):
    aux_enable_https = models.VcenterAuxSettings.objects.latest('id').vc_enable_https
    if request.method == 'POST':
        form = VcenterConfigurationForm(request.POST)
        if form.is_valid():

            if form.install_plugin():
                form.save()
                obj = models.VcenterConfiguration.objects.latest('id')
                obj.vc_version = utils.get_plugin_version()
                obj.vc_password = ''
                obj.save()
            else:
                return JsonResp(
                    request, error=True, message=_(
                        form.vcp_status))
        else:
            form.is_update_needed()
            return render(
                request,
                "vcp/index.html",
                {
                    'form': form,
                    'aux_enable_https': aux_enable_https,
                }
            )
    try:
        obj = models.VcenterConfiguration.objects.latest('id')
        form = VcenterConfigurationForm(instance=obj)
        form.fields['vc_ip'].widget.attrs['readonly'] = True
        form.is_update_needed()
    except:
        form = VcenterConfigurationForm()
        form.is_update_needed()
    return render(
        request,
        "vcp/index.html",
        {
            'form': form,
            'aux_enable_https': aux_enable_https,
        }
    )