def offline(appname, modelname, item_ids, server): Model_Class = classing_model(modelname) items = Model_Class.find( appname, {'id': {'$in': item_ids}}, fields={'_id': 0}, toarray=True) if not items: return json_response_error(PARAM_ERROR, msg="no item find") results = offline_data(appname, modelname, server, items) status = results[0] data = {} data["success"] = results[1] data["failed"] = results[2] data['userlog'] = [common_filter(i) for i in data.get('success')] data['memo'] = 'offline from %s' % server if status == -1: return json_response_error(PARAM_ERROR, msg="UNKNOWN UPLOAD SERVER") elif status == 0: if server == _ADMIN: data['success_list'] = data.get('success') data['failed_list'] = data.get('failed') suc_ids = fail_ids = [] if data["failed"]: fail_ids = [i.get('id') for i in data.get('failed')] if data["success"]: suc_ids = [i.get('id') for i in data.get('success')] data["success"] = suc_ids data["failed"] = fail_ids data['memo'] = 'delete it from admin' return json_response_ok(data, msg="delete successfully") else: return json_response_error(status, data, msg="del error")
def common_delete(appname, modelname, comfirm, item_ids): success_list = [] data = {} Model_Name = classing_model(modelname) items = Model_Name.find( appname, {'id': {'$in': item_ids}}, fields={'_id': 0}, toarray=True) for item in items: item_id = item.get('id') success_list.append(common_filter(item)) ret = CommonBase.delete_base(appname, modelname, item_id, comfirm) if ret: status = ret.get('status') model_dict = ret.get('model') if status: # none or not zero, return directly success_list.remove(common_filter(model_dict)) data['userlog'] = success_list return json_response_error( status, msg="item has been refered", data=data) data['userlog'] = success_list return json_response_ok(data=data, msg='delete success items')
def online(appname, modelname, item_ids, server): Model_Class = classing_model(modelname) items = Model_Class.find( appname, {'id': {'$in': item_ids}}, fields={'_id': 0}, toarray=True) if not items: return json_response_error(PARAM_ERROR, msg="no item find") results = online_data(appname, modelname, server, items) status = results[0] out_msg = results[1] data = {} data["success"] = results[2] data["failed"] = results[3] data['userlog'] = [common_filter(i) for i in data.get('success')] data['memo'] = 'online to %s' % server if status == -1: return json_response_error(PARAM_ERROR, msg="UNKNOWN UPLOAD SERVER") elif status == 0: return json_response_ok(data, msg="upload successfully") else: return json_response_error(status, data, msg=out_msg)