Exemple #1
0
def handle_export_post(**kwargs):
    """Handle export post"""
    check_import_export_headers()
    objects = request.json.get("objects")
    current_time = request.json.get("current_time")
    user = get_current_user()
    if user.system_wide_role == 'No Access':
        raise Forbidden()
    if not objects or not current_time:
        raise BadRequest("Export failed due incorrect request data")
    try:
        filename = get_export_filename(objects, current_time)
        ie = import_export.create_import_export_entry(
            job_type="Export",
            status="In Progress",
            title=filename,
            start_at=datetime.utcnow(),
        )
        deferred.defer(run_export,
                       objects,
                       ie.id,
                       user.id,
                       get_url_root(),
                       _queue="ggrcImport")
        return make_import_export_response(ie.log_json())
    except Exception as e:
        logger.exception("Export failed due incorrect request data: %s",
                         e.message)
        raise BadRequest("Export failed due incorrect request data")
Exemple #2
0
def handle_export_post(**kwargs):
  """Handle export post"""
  check_import_export_headers()
  request_json = request.json
  objects = request_json.get("objects")
  exportable_objects = request_json.get("exportable_objects", [])
  current_time = request.json.get("current_time")
  user = login.get_current_user()
  if user.system_wide_role == 'No Access':
    raise wzg_exceptions.Forbidden()
  if not objects or not current_time:
    raise wzg_exceptions.BadRequest(
        app_errors.INCORRECT_REQUEST_DATA.format(job_type="Export"))
  try:
    filename = import_helper.get_export_filename(objects,
                                                 current_time,
                                                 exportable_objects)
    ie = import_export.create_import_export_entry(
        job_type="Export",
        status="In Progress",
        title=filename,
        start_at=datetime.utcnow(),
    )
    run_background_export(ie.id, objects, exportable_objects)
    return make_import_export_response(ie.log_json())
  except Exception as e:
    logger.exception(e.message)
    raise wzg_exceptions.BadRequest(
        app_errors.INCORRECT_REQUEST_DATA.format(job_type="Export"))
Exemple #3
0
def handle_export_post(**kwargs):
  """Handle export post"""
  check_import_export_headers()
  objects = request.json.get("objects")
  current_time = request.json.get("current_time")
  user = get_current_user()
  if user.system_wide_role == 'No Access':
    raise Forbidden()
  if not objects or not current_time:
    raise BadRequest("Export failed due incorrect request data")
  try:
    filename = get_export_filename(objects, current_time)
    ie = import_export.create_import_export_entry(
        job_type="Export",
        status="In Progress",
        title=filename,
        start_at=datetime.utcnow(),
    )
    deferred.defer(run_export,
                   objects,
                   ie.id,
                   user.id,
                   get_url_root(),
                   _queue="ggrcImport")
    return make_import_export_response(ie.log_json())
  except Exception as e:
    logger.exception("Export failed due incorrect request data: %s",
                     e.message)
    raise BadRequest("Export failed due incorrect request data")