示例#1
0
def edit_tool_config(request, ttid):
    tool_config = Tool_Configuration.objects.get(pk=ttid)
    if request.method == 'POST':
        tform = ToolConfigForm(request.POST, instance=tool_config)
        if tform.is_valid():
            form_copy = tform.save(commit=False)
            form_copy.password = dojo_crypto_encrypt(
                tform.cleaned_data['password'])
            form_copy.ssh = dojo_crypto_encrypt(tform.cleaned_data['ssh'])
            form_copy.save()
            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Tool Configuration Successfully Updated.',
                                 extra_tags='alert-success')
            return HttpResponseRedirect(reverse('tool_config', ))
    else:
        tool_config.password = prepare_for_view(tool_config.password)
        tool_config.ssh = prepare_for_view(tool_config.ssh)
        tform = ToolConfigForm(instance=tool_config)
    add_breadcrumb(title="Edit Tool Configuration",
                   top_level=False,
                   request=request)

    return render(request, 'dojo/edit_tool_config.html', {
        'tform': tform,
    })
示例#2
0
def edit_tool_config(request, ttid):
    tool_config = Tool_Configuration.objects.get(pk=ttid)
    if request.method == 'POST':
        tform = ToolConfigForm(request.POST, instance=tool_config)
        if tform.is_valid():
            form_copy = tform.save(commit=False)
            form_copy.password = dojo_crypto_encrypt(tform.cleaned_data['password'])
            print "######"
            print tform.cleaned_data['ssh']

            form_copy.ssh = dojo_crypto_encrypt(tform.cleaned_data['ssh'])
            form_copy.save()
            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Tool Configuration Successfully Updated.',
                                 extra_tags='alert-success')
            return HttpResponseRedirect(reverse('tool_config', ))
    else:
        tool_config.password = prepare_for_view(tool_config.password)
        tool_config.ssh = prepare_for_view(tool_config.ssh)
        tform = ToolConfigForm(instance=tool_config)
    add_breadcrumb(title="Edit Tool Configuration", top_level=False, request=request)

    return render(request,
                  'dojo/edit_tool_config.html',
                  {
                      'tform': tform,
                  })
示例#3
0
def edit_tool_config(request, ttid):
    tool_config = Tool_Configuration.objects.get(pk=ttid)
    if request.method == 'POST':
        tform = ToolConfigForm(request.POST, instance=tool_config)
        if tform.is_valid():
            form_copy = tform.save(commit=False)
            form_copy.password = dojo_crypto_encrypt(
                tform.cleaned_data['password'])
            form_copy.ssh = dojo_crypto_encrypt(tform.cleaned_data['ssh'])
            try:
                tool_type_qs_sonarqube = Tool_Type.objects.filter(
                    name='SonarQube')
                if form_copy.tool_type in tool_type_qs_sonarqube:
                    sq = SonarQubeAPI(form_copy)
                    project_count = sq.test_connection(
                    )  # if connection is not successful, this call raise exception
                    messages.add_message(
                        request,
                        messages.SUCCESS,
                        'SonarQube connection successful. You have access to {} projects'
                        .format(project_count),
                        extra_tags='alert-success')
                tool_type_qs_cobaltio = Tool_Type.objects.filter(
                    name='Cobalt.io')
                if form_copy.tool_type in tool_type_qs_cobaltio:
                    cobalt = CobaltAPI(form_copy)
                    org = cobalt.test_connection(
                    )  # if connection is not successful, this call raise exception
                    messages.add_message(
                        request,
                        messages.SUCCESS,
                        'Cobalt.io connection successful. You have access to the "{}" org'
                        .format(org["resource"]["name"]),
                        extra_tags='alert-success')
                form_copy.save()
                messages.add_message(
                    request,
                    messages.SUCCESS,
                    'Tool Configuration Successfully Updated.',
                    extra_tags='alert-success')
                return HttpResponseRedirect(reverse('tool_config', ))
            except Exception as e:
                messages.add_message(request,
                                     messages.ERROR,
                                     str(e),
                                     extra_tags='alert-danger')
    else:
        tool_config.password = prepare_for_view(tool_config.password)
        tool_config.ssh = prepare_for_view(tool_config.ssh)
        tform = ToolConfigForm(instance=tool_config)
    add_breadcrumb(title="Edit Tool Configuration",
                   top_level=False,
                   request=request)

    return render(request, 'dojo/edit_tool_config.html', {
        'tform': tform,
    })
示例#4
0
def edit_cred(request, ttid):
    tool_config = Cred_User.objects.get(pk=ttid)
    if request.method == 'POST':
        tform = CredUserForm(request.POST, request.FILES, instance=tool_config)
        if tform.is_valid():
            form_copy = tform.save(commit=False)
            form_copy.password = dojo_crypto_encrypt(
                tform.cleaned_data['password'])
            #handle_uploaded_selenium(request.FILES['selenium_script'], tool_config)
            form_copy.save()

            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Credential Successfully Updated.',
                                 extra_tags='alert-success')
            return HttpResponseRedirect(reverse('cred', ))
    else:
        tool_config.password = prepare_for_view(tool_config.password)

        tform = CredUserForm(instance=tool_config)
    add_breadcrumb(title="Edit Credential Configuration",
                   top_level=False,
                   request=request)

    return render(request, 'dojo/edit_cred.html', {
        'tform': tform,
    })
示例#5
0
def edit_cred(request, ttid):
    tool_config = Cred_User.objects.get(pk=ttid)
    if request.method == 'POST':
        tform = CredUserForm(request.POST, request.FILES, instance=tool_config)
        if tform.is_valid():
            form_copy = tform.save(commit=False)
            form_copy.password = dojo_crypto_encrypt(tform.cleaned_data['password'])
            #handle_uploaded_selenium(request.FILES['selenium_script'], tool_config)
            form_copy.save()

            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Credential Successfully Updated.',
                                 extra_tags='alert-success')
            return HttpResponseRedirect(reverse('cred', ))
    else:
        tool_config.password = prepare_for_view(tool_config.password)

        tform = CredUserForm(instance=tool_config)
    add_breadcrumb(title="Edit Credential Configuration", top_level=False, request=request)

    return render(request,
                  'dojo/edit_cred.html',
                  {
                      'tform': tform,
                  })
示例#6
0
def edit_tool_config(request, ttid):
    tool_config = Tool_Configuration.objects.get(pk=ttid)
    if request.method == 'POST':
        tform = ToolConfigForm(request.POST, instance=tool_config)
        if tform.is_valid():
            form_copy = tform.save(commit=False)
            form_copy.password = dojo_crypto_encrypt(
                tform.cleaned_data['password'])
            form_copy.ssh = dojo_crypto_encrypt(tform.cleaned_data['ssh'])
            try:
                api = create_API(form_copy)
                if api and hasattr(api, 'test_connection'):
                    result = api.test_connection()
                    messages.add_message(
                        request,
                        messages.SUCCESS,
                        f'API connection successful with message: {result}.',
                        extra_tags='alert-success')
                form_copy.save()
                messages.add_message(
                    request,
                    messages.SUCCESS,
                    'Tool Configuration successfully updated.',
                    extra_tags='alert-success')
                return HttpResponseRedirect(reverse('tool_config', ))
            except Exception as e:
                logger.info(e)
                messages.add_message(request,
                                     messages.ERROR,
                                     str(e),
                                     extra_tags='alert-danger')
    else:
        tool_config.password = prepare_for_view(tool_config.password)
        tool_config.ssh = prepare_for_view(tool_config.ssh)
        tform = ToolConfigForm(instance=tool_config)
    add_breadcrumb(title="Edit Tool Configuration",
                   top_level=False,
                   request=request)

    return render(request, 'dojo/edit_tool_config.html', {
        'tform': tform,
    })
示例#7
0
def new_cred(request):
    if request.method == 'POST':
        tform = CredUserForm(request.POST)
        if tform.is_valid():
            form_copy = tform.save(commit=False)
            form_copy.password = dojo_crypto_encrypt(tform.cleaned_data['password'])
            form_copy.save()
            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Credential Successfully Created.',
                                 extra_tags='alert-success')
            return HttpResponseRedirect(reverse('cred', ))
    else:
        tform = CredUserForm()
        add_breadcrumb(title="New Credential", top_level=False, request=request)
    return render(request, 'dojo/new_cred.html',
                  {'tform': tform})
示例#8
0
def new_cred(request):
    if request.method == 'POST':
        tform = CredUserForm(request.POST)
        if tform.is_valid():
            form_copy = tform.save(commit=False)
            form_copy.password = dojo_crypto_encrypt(tform.cleaned_data['password'])
            form_copy.save()
            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Credential Successfully Created.',
                                 extra_tags='alert-success')
            return HttpResponseRedirect(reverse('cred', ))
    else:
        tform = CredUserForm()
        add_breadcrumb(title="New Credential", top_level=False, request=request)
    return render(request, 'dojo/new_cred.html',
                  {'tform': tform})
示例#9
0
 def test_encryption(self):
     test_input = "Hello World!"
     encrypt = dojo_crypto_encrypt(test_input)
     test_output = prepare_for_view(encrypt)
     self.assertEqual(test_input, test_output)