Generating list of user names of some organization
Hi,
I created rule which should return a list of users of organization "Top:Phone Groups". I chose the following solution (maybe this is not the easiest one):
<block trace='true'>
<defvar name='userList'>
<invoke name='getObjectNames' class='com.waveset.ui.FormUtil'>
<ref>:display.session</ref>
<s>User</s>
</invoke>
</defvar>
<defvar name='phoneGroups'>
<list/>
</defvar>
<defvar name='userInfo'/>
<dolist name='userName'>
<ref>userList</ref>
<block trace='true'>
<set name='userInfo'>
<invoke name='getObject' class='com.waveset.ui.FormUtil'>
<ref>:display.session</ref>
<s>User</s>
<ref>userName</ref>
</invoke>
</set>
<cond>
<eq>
<ref>user.waveset.organization</ref>
<s>Top:Phone Groups</s>
</eq>
<set>
<ref>phoneGroups</ref>
<length>
<ref>phoneGroups</ref>
</length>
<ref>user.waveset.accountId</ref>
</set>
</cond>
</block>
</dolist>
<ref>phoneGroups</ref>
</block>
When I run this rule I get null and I get this trace (its truncated):
<Rule name='Get Phone Groups'>
<block trace='true'>
<defvar name='userList'>
</defvar> --> null
<defvar name='phoneGroups'>
</defvar> --> null
<defvar name='userInfo'>
</defvar> --> null
<dolist name='userName'>
<ref>userList</ref>
[<defvar name='userList'>]
<invoke name='getObjectNames' class='com.waveset.ui.FormUtil'>
<ref>:display.session</ref> --> com.waveset.session.LocalSession@1ed2061
<s>User</s> --> User
</invoke> --> [1001, admin, Administrator, config, ecadmin, jminarik, myconfig, Profinit, Profinit SK, ptous, ...truncated...]
[</defvar>] --> [1001, admin, Administrator, config, ecadmin, jminarik, myconfig, Profinit, Profinit SK, ptous, ...truncated...] --> [1001, admin, Administrator, config, ecadmin, jminarik, myconfig, Profinit, Profinit SK, ptous, ...truncated...]
<block trace='true'>
<set name='userInfo'>
<invoke name='getObject' class='com.waveset.ui.FormUtil'>
<ref>:display.session</ref> --> com.waveset.session.LocalSession@1ed2061
<s>User</s> --> User
<ref>userName</ref> --> 1001
</invoke> --> User:1001
</set> --> null
<cond>
<eq>
<ref>user.waveset.organization</ref> --> null
<s>Top:Phone Groups</s> --> Top:Phone Groups
</eq> --> 0
</cond> --> null
</block> --> null
<block trace='true'>
<set name='userInfo'>
<invoke name='getObject' class='com.waveset.ui.FormUtil'>
<ref>:display.session</ref> --> com.waveset.session.LocalSession@1ed2061
<s>User</s> --> User
<ref>userName</ref> --> admin
</invoke> --> User:admin
</set> --> null
<cond>
<eq>
<ref>user.waveset.organization</ref> --> null
<s>Top:Phone Groups</s> --> Top:Phone Groups
</eq> --> 0
</cond> --> null
</block> --> null
</dolist> --> [null, null, null, null, null, null, null, null, null, null, ...truncated...]
<ref>phoneGroups</ref>
[<defvar name='phoneGroups'>]
<list>
</list> --> null
[</defvar>] --> null --> null
</block> --> null
</Rule> --> null
Why the result of the line <ref>user.waveset.organization</ref> (in condition cond) is null?
<ref>user.waveset.organization</ref> --> null
When I change it to <ref>user.waveset</ref>, the trace is still
<ref>user.waveset</ref> --> null
But when I change it to <ref>user</ref>, the trace is for example
<ref>user</ref> --> User:jhouska
Thank a lot
Jindrich Houska

