Ejemplo n.º 1
0
def new_product(request):
    jform = None
    if request.method == 'POST':
        form = ProductForm(request.POST, instance=Product())
        if get_system_setting('enable_jira'):
            jform = JIRAPKeyForm(request.POST, instance=JIRA_PKey())
        else:
            jform = None

        if form.is_valid():
            product = form.save()
            tags = request.POST.getlist('tags')
            t = ", ".join('"{0}"'.format(w) for w in tags)
            product.tags = t
            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Product added successfully.',
                                 extra_tags='alert-success')
            if get_system_setting('enable_jira'):
                if jform.is_valid():
                    jira_pkey = jform.save(commit=False)
                    if jira_pkey.conf is not None:
                        jira_pkey.product = product
                        jira_pkey.save()
                        messages.add_message(
                            request,
                            messages.SUCCESS,
                            'JIRA information added successfully.',
                            extra_tags='alert-success')

            # SonarQube API Configuration
            sonarqube_form = Sonarqube_ProductForm(request.POST)
            if sonarqube_form.is_valid():
                sonarqube_product = sonarqube_form.save(commit=False)
                sonarqube_product.product = product
                sonarqube_product.save()

            create_notification(event='product_added',
                                title=product.name,
                                url=reverse('view_product',
                                            args=(product.id, )))
            return HttpResponseRedirect(
                reverse('view_product', args=(product.id, )))
    else:
        form = ProductForm()
        if get_system_setting('enable_jira'):
            jform = JIRAPKeyForm()
        else:
            jform = None

    add_breadcrumb(title="New Product", top_level=False, request=request)
    return render(request, 'dojo/new_product.html', {
        'form': form,
        'jform': jform,
        'sonarqube_form': Sonarqube_ProductForm()
    })
Ejemplo n.º 2
0
def new_product(request):
    jform = None
    if request.method == 'POST':
        form = ProductForm(request.POST, instance=Product())
        if hasattr(settings, 'ENABLE_JIRA'):
            if settings.ENABLE_JIRA:
                jform = JIRAPKeyForm(request.POST, instance=JIRA_PKey())
            else:
                jform = None
        else:
            jform = None

        if form.is_valid():
            product = form.save()
            tags = request.POST.getlist('tags')
            t = ", ".join(tags)
            product.tags = t
            messages.add_message(request,
                                 messages.SUCCESS,
                                 'Product added successfully.',
                                 extra_tags='alert-success')
            if hasattr(settings, 'ENABLE_JIRA'):
                if settings.ENABLE_JIRA:
                    if jform.is_valid():
                        jira_pkey = jform.save(commit=False)
                        if jira_pkey.conf is not None:
                            jira_pkey.product = product
                            jira_pkey.save()
                            messages.add_message(
                                request,
                                messages.SUCCESS,
                                'JIRA information added successfully.',
                                extra_tags='alert-success')

            return HttpResponseRedirect(
                reverse('view_product', args=(product.id, )))
    else:
        form = ProductForm()
        if hasattr(settings, 'ENABLE_JIRA'):
            if settings.ENABLE_JIRA:
                jform = JIRAPKeyForm()
        else:
            jform = None
    add_breadcrumb(title="New Product", top_level=False, request=request)
    return render(request, 'dojo/new_product.html', {
        'form': form,
        'jform': jform
    })