Exemple #1
0
def add_identifier(request):
    """
    Create an Actor Identifier. Should be an AJAX POST.

    :param request: Django request.
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponseRedirect`
    """

    if request.method == "POST" and request.is_ajax():
        username = request.user.username
        form = AddActorIdentifierForm(username, request.POST)
        if form.is_valid():
            identifier_type = request.POST.get("identifier_type", None)
            identifier = request.POST.get("identifier", None)
            source = request.POST.get("source", None)
            method = request.POST.get("method", None)
            reference = request.POST.get("reference", None)
            if not identifier_type or not identifier:
                return HttpResponse(
                    json.dumps({"success": False, "message": "Need a name."}), mimetype="application/json"
                )
            result = add_new_actor_identifier(identifier_type, identifier, source, method, reference, username)
            return HttpResponse(json.dumps(result), mimetype="application/json")
        else:
            return HttpResponse(json.dumps({"success": False, "form": form.as_table()}), mimetype="application/json")
    else:
        error = "Expected AJAX POST"
        return render_to_response("error.html", {"error": error}, RequestContext(request))
Exemple #2
0
    def obj_create(self, bundle, **kwargs):
        """
        Handles creating Actor Identifiers through the API.

        :param bundle: Bundle containing the information to create the Actor
                       Identifier.
        :type bundle: Tastypie Bundle object.
        :returns: HttpResponse object.
        """

        user = bundle.request.user
        data = bundle.data
        identifier_type = data.get('identifier_type', None)
        identifier = data.get('identifier', None)
        source = data.get('source', None)
        reference = data.get('reference', None)
        method = data.get('method', None)
        tlp = data.get('tlp', None)

        if user.has_access_to(ActorACL.ACTOR_IDENTIFIERS_ADD):
            result = add_new_actor_identifier(identifier_type,
                                              identifier,
                                              source=source,
                                              source_method=method,
                                              source_reference=reference,
                                              source_tlp=tlp,
                                              user=user)

        else:
            result = {
                'success': False,
                'message': 'User does not have permission to create Object.'
            }

        content = {
            'return_code': 0,
            'type': 'ActorIdentifier',
            'message': result.get('message', ''),
            'id': result.get('id', '')
        }
        if result.get('id'):
            url = reverse('api_dispatch_detail',
                          kwargs={
                              'resource_name': 'actoridentifiers',
                              'api_name': 'v1',
                              'pk': result.get('id')
                          })
            content['url'] = url
        if not result['success']:
            content['return_code'] = 1
        self.crits_response(content)
Exemple #3
0
def add_identifier(request):
    """
    Create an Actor Identifier. Should be an AJAX POST.

    :param request: Django request.
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponseRedirect`
    """

    if request.method == "POST" and request.is_ajax():
        request.user._setup()
        user = request.user
        form = AddActorIdentifierForm(request.user.username, request.POST)
        if form.is_valid():
            identifier_type = request.POST.get('identifier_type', None)
            identifier = request.POST.get('identifier', None)
            source = request.POST.get('source_name', None)
            method = request.POST.get('source_method', None)
            reference = request.POST.get('source_reference', None)
            tlp = request.POST.get('source_tlp', None)
            if not identifier_type or not identifier:
                return HttpResponse(json.dumps({
                    'success': False,
                    'message': 'Need a name.'
                }),
                                    content_type="application/json")
            if user.has_access_to(ActorACL.ACTOR_IDENTIFIERS_ADD):
                result = add_new_actor_identifier(identifier_type, identifier,
                                                  source, method, reference,
                                                  tlp, request.user)
            else:
                result = {
                    'success':
                    False,
                    'message':
                    'User does not have permission to add actor identifier.'
                }
            return HttpResponse(json.dumps(result),
                                content_type="application/json")
        else:
            return HttpResponse(json.dumps({
                'success': False,
                'form': form.as_table()
            }),
                                content_type="application/json")
    else:
        error = "Expected AJAX POST"
        return render_to_response("error.html", {"error": error},
                                  RequestContext(request))
Exemple #4
0
def add_identifier(request):
    """
    Create an Actor Identifier. Should be an AJAX POST.

    :param request: Django request.
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponseRedirect`
    """

    if request.method == "POST" and request.is_ajax():
        request.user._setup()
        user = request.user
        form = AddActorIdentifierForm(request.user.username, request.POST)
        if form.is_valid():
            identifier_type = request.POST.get('identifier_type', None)
            identifier = request.POST.get('identifier', None)
            source = request.POST.get('source_name', None)
            method = request.POST.get('source_method', None)
            reference = request.POST.get('source_reference', None)
            tlp = request.POST.get('source_tlp', None)
            if not identifier_type or not identifier:
                return HttpResponse(json.dumps({'success': False,
                                                'message': 'Need a name.'}),
                                    content_type="application/json")
            if user.has_access_to(ActorACL.ACTOR_IDENTIFIERS_ADD):
                result = add_new_actor_identifier(identifier_type,
                                                  identifier,
                                                  source,
                                                  method,
                                                  reference,
                                                  tlp,
                                                  request.user)
            else:
                result = {'success':False,
                          'message':'User does not have permission to add actor identifier.'}
            return HttpResponse(json.dumps(result),
                                content_type="application/json")
        else:
            return HttpResponse(json.dumps({'success': False,
                                            'form':form.as_table()}),
                                content_type="application/json")
    else:
        error = "Expected AJAX POST"
        return render_to_response("error.html",
                                  {"error" : error },
                                  RequestContext(request))
Exemple #5
0
    def obj_create(self, bundle, **kwargs):
        """
        Handles creating Actor Identifiers through the API.

        :param bundle: Bundle containing the information to create the Actor
                       Identifier.
        :type bundle: Tastypie Bundle object.
        :returns: HttpResponse object.
        """

        user = bundle.request.user
        data = bundle.data
        identifier_type = data.get('identifier_type', None)
        identifier = data.get('identifier', None)
        source = data.get('source', None)
        reference = data.get('reference', None)
        method = data.get('method', None)
        tlp = data.get('tlp', None)

        if user.has_access_to(ActorACL.ACTOR_IDENTIFIERS_ADD):
            result = add_new_actor_identifier(identifier_type,
                                              identifier,
                                              source=source,
                                              source_method=method,
                                              source_reference=reference,
                                              source_tlp=tlp,
                                              user=user)

        else:
            result = {'success':False,
                      'message':'User does not have permission to create Object.'}

        content = {'return_code': 0,
                   'type': 'ActorIdentifier',
                   'message': result.get('message', ''),
                   'id': result.get('id', '')}
        if result.get('id'):
            url = reverse('api_dispatch_detail',
                          kwargs={'resource_name': 'actoridentifiers',
                                  'api_name': 'v1',
                                  'pk': result.get('id')})
            content['url'] = url
        if not result['success']:
            content['return_code'] = 1
        self.crits_response(content)
Exemple #6
0
    def obj_create(self, bundle, **kwargs):
        """
        Handles creating Actor Identifiers through the API.

        :param bundle: Bundle containing the information to create the Actor
                       Identifier.
        :type bundle: Tastypie Bundle object.
        :returns: HttpResponse object.
        """

        analyst = bundle.request.user.username
        data = bundle.data
        identifier_type = data.get("identifier_type", None)
        identifier = data.get("identifier", None)
        source = data.get("source", None)
        reference = data.get("reference", None)
        method = data.get("method", None)

        result = add_new_actor_identifier(
            identifier_type,
            identifier,
            source=source,
            source_method=method,
            source_reference=reference,
            analyst=analyst,
        )

        content = {
            "return_code": 0,
            "type": "ActorIdentifier",
            "message": result.get("message", ""),
            "id": result.get("id", ""),
        }
        if result.get("id"):
            url = reverse(
                "api_dispatch_detail",
                kwargs={"resource_name": "actoridentifiers", "api_name": "v1", "pk": result.get("id")},
            )
            content["url"] = url
        if not result["success"]:
            content["return_code"] = 1
        self.crits_response(content)
Exemple #7
0
    def obj_create(self, bundle, **kwargs):
        """
        Handles creating Actor Identifiers through the API.

        :param bundle: Bundle containing the information to create the Actor
                       Identifier.
        :type bundle: Tastypie Bundle object.
        :returns: HttpResponse object.
        """

        analyst = bundle.request.user.username
        data = bundle.data
        identifier_type = data.get('identifier_type', None)
        identifier = data.get('identifier', None)
        source = data.get('source', None)
        reference = data.get('reference', None)
        method = data.get('method', None)

        result = add_new_actor_identifier(identifier_type,
                                          identifier,
                                          source=source,
                                          source_method=method,
                                          source_reference=reference,
                                          analyst=analyst)

        content = {
            'return_code': 0,
            'type': 'ActorIdentifier',
            'message': result.get('message', ''),
            'id': result.get('id', '')
        }
        if result.get('id'):
            url = reverse('api_dispatch_detail',
                          kwargs={
                              'resource_name': 'actoridentifiers',
                              'api_name': 'v1',
                              'pk': result.get('id')
                          })
            content['url'] = url
        if not result['success']:
            content['return_code'] = 1
        self.crits_response(content)
Exemple #8
0
def add_identifier(request):
    """
    Create an Actor Identifier. Should be an AJAX POST.

    :param request: Django request.
    :type request: :class:`django.http.HttpRequest`
    :returns: :class:`django.http.HttpResponseRedirect`
    """

    if request.method == "POST" and request.is_ajax():
        username = request.user.username
        form = AddActorIdentifierForm(username, request.POST)
        if form.is_valid():
            identifier_type = request.POST.get('identifier_type', None)
            identifier = request.POST.get('identifier', None)
            source = request.POST.get('source', None)
            method = request.POST.get('method', None)
            reference = request.POST.get('reference', None)
            if not identifier_type or not identifier:
                return HttpResponse(json.dumps({
                    'success': False,
                    'message': 'Need a name.'
                }),
                                    mimetype="application/json")
            result = add_new_actor_identifier(identifier_type, identifier,
                                              source, method, reference,
                                              username)
            return HttpResponse(json.dumps(result),
                                mimetype="application/json")
        else:
            return HttpResponse(json.dumps({
                'success': False,
                'form': form.as_table()
            }),
                                mimetype="application/json")
    else:
        error = "Expected AJAX POST"
        return render_to_response("error.html", {"error": error},
                                  RequestContext(request))
Exemple #9
0
    def obj_create(self, bundle, **kwargs):
        """
        Handles creating Actor Identifiers through the API.

        :param bundle: Bundle containing the information to create the Actor
                       Identifier.
        :type bundle: Tastypie Bundle object.
        :returns: HttpResponse object.
        """

        analyst = bundle.request.user.username
        data = bundle.data
        identifier_type = data.get('identifier_type', None)
        identifier = data.get('identifier', None)
        source = data.get('source', None)
        reference = data.get('reference', None)
        method = data.get('method', None)

        result = add_new_actor_identifier(identifier_type,
                                          identifier,
                                          source=source,
                                          source_method=method,
                                          source_reference=reference,
                                          analyst=analyst)

        content = {'return_code': 0,
                   'type': 'ActorIdentifier',
                   'message': result.get('message', ''),
                   'id': result.get('id', '')}
        if result.get('id'):
            url = reverse('api_dispatch_detail',
                          kwargs={'resource_name': 'actoridentifiers',
                                  'api_name': 'v1',
                                  'pk': result.get('id')})
            content['url'] = url
        if not result['success']:
            content['return_code'] = 1
        self.crits_response(content)