def obj_create(self, bundle, **kwargs): """ Handles creating Targets through the API. :param bundle: Bundle containing the information to create the Target. :type bundle: Tastypie Bundle object. :returns: HttpResponse. """ user = bundle.request.user data = bundle.data content = {'return_code': 1, 'type': 'Target'} if not user.has_access_to(TargetACL.WRITE): content['message'] = 'User does not have permission to create Object.' self.crits_response(content) result = upsert_target(data, user) content = {'return_code': 0, 'type': 'Target', 'id': result.get('id', '')} if result.get('message'): content['message'] = result.get('message') if result.get('id'): url = reverse('api_dispatch_detail', kwargs={'resource_name': 'targets', 'api_name': 'v1', 'pk': result.get('id')}) content['url'] = url content['id'] = result.get('id') if not result['success']: content['return_code'] = 1 self.crits_response(content)
def obj_create(self, bundle, **kwargs): """ Handles creating Targets through the API. :param bundle: Bundle containing the information to create the Target. :type bundle: Tastypie Bundle object. :returns: HttpResponse. """ analyst = bundle.request.user.username data = bundle.data result = upsert_target(data, analyst) content = {'return_code': 0, 'type': 'Target', 'id': result.get('id', '')} if result.get('message'): content['message'] = result.get('message') if result.get('id'): url = reverse('api_dispatch_detail', kwargs={'resource_name': 'targets', 'api_name': 'v1', 'pk': result.get('id')}) content['url'] = url content['id'] = result.get('id') if not result['success']: content['return_code'] = 1 self.crits_response(content)
def obj_create(self, bundle, **kwargs): """ Handles creating Targets through the API. :param bundle: Bundle containing the information to create the Target. :type bundle: Tastypie Bundle object. :returns: Bundle object. :raises BadRequest: If creation fails. """ analyst = bundle.request.user.username data = bundle.data result = upsert_target(data, analyst) if result['success']: return bundle else: raise BadRequest(result['message'])
def add_update_target(request): """ Add/update a Target. Should be an AJAX POST. :param request: Django request. :type request: :class:`django.http.HttpRequest` :returns: :class:`django.http.HttpResponse` """ if request.method == "POST": email = request.POST['email_address'] new_email = email.strip().lower() form = TargetInfoForm(request.POST) analyst = request.user.username if form.is_valid(): data = form.cleaned_data results = upsert_target(data, analyst) if results['success']: message = '<div>Click here to view the new target: <a href=' message += '"%s">%s</a></div>' % (reverse( 'crits.targets.views.target_info', args=[new_email ]), new_email) result = {'message': message} else: result = results result['form'] = form.as_table() else: result = {'message': ['<div>Form is invalid!</div>']} result['form'] = form.as_table() if request.is_ajax(): return HttpResponse(json.dumps(result), content_type="application/json") else: return HttpResponseRedirect( reverse('crits.targets.views.target_info', args=[email])) else: return render_to_response("error.html", {"error": "Expected AJAX POST"}, RequestContext(request))
def add_update_target(request): """ Add/update a Target. Should be an AJAX POST. :param request: Django request. :type request: :class:`django.http.HttpRequest` :returns: :class:`django.http.HttpResponse` """ if request.method == "POST": email = request.POST['email_address'] new_email = email.strip().lower() form = TargetInfoForm(request.POST) analyst = request.user.username if form.is_valid(): data = form.cleaned_data results = upsert_target(data, analyst) if results['success']: message = '<div>Click here to view the new target: <a href=' message += '"%s">%s</a></div>' % (reverse('crits.targets.views.target_info', args=[new_email]), new_email) result = {'message': message} else: result = results result['form'] = form.as_table() else: result = {'message': ['<div>Form is invalid!</div>']} result['form'] = form.as_table() if request.is_ajax(): return HttpResponse(json.dumps(result), content_type="application/json") else: return HttpResponseRedirect(reverse('crits.targets.views.target_info', args=[email])) else: return render_to_response("error.html", {"error" : "Expected AJAX POST" }, RequestContext(request))