Nothing displayed on SELECT widget

1
0
-1

So, I can't display the data on SELECT widget, but when the SELECT widget clicked, it shows blank rows (I don't know is it a coincidence but it is as much as my data that I want to display).

Here is the JSON that would be parsed and used on the SELECT widget :

{"_type":"Collection","total":3,"count":3,"pageSize":30,"offset":1,"_embedded":{"elements":[{"_type":"User","id":6,"name":"June Reddington","createdAt":"2022-04-05T02:17:39Z","updatedAt":"2022-11-23T03:27:26Z","login":"june@gmail.com","admin":false,"firstName":"June","lastName":"Reddington","email":"june@gmail.com","avatar":"https://secure.gravatar.com/avatar/1aeb9bb2baefec634371eb480af4ad04?default=404&secure=true","status":"active","identityUrl":null,"language":"en","_links":{"self":{"href":"/api/v3/users/6","title":"June Reddington"},"memberships":{"href":"/api/v3/memberships?filters=%5B%7B%22principal%22%3A%7B%22operator%22%3A%22%3D%22%2C%22values%22%3A%5B%226%22%5D%7D%7D%5D","title":"Members"},"showUser":{"href":"/users/6","type":"text/html"},"updateImmediately":{"href":"/api/v3/users/6","title":"Update june@gmail.com","method":"patch"},"lock":{"href":"/api/v3/users/6/lock","title":"Set lock on june@gmail.com","method":"post"}}},{"_type":"User","id":5,"name":"Ryzact Jr","createdAt":"2022-04-05T02:17:15Z","updatedAt":"2022-04-06T01:30:51Z","login":"ryzact@gmail.com","admin":false,"firstName":"Ryzact","lastName":"Jr","email":"ryzact@gmail.com","avatar":"https://secure.gravatar.com/avatar/eb80b2ba217da41ee1ace8227232fe31?default=404&secure=true","status":"active","identityUrl":null,"language":"en","_links":{"self":{"href":"/api/v3/users/5","title":"Ryzact Jr"},"memberships":{"href":"/api/v3/memberships?filters=%5B%7B%22principal%22%3A%7B%22operator%22%3A%22%3D%22%2C%22values%22%3A%5B%225%22%5D%7D%7D%5D","title":"Members"},"showUser":{"href":"/users/5","type":"text/html"},"updateImmediately":{"href":"/api/v3/users/5","title":"Update ryzact@gmail.com","method":"patch"},"lock":{"href":"/api/v3/users/5/lock","title":"Set lock on ryzact@gmail.com","method":"post"}}},{"_type":"User","id":3,"name":"OpenProject Admin","createdAt":"2022-04-05T02:11:22Z","updatedAt":"2023-01-31T09:26:37Z","login":"admin","admin":true,"firstName":"OpenProject","lastName":"Admin","email":"admin@example.net","avatar":"https://secure.gravatar.com/avatar/cb4f282fed12016bd18a879c1f27ff97?default=404&secure=true","status":"active","identityUrl":null,"language":"en","_links":{"self":{"href":"/api/v3/users/3","title":"OpenProject Admin"},"memberships":{"href":"/api/v3/memberships?filters=%5B%7B%22principal%22%3A%7B%22operator%22%3A%22%3D%22%2C%22values%22%3A%5B%223%22%5D%7D%7D%5D","title":"Members"},"showUser":{"href":"/users/3","type":"text/html"},"updateImmediately":{"href":"/api/v3/users/3","title":"Update admin","method":"patch"},"lock":{"href":"/api/v3/users/3/lock","title":"Set lock on admin","method":"post"}}}]},"_links":{"self":{"href":"/api/v3/users?offset=1&pageSize=30"},"jumpTo":{"href":"/api/v3/users?offset=%7Boffset%7D&pageSize=30","templated":true},"changeSize":{"href":"/api/v3/users?offset=1&pageSize=%7Bsize%7D","templated":true}}}

Here are the steps that I already done :

1. Creating a Business Object named MyUser, consist of id and name

2. On the Process diagrams, I create a Business Variable named databaseMyUser and set it to multiple (List)

3. Then I create a GET Connector on Connector In in the employee lane (default lane) to get an API response and set databaseMyUser to takes value of the bodyAsString. Here is the script to get, parse and save the data from the API (all thanks to Mr. Romain) :

import groovy.json.JsonSlurper
import com.company.model.MyUser

def body = new JsonSlurper().parseText(bodyAsString)
body._embedded.elements.collect {user ->
  def myUser = new MyUser()
   myUser.id = user.id
   myUser.name = user.name
  return myUser
}

4. Then I create a new variable on the UI Designer named MyUser, Type : External API, and the value : ../{{context.databaseMyUser_ref.link}}

5. On the SELECT widget, I apply :

- Available Values : MyUser - Displayed Values : MyUser.name - Returned Key : MyUser.id

What caused this problem? Thanks in advance :)

1 answer

1
+1
-1
This one is the BEST answer!

Welp, found the problem : Displayed values must be only 'name' and Returned key must be 'id'.

Notifications