46 lines
865 B
Plaintext
46 lines
865 B
Plaintext
|
|
ns = params_kw.copy()
|
|
for k,v in ns.items():
|
|
if v == 'NaN' or v == 'null':
|
|
ns[k] = None
|
|
|
|
|
|
|
|
|
|
db = DBPools()
|
|
dbname = get_module_dbname('pricing')
|
|
async with db.sqlorContext(dbname) as sor:
|
|
ori = await sor.R('pricing_item', {'id': ns.id})
|
|
ori_sv = {}
|
|
if ori.spec_value:
|
|
ori_sv = json.loads(ori.spec_value)
|
|
fs = await sor_get_spec_fields(sor, ns.id)
|
|
if len(fs):
|
|
new_sv = {k:ns[k] for k in fs}
|
|
if new_sv:
|
|
ori_sv.update(new_sv)
|
|
ns.spec_value = json.dumps(ori_sv, indent=4)
|
|
r = await sor.U('pricing_item', ns.copy())
|
|
debug('update success, {ns=}');
|
|
return {
|
|
"widgettype":"Message",
|
|
"options":{
|
|
"title":"Update Success",
|
|
"cwidth":16,
|
|
"cheight":9,
|
|
"timeout":3,
|
|
"message":"ok"
|
|
}
|
|
}
|
|
|
|
return {
|
|
"widgettype":"Error",
|
|
"options":{
|
|
"title":"Update Error",
|
|
"cwidth":16,
|
|
"cheight":9,
|
|
"timeout":3,
|
|
"message":"failed"
|
|
}
|
|
}
|