コード例 #1
0
ファイル: views.py プロジェクト: xtracerx/crits
def add_campaign(request):
    """
    Add a new Campaign to CRITs. Should be an AJAX POST.

    :param request: Django request object (Required)
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponse`
    """

    if request.method == "POST" and request.is_ajax():
        campaign_form = AddCampaignForm(request.POST)
        if campaign_form.is_valid():
            data = campaign_form.cleaned_data
            campaign_name = data['campaign']
            campaign_aliases = data.get('aliases', None)
            campaign_description = data.get('description', None)
            bucket_list = data.get('bucket_list')
            ticket = data.get('ticket')
            related_id = data['related_id']
            related_type = data['related_type']
            relationship_type = data['relationship_type']

            result = add_campaignh(campaign_name,
                                   campaign_description,
                                   campaign_aliases,
                                   request.user.username,
                                   bucket_list=bucket_list,
                                   ticket=ticket,
                                   related_id=related_id,
                                   related_type=related_type,
                                   relationship_type=relationship_type)
            if result['success']:
                message = {
                    'message':
                    '<div>Campaign <a href="%s">%s</a> added successfully!</div>'
                    % (reverse('crits.campaigns.views.campaign_details',
                               args=[campaign_name]), campaign_name),
                    'success':
                    True
                }
            else:
                message = {
                    'message':
                    ['Campaign addition failed!'] + result['message'],
                    'success': False
                }
            return HttpResponse(json.dumps(message),
                                content_type="application/json")
        else:
            return HttpResponse(json.dumps({
                'form':
                campaign_form.as_table(),
                'success':
                False,
                'message':
                "Please correct form errors."
            }),
                                content_type="application/json")
    return render_to_response("error.html", {"error": 'Expected AJAX POST'},
                              RequestContext(request))
コード例 #2
0
ファイル: views.py プロジェクト: AInquel/crits
def add_campaign(request):
    """
    Add a new Campaign to CRITs. Should be an AJAX POST.

    :param request: Django request object (Required)
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponse`
    """

    if request.method == "POST" and request.is_ajax():
        campaign_form = AddCampaignForm(request.POST)
        if campaign_form.is_valid():
            data = campaign_form.cleaned_data
            campaign_name = data['campaign']
            campaign_aliases = data.get('aliases', None)
            campaign_description = data.get('description', None)
            bucket_list = data.get('bucket_list')
            ticket = data.get('ticket')
            result = add_campaignh(campaign_name,
                                   campaign_description,
                                   campaign_aliases,
                                   request.user.username,
                                   bucket_list=bucket_list,
                                   ticket=ticket)
            if result['success']:
                message = {'message': '<div>Campaign <a href="%s">%s</a> added successfully!</div>' % (reverse('crits.campaigns.views.campaign_details', args=[campaign_name]), campaign_name), 'success': True}
            else:
                message = {'message': ['Campaign addition failed!']+result['message'], 'success': False}
            return HttpResponse(json.dumps(message), mimetype="application/json")
        else:
            return HttpResponse(json.dumps({'form':campaign_form.as_table(), 'success': False, 'message':"Please correct form errors."}), mimetype="application/json")
    return render_to_response("error.html", {"error" : 'Expected AJAX POST' }, RequestContext(request))
コード例 #3
0
ファイル: views.py プロジェクト: armtash/crits
def add_campaign(request):
    """
    Add a new Campaign to CRITs. Should be an AJAX POST.

    :param request: Django request object (Required)
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponse`
    """
    request.user._setup()
    user = request.user

    if request.method == "POST" and request.is_ajax():
        campaign_form = AddCampaignForm(request.POST)
        if campaign_form.is_valid():
            if user.has_access_to(CampaignACL.WRITE):
                data = campaign_form.cleaned_data
                campaign_name = data['campaign']
                campaign_aliases = data.get('aliases', None)
                campaign_description = data.get('description', None)
                bucket_list = data.get('bucket_list')
                ticket = data.get('ticket')
                related_id = data['related_id']
                related_type = data['related_type']
                relationship_type = data['relationship_type']

                result = add_campaignh(campaign_name,
                                       campaign_description,
                                       campaign_aliases,
                                       request.user.username,
                                       bucket_list=bucket_list,
                                       ticket=ticket,
                                       related_id=related_id,
                                       related_type=related_type,
                                       relationship_type=relationship_type)
            else:
                result = {'success':False,
                          'message':'User does not have permission to add new campaigns.'}
            if result['success']:
                message = {
                    'message': '<div>Campaign <a href="%s">%s</a> added successfully!</div>' % (reverse('crits-campaigns-views-campaign_details', args=[campaign_name]), campaign_name),
                    'success': True}
            else:
                message = {
                    'message': 'Campaign addition failed!'+str(result['message']),
                    'success': False}
            return HttpResponse(json.dumps(message), content_type="application/json")
        else:
            return HttpResponse(json.dumps({'form': campaign_form.as_table(), 'success': False, 'message': "Please correct form errors."}), content_type="application/json")
    return render(request, "error.html", {"error": 'Expected AJAX POST'})
コード例 #4
0
ファイル: views.py プロジェクト: icedstitch/crits
def add_campaign(request):
    """
    Add a new Campaign to CRITs. Should be an AJAX POST.

    :param request: Django request object (Required)
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponse`
    """

    if request.method == "POST" and request.is_ajax():
        campaign_form = AddCampaignForm(request.POST)
        if campaign_form.is_valid():
            data = campaign_form.cleaned_data
            campaign_name = data["campaign"]
            campaign_aliases = data.get("aliases", None)
            campaign_description = data.get("description", None)
            bucket_list = data.get("bucket_list")
            ticket = data.get("ticket")
            result = add_campaignh(
                campaign_name,
                campaign_description,
                campaign_aliases,
                request.user.username,
                bucket_list=bucket_list,
                ticket=ticket,
            )
            if result["success"]:
                message = {
                    "message": '<div>Campaign <a href="%s">%s</a> added successfully!</div>'
                    % (reverse("crits.campaigns.views.campaign_details", args=[campaign_name]), campaign_name),
                    "success": True,
                }
            else:
                message = {"message": ["Campaign addition failed!"] + result["message"], "success": False}
            return HttpResponse(json.dumps(message), mimetype="application/json")
        else:
            return HttpResponse(
                json.dumps(
                    {"form": campaign_form.as_table(), "success": False, "message": "Please correct form errors."}
                ),
                mimetype="application/json",
            )
    return render_to_response("error.html", {"error": "Expected AJAX POST"}, RequestContext(request))