コード例 #1
0
ファイル: views.py プロジェクト: icedstitch/crits
def get_relationship_type_dropdown(request):
    """
    Get relationship type dropdown data. 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":
        if request.is_ajax():
            dd_types = ""
            if "all" in request.POST:
                dd_types = get_relationship_types(False)
            else:
                dd_types = get_relationship_types()
            dd_final = {}
            for type in dd_types:
                dd_final[type] = type
            result = {"types": dd_final}
            return HttpResponse(json.dumps(result), mimetype="application/json")
        else:
            error = "Expected AJAX"
            return render_to_response("error.html", {"error": error}, RequestContext(request))
    else:
        error = "Expected POST"
        return render_to_response("error.html", {"error": error}, RequestContext(request))
コード例 #2
0
def get_relationship_type_dropdown(request):
    """
    Get relationship type dropdown data. 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':
        if request.is_ajax():
            dd_types = ""
            if 'all' in request.POST:
                dd_types = get_relationship_types(False)
            else:
                dd_types = get_relationship_types()
            dd_final = {}
            for type in dd_types:
                dd_final[type] = type
            result = {'types': dd_final}
            return HttpResponse(json.dumps(result),
                                mimetype="application/json")
        else:
            error = "Expected AJAX"
            return render_to_response("error.html", {"error": error},
                                      RequestContext(request))
    else:
        error = "Expected POST"
        return render_to_response("error.html", {"error": error},
                                  RequestContext(request))
コード例 #3
0
 def __init__(self, *args, **kwargs):
     super(ForgeRelationshipForm, self).__init__(*args, **kwargs)
     self.fields['forward_type'].choices = self.fields[
         'reverse_type'].choices = [
             (c, c) for c in sorted(settings.CRITS_TYPES.iterkeys())
         ]
     self.fields['forward_relationship'].choices = [
         (c, c) for c in get_relationship_types(True)
     ]
コード例 #4
0
ファイル: forms.py プロジェクト: 0x3a/crits
 def __init__(self, *args, **kwargs):
     super(ForgeRelationshipForm, self).__init__(*args, **kwargs)
     self.fields['forward_type'].choices = self.fields['reverse_type'].choices = [(c, c) for c in sorted(settings.CRITS_TYPES.iterkeys())]
     self.fields['forward_relationship'].choices = [(c, c) for c in get_relationship_types(True)]
     self.fields['rel_confidence'].choices = [('unknown', 'unknown'),
                                              ('low', 'low'),
                                              ('medium', 'medium'),
                                              ('high', 'high')]
     self.fields['rel_confidence'].initial = 'medium'
コード例 #5
0
def add_new_relationship(request):
    """
    Add a new relationship. 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():
        form = ForgeRelationshipForm(request.POST)
        choices = [(c, c) for c in get_relationship_types(False)]
        form.fields['forward_relationship'].choices = choices
        if form.is_valid():
            cleaned_data = form.cleaned_data
            results = forge_relationship(
                left_type=cleaned_data.get('forward_type'),
                left_id=cleaned_data.get('forward_value'),
                right_type=cleaned_data.get('reverse_type'),
                right_id=cleaned_data.get('dest_id'),
                rel_type=cleaned_data.get('forward_relationship'),
                rel_date=cleaned_data.get('relationship_date'),
                analyst=request.user.username,
                rel_reason=cleaned_data.get('rel_reason'),
                rel_confidence=cleaned_data.get('rel_confidence'),
                get_rels=True)
            if results['success'] == True:
                relationship = {
                    'type': cleaned_data.get('forward_type'),
                    'value': cleaned_data.get('forward_value')
                }
                message = render_to_string(
                    'relationships_listing_widget.html', {
                        'relationship': relationship,
                        'nohide': True,
                        'relationships': results['relationships']
                    }, RequestContext(request))
                result = {'success': True, 'message': message}
            else:
                message = "Error adding relationship: %s" % results['message']
                result = {'success': False, 'message': message}
        else:
            message = "Invalid Form: %s" % form.errors
            form = form.as_table()
            result = {'success': False, 'form': form, 'message': message}
        return HttpResponse(json.dumps(result), mimetype="application/json")
    else:
        error = "Expected AJAX POST"
        return render_to_response("error.html", {"error": error},
                                  RequestContext(request))
コード例 #6
0
ファイル: views.py プロジェクト: 0x3a/crits
def add_new_relationship(request):
    """
    Add a new relationship. 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():
        form = ForgeRelationshipForm(request.POST)
        choices = [(c,c) for c in get_relationship_types(False)]
        form.fields['forward_relationship'].choices = choices
        if form.is_valid():
            cleaned_data = form.cleaned_data;
            results = forge_relationship(left_type=cleaned_data.get('forward_type'),
                                         left_id=cleaned_data.get('forward_value'),
                                         right_type=cleaned_data.get('reverse_type'),
                                         right_id=cleaned_data.get('dest_id'),
                                         rel_type=cleaned_data.get('forward_relationship'),
                                         rel_date=cleaned_data.get('relationship_date'),
                                         analyst=request.user.username,
                                         rel_reason=cleaned_data.get('rel_reason'),
                                         rel_confidence=cleaned_data.get('rel_confidence'),
                                         get_rels=True)
            if results['success'] == True:
                relationship = {'type': cleaned_data.get('forward_type'),
                                'value': cleaned_data.get('forward_value')}
                message = render_to_string('relationships_listing_widget.html',
                                           {'relationship': relationship,
                                            'nohide': True,
                                            'relationships': results['relationships']},
                                           RequestContext(request))
                result = {'success': True, 'message': message}
            else:
                message = "Error adding relationship: %s" % results['message']
                result = {'success': False, 'message': message}
        else:
            message = "Invalid Form: %s" % form.errors
            form = form.as_table()
            result = {'success': False, 'form': form, 'message': message}
        return HttpResponse(json.dumps(result), mimetype="application/json")
    else:
        error = "Expected AJAX POST"
        return render_to_response("error.html",
                                  {"error" : error },
                                  RequestContext(request))
コード例 #7
0
ファイル: views.py プロジェクト: icedstitch/crits
def add_new_relationship(request):
    """
    Add a new relationship. 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():
        form = ForgeRelationshipForm(request.POST)
        choices = [(c, c) for c in get_relationship_types(False)]
        form.fields["forward_relationship"].choices = choices
        if form.is_valid():
            cleaned_data = form.cleaned_data
            results = forge_relationship(
                left_type=cleaned_data.get("forward_type"),
                left_id=cleaned_data.get("forward_value"),
                right_type=cleaned_data.get("reverse_type"),
                right_id=cleaned_data.get("dest_id"),
                rel_type=cleaned_data.get("forward_relationship"),
                rel_date=cleaned_data.get("relationship_date"),
                analyst=request.user.username,
                get_rels=True,
            )
            if results["success"] == True:
                relationship = {"type": cleaned_data.get("forward_type"), "value": cleaned_data.get("forward_value")}
                message = render_to_string(
                    "relationships_listing_widget.html",
                    {"relationship": relationship, "nohide": True, "relationships": results["relationships"]},
                    RequestContext(request),
                )
                result = {"success": True, "message": message}
            else:
                message = "Error adding relationship: %s" % results["message"]
                result = {"success": False, "message": message}
        else:
            message = "Invalid Form: %s" % form.errors
            form = form.as_table()
            result = {"success": False, "form": form, "message": message}
        return HttpResponse(json.dumps(result), mimetype="application/json")
    else:
        error = "Expected AJAX POST"
        return render_to_response("error.html", {"error": error}, RequestContext(request))
コード例 #8
0
ファイル: forms.py プロジェクト: dmbuchta/crits
 def __init__(self, *args, **kwargs):
     super(ForgeRelationshipForm, self).__init__(*args, **kwargs)
     self.fields['forward_type'].choices = self.fields['reverse_type'].choices = [(c, c) for c in sorted(settings.CRITS_TYPES.iterkeys())]
     self.fields['forward_relationship'].choices = [(c, c) for c in get_relationship_types(True)]