diff --git a/xls2ddl/tmpls.py b/xls2ddl/tmpls.py index eb70cbf..577af52 100644 --- a/xls2ddl/tmpls.py +++ b/xls2ddl/tmpls.py @@ -159,6 +159,20 @@ ori_fields = json.loads(fields_str) if not filterjson: fields = [ f['name'] for f in ori_fields ] filterjson = default_filterjson(fields, ns) +{% if logined_userorgid or logined_userid %} +# 确保 logined 过滤条件始终生效 +if filterjson: + if not isinstance(filterjson, dict) or 'AND' not in filterjson: + filterjson = {'AND': [filterjson] if filterjson else []} +{% if logined_userorgid %} + filterjson['AND'].append({'field': '{{logined_userorgid}}', 'op': '=', 'var': '__logined_orgid__'}) + ns['__logined_orgid__'] = userorgid +{% endif %} +{% if logined_userid %} + filterjson['AND'].append({'field': '{{logined_userid}}', 'op': '=', 'var': '__logined_uid__'}) + ns['__logined_uid__'] = userid +{% endif %} +{% endif %} filterdic = ns.copy() filterdic['filterstr'] = '' filterdic['userorgid'] = '${userorgid}$'