fix: use whitelist approach - only pass known table columns to sor.I
This commit is contained in:
parent
959d021537
commit
1d99375578
@ -3,11 +3,13 @@ user_id = await get_user()
|
|||||||
user_orgid = (await get_userorgid()) or '0'
|
user_orgid = (await get_userorgid()) or '0'
|
||||||
dbname = get_module_dbname('supplychain')
|
dbname = get_module_dbname('supplychain')
|
||||||
|
|
||||||
data = dict(params_kw)
|
# Only keep known table columns
|
||||||
# Clean non-table params and _text suffix fields
|
known_cols = {'contract_name', 'sign_date', 'start_date', 'end_date', 'status', 'default_discount', 'remark', 'supplier_id', 'contract_code'}
|
||||||
for key in list(data.keys()):
|
data = {}
|
||||||
if key.startswith('_') or key.endswith('_text') or key in ['page', 'rows', 'data_filter', 'pagerows', 'referer_widget']:
|
for k, v in params_kw.items():
|
||||||
data.pop(key, None)
|
if k in known_cols and v is not None and v != '':
|
||||||
|
data[k] = v
|
||||||
|
|
||||||
data['id'] = getID()
|
data['id'] = getID()
|
||||||
data['resellerid'] = user_orgid
|
data['resellerid'] = user_orgid
|
||||||
data['created_by'] = user_id
|
data['created_by'] = user_id
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user