Forum Discussion
BabiPanjikar
8 years agoQrew Assistant Captain
I have the similar requirement where my URL button is a part of report called 'unassigned Queue' which is attached to dashboard of the user role. We have 50+ users working at the same time and they click on 'Assign To Me' button of the report to get the record assigned to me for further editing.
I also have a quickbase action set on the same table which creates a new record in log table and then a summary field (count of records) in the main table. I used the if condition to check if child record count is 0 then assign else redirect to home /dashboard page of the user.
Below is the code I used.
"Assign To Me" - Formula URL field
var text URL=
If ( [#Check-Assigned For FLR]<=0,
URLRoot() & "db/"&Dbid()&"?act=API_EditRecord&rid="&[Record ID#]& "&_fid_10=" & URLEncode("Assigned For FLR" ) & ---- record status field.
"&_fid_12=" & URLEncode(UserToEmail(User())) & ---- Current User
"&_fid_14=" & URLEncode(UserToEmail(User())) & ---- Current User
"&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() &"?a=td")
,
URLRoot() & "db/" & Dbid() &"?a=td");
"javascript:" &
"location.reload(true);" &
"$.get('" &
$URL &
"');" &
"void(0);"
I noticed random results with above code.
- If multiple users click on the button at the same time, anyone gets the records and not the first user who clicked (based on first related child record generated).
- secondly the redirection to home page dosen't happen always. Few users are refreshed to report to show the same results prior to click wherein the record is already been assigned to someone else.
- The record moves-off the queue when user manually clicks on home page or refreshes the browser page.
Questions:
1) How Do I redirect users back to home page and refresh my report so that record moves-off to the one who clicked first?
2) Is there a way to display message using java script (something liek oops.. record already picked by different user) and redirect back to refresh queue/home page ?
I also have a quickbase action set on the same table which creates a new record in log table and then a summary field (count of records) in the main table. I used the if condition to check if child record count is 0 then assign else redirect to home /dashboard page of the user.
Below is the code I used.
"Assign To Me" - Formula URL field
var text URL=
If ( [#Check-Assigned For FLR]<=0,
URLRoot() & "db/"&Dbid()&"?act=API_EditRecord&rid="&[Record ID#]& "&_fid_10=" & URLEncode("Assigned For FLR" ) & ---- record status field.
"&_fid_12=" & URLEncode(UserToEmail(User())) & ---- Current User
"&_fid_14=" & URLEncode(UserToEmail(User())) & ---- Current User
"&rdr=" & URLEncode(URLRoot() & "db/" & Dbid() &"?a=td")
,
URLRoot() & "db/" & Dbid() &"?a=td");
"javascript:" &
"location.reload(true);" &
"$.get('" &
$URL &
"');" &
"void(0);"
I noticed random results with above code.
- If multiple users click on the button at the same time, anyone gets the records and not the first user who clicked (based on first related child record generated).
- secondly the redirection to home page dosen't happen always. Few users are refreshed to report to show the same results prior to click wherein the record is already been assigned to someone else.
- The record moves-off the queue when user manually clicks on home page or refreshes the browser page.
Questions:
1) How Do I redirect users back to home page and refresh my report so that record moves-off to the one who clicked first?
2) Is there a way to display message using java script (something liek oops.. record already picked by different user) and redirect back to refresh queue/home page ?