Hello,
I would like to select the rows for a form according to the user who is connected, for example with a corresponding email adress in zzzzsys_user and an email column in my data table. It should behave like a kind of permission at row level.
I read about #USER_ID# and also zzzzsys_session but I don't know how to get it working in the form SQL query.
Any idea?
Welcome to the nuBuilder Forums!
Join our community by registering and logging in.
As a member, you'll get access to exclusive forums, resources, and content available only to registered users.
Join our community by registering and logging in.
As a member, you'll get access to exclusive forums, resources, and content available only to registered users.
Filtering a form content according to connected user
-
- Posts: 2
- Joined: Wed Jul 12, 2023 5:01 pm
-
- Posts: 2
- Joined: Wed Jul 12, 2023 5:01 pm
Re: Filtering a form content according to connected user
Oooops ... Got it better with quotes around #USER_ID# which is well replaced in the query
-
- Posts: 2
- Joined: Tue Jan 11, 2022 7:18 pm
- Has thanked: 16 times
Re: Filtering a form content according to connected user
Hi Eric29
use code like this on the SQL of Browser Form
SELECT
task.idtask, task.detail, zzzzsys_user.zzzzsys_user_id, zzzzsys_user.sus_code, zzzzsys_user.sus_email
FROM
task left join zzzzsys_user on zzzzsys_user.zzzzsys_user_id = task.iduser
where ( (task.iduser = '#USER_ID#')
or
('#ACCESS_LEVEL_CODE#' IN('ORG_ADM','')))
at first par of SQL (task.iduser = '#USER_ID#') is useful to filter records before open in a Browser Form
and second part are useful to show all the records when im logged in like globeadmin in this case #ACCESS_LEVEL_CODE# = ''
you can add another profiles in Access level codes if you whan those view all records like 'ORG_ADM' in my example.
only you must make iduser of each table equal to that '#USER_ID#' that correspond to zzzzsys_user.zzzzsys_user_id
you dont need to use zzzzsys_session.
I hope this help you
use code like this on the SQL of Browser Form
SELECT
task.idtask, task.detail, zzzzsys_user.zzzzsys_user_id, zzzzsys_user.sus_code, zzzzsys_user.sus_email
FROM
task left join zzzzsys_user on zzzzsys_user.zzzzsys_user_id = task.iduser
where ( (task.iduser = '#USER_ID#')
or
('#ACCESS_LEVEL_CODE#' IN('ORG_ADM','')))
at first par of SQL (task.iduser = '#USER_ID#') is useful to filter records before open in a Browser Form
and second part are useful to show all the records when im logged in like globeadmin in this case #ACCESS_LEVEL_CODE# = ''
you can add another profiles in Access level codes if you whan those view all records like 'ORG_ADM' in my example.
only you must make iduser of each table equal to that '#USER_ID#' that correspond to zzzzsys_user.zzzzsys_user_id
you dont need to use zzzzsys_session.
I hope this help you