I've customized the portal user so that the portal user can assign team and agent to the ticket. The problem is itop is filtering data in portal user. Portal user can only see agents under his/her organization.
I've edited filter in fields for agent_id by redefining class ticket and incident in new extension then editing field agent_id but it's still giving me same results.
Is there a way I can remove this and let portal users choose agents from other organization?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
You have to change/overwrite the 'scope' for contact class defined in the portal, probably to set "no silo" in the XML: moduledesign/classes/class/scopes/scope/ignoresilos
but this means that all portal users will be able to see the content of any Contacts stored in your iTop regardless of its organization, you may limit the risk by adding/overwritting the contact form to limit displayed fields in the portal.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for your reponse! I filtered field agent_id so that it wont show all the contacts and removed contact_list in portal user as this is not needed by my portal users.
Thanks again!
Last edit: Emma Obenza 2017-08-23
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've customized the portal user so that the portal user can assign team and agent to the ticket. The problem is itop is filtering data in portal user. Portal user can only see agents under his/her organization.
I've edited filter in fields for agent_id by redefining class ticket and incident in new extension then editing field agent_id but it's still giving me same results.
Is there a way I can remove this and let portal users choose agents from other organization?
You have to change/overwrite the 'scope' for contact class defined in the portal, probably to set "no silo" in the XML: moduledesign/classes/class/scopes/scope/ignoresilos
but this means that all portal users will be able to see the content of any Contacts stored in your iTop regardless of its organization, you may limit the risk by adding/overwritting the contact form to limit displayed fields in the portal.
This worked for me. Edited datamodel/2.x/itop-tickets/datamodel.itop-ticket.xml.
<class id="Contact">
<scopes>
<scope id="all">
<oql_view><![CDATA[SELECT Contact]]></oql_view>
</scope>
</scopes>
<lists>
<list id="default">
<items>
<item id="status">
<rank>10</rank>
</item>
<item id="org_id">
<rank>20</rank>
</item>
<item id="function">
<rank>50</rank>
</item>
</items>
</list>
</lists>
</class>
Thanks for your reponse! I filtered field agent_id so that it wont show all the contacts and removed contact_list in portal user as this is not needed by my portal users.
Thanks again!
Last edit: Emma Obenza 2017-08-23
I have same problem, but i dont know exactly how to fix code, can u explain more clearly pls, tks
Hello
same problem, have you a answer... do I have to change datamodel.itop-tickets.xml or just redefine the value in a personal modul ?
Hello,
Don't ever change iTop files : those modifications would be overwritten when updating iTop ! Using a custom module prevents that.
So yes you'll have to change the datamodel, for the reason explained do it in a custom module.
There's a tutorial on this : Changing what can be seen on Portal [iTop Documentation]
If any doubt, check the portal XML reference : Customer portal XML Reference [iTop Documentation]