示例#1
0
文件: views.py 项目: Nuredin/formhub
def delete_data(request, username=None, id_string=None):
    xform, owner = check_and_set_user_and_form(username, id_string, request)
    if not xform:
        return HttpResponseForbidden(_(u'Not shared.'))
    try:
        args = {"username": username, "id_string": id_string,
                "query": request.GET.get('query'),
                "fields": request.GET.get('fields'),
                "sort": request.GET.get('sort')}

        if 'limit' in request.GET:
            args["limit"] = int(request.GET.get('limit'))
        cursor = ParsedInstance.query_mongo(**args)
    except ValueError as e:
        return HttpResponseBadRequest(e)

    today = datetime.today().strftime('%Y-%m-%dT%H:%M:%S')
    ParsedInstance.edit_mongo(
        args['query'], '{ "$set": {"_deleted_at": "%s" }}' % today)

    records = list(record for record in cursor)
    response_text = simplejson.dumps(records)
    if 'callback' in request.GET and request.GET.get('callback') != '':
        callback = request.GET.get('callback')
        response_text = ("%s(%s)" % (callback, response_text))
    return HttpResponse(response_text, mimetype='application/json')