Preventing two clients from using the same parameterized pop up window?

This is a problem I’ve been asked to solved and I don’t think Ignition has any built-in ways to handle it.

In my vision project, I have many parameter popups that tend to use a single identify ID, think something like Popup_Salesorder that is fed a parameter salesorder_id.

I have 20-30 people who use this application live. Here is what I am trying to accomplish - if one user opens and starts editing data for Popup_salesorder where the param salesorder_id = 1234, and then another user opens that same window with the same parameter, they get a rejection method / something is triggered so that I can put a veil over the window indicating other users are editing data.

We use the convention where a parameter Id of -1 indicates creating a new record, and so many users can use the same window if the id paramter = -1.

My initial thought was making a gateway dataset memory tag with 3 columns, userId, windowName, and paramter ID. Here, when a client opened a window, I would write to it the userId, window name, and the parameter. At closing of the window, I would delete that row. When someone else opens a window, it would first check this tag to see if it was allowed to.

Any other ideas on how to do this? Is there some built in way to do this?