Forum Discussion

StevenNelson's avatar
StevenNelson
Qrew Member
6 days ago

URL formula to Add Current User to Userlist

I have a table with a userlist, I want to have a button that the current user viewing records can click to add themselves to a userlist field.   Having trouble remembering how I have done it before.

4 Replies

  • Denin's avatar
    Denin
    Qrew Assistant Captain

    Can use this in a formula URL field to add/remove yourself from a userlist, change the [Users List] to name of your field.

    //ADD TO LIST
      var text addtolist=ToText([Users List])&";"&UserToEmail(User())&"";
    
      //REMOVE FROM LIST
      var text removefromlist= List(";",
      If(Trim(Part(UserListToEmails([Users List]),1,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),1,";")),
      If(Trim(Part(UserListToEmails([Users List]),2,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),2,";")),
      If(Trim(Part(UserListToEmails([Users List]),3,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),3,";")),
      If(Trim(Part(UserListToEmails([Users List]),4,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),4,";")),
      If(Trim(Part(UserListToEmails([Users List]),5,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),5,";")),
      If(Trim(Part(UserListToEmails([Users List]),6,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),6,";")),
      If(Trim(Part(UserListToEmails([Users List]),7,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),7,";")),
      If(Trim(Part(UserListToEmails([Users List]),8,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),8,";")),
      If(Trim(Part(UserListToEmails([Users List]),9,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),9,";")),
      If(Trim(Part(UserListToEmails([Users List]),10,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),10,";")),
      If(Trim(Part(UserListToEmails([Users List]),11,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),11,";")),
      If(Trim(Part(UserListToEmails([Users List]),12,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),12,";")),
      If(Trim(Part(UserListToEmails([Users List]),13,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),13,";")),
      If(Trim(Part(UserListToEmails([Users List]),14,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),14,";")),
      If(Trim(Part(UserListToEmails([Users List]),15,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),15,";")),
      If(Trim(Part(UserListToEmails([Users List]),16,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),16,";")),
      If(Trim(Part(UserListToEmails([Users List]),17,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),17,";")),
      If(Trim(Part(UserListToEmails([Users List]),18,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),18,";")),
      If(Trim(Part(UserListToEmails([Users List]),19,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),19,";")),
      If(Trim(Part(UserListToEmails([Users List]),20,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),20,";")));
    
      var text addurl = URLRoot()&"db/"&Dbid()&"?a=api_editrecord&rid="&[Record ID#]&"&_fid_24="&$addtolist&"&apptoken=c49npyysfqrjruprdmbbj7s2bk";
    
      var text removeurl = URLRoot()&"db/"&Dbid()&"?a=api_editrecord&rid="&[Record ID#]&"&_fid_24="&$removefromlist&"&apptoken=c49npyysfqrjruprdmbbj7s2bk";
    
      If(Contains(UserListToEmails([Users List]),UserToEmail(User())),
    
      $removeurl & "&rdr=" & URLEncode( URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl()),
          
      $addurl & "&rdr=" & URLEncode( URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl()))
  • Denin's avatar
    Denin
    Qrew Assistant Captain

    Can use this in a formula URL field to create a button that allows a user to add/remove themselves from a userlist. Change [Users List] to the name of your field, and add an app token where it says "xxxxxxxxxxxxxxxxxx". Also change fid 24 to the ID of your user list field.

    //ADD TO LIST
      var text addtolist=ToText([Users List])&";"&UserToEmail(User())&"";
    
      //REMOVE FROM LIST
      var text removefromlist= List(";",
      If(Trim(Part(UserListToEmails([Users List]),1,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),1,";")),
      If(Trim(Part(UserListToEmails([Users List]),2,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),2,";")),
      If(Trim(Part(UserListToEmails([Users List]),3,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),3,";")),
      If(Trim(Part(UserListToEmails([Users List]),4,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),4,";")),
      If(Trim(Part(UserListToEmails([Users List]),5,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),5,";")),
      If(Trim(Part(UserListToEmails([Users List]),6,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),6,";")),
      If(Trim(Part(UserListToEmails([Users List]),7,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),7,";")),
      If(Trim(Part(UserListToEmails([Users List]),8,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),8,";")),
      If(Trim(Part(UserListToEmails([Users List]),9,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),9,";")),
      If(Trim(Part(UserListToEmails([Users List]),10,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),10,";")),
      If(Trim(Part(UserListToEmails([Users List]),11,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),11,";")),
      If(Trim(Part(UserListToEmails([Users List]),12,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),12,";")),
      If(Trim(Part(UserListToEmails([Users List]),13,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),13,";")),
      If(Trim(Part(UserListToEmails([Users List]),14,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),14,";")),
      If(Trim(Part(UserListToEmails([Users List]),15,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),15,";")),
      If(Trim(Part(UserListToEmails([Users List]),16,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),16,";")),
      If(Trim(Part(UserListToEmails([Users List]),17,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),17,";")),
      If(Trim(Part(UserListToEmails([Users List]),18,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),18,";")),
      If(Trim(Part(UserListToEmails([Users List]),19,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),19,";")),
      If(Trim(Part(UserListToEmails([Users List]),20,";"))!=Trim(UserToEmail(User())),Part(UserListToEmails([Users List]),20,";")));
    
      var text addurl = URLRoot()&"db/"&Dbid()&"?a=api_editrecord&rid="&[Record ID#]&"&_fid_24="&$addtolist&"&apptoken=xxxxxxxxxxxxxxxxxx";
    
      var text removeurl = URLRoot()&"db/"&Dbid()&"?a=api_editrecord&rid="&[Record ID#]&"&_fid_24="&$removefromlist&"&apptoken=xxxxxxxxxxxxxxxxxx";
    
      If(Contains(UserListToEmails([Users List]),UserToEmail(User())),
    
      $removeurl & "&rdr=" & URLEncode( URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl()),
          
      $addurl & "&rdr=" & URLEncode( URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl()))
  • Denin's avatar
    Denin
    Qrew Assistant Captain

    I posted the formula but my reply disappeared. Maybe it's in a mod queue.

    Anyway, you can also find the formula on the Exchange if you have access to that:

    https://{your-realm}.quickbase.com/nav/main/action/exchange/qb/library/assign-a-record-to-me-button

  • Try this

    var text MyUserList  = Totext([userlist2]); // insert your List User field here

    var text NewUserList = List(";",$MyUserList, totext(User()));

    var text AddCurrentUser = URLRoot() & "db/" & Dbid() & "?act=API_EditRecord&rid=" & [Record ID#] 
    & "&_fid_99=" & $NewUserList;   // change 99 to the userlist field.

    var text RefreshPage =  URLRoot() & "db/" & Dbid() & "?a=doredirect&z=" & Rurl();

     
    $AddCurrentUser
    & "&rdr=" & URLEncode($RefreshPage)