- Post History
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
on 04-26-2020 08:42 AM
Problem Statement
We have created a M2M table relating Hardware Assets and Requested Item. End user can add multiple hardware assets to the Requested Item based on a HAM Catalog Item. But the 'Edit...' button slushbucket should have some filter conditions auto-applied based on the Catalog Item, to reduce the selection list of hardware assets for end user.
Solution
Configure personalized Edit button for the Related List by creating a new UI Action. Use the Script field to set particular query required on slushbucket.
Explanation Steps
1. Created M2M relationship with 2 reference fields : from-Requested Item(sc_req_item) & to-Hardware Asset(alm_hardware)
2. Click the Requested Item form context menu icon and select Configure > Related Lists. Using the slushbucket, select the 'Hardware Assets' related list to display on the form.
[We have added UI Policy Related List Action to limit the Related List visibility only on HAM related Requested Items]
3. Create a new 'Edit...' UI Action for 'Hardware Assets M2M Requested Items' table
[Can reference Global > Edit... button]
Condition:
(new GlideRecord(current.getTableName())).canCreate() && RP.isRelatedList() && !RP.getListControl().isOmitEditButton()
Script:
var uri = action.getGlideURI();
var path = uri.getFileFromPath();
uri.set('sysparm_m2m_ref', current.getTableName());
uri.set('sysparm_stack', 'no');
//Create query
var query = uri.get('sysparm_query');
if (query)
query = query + '^';
//For Deploy catalog Item
if (parent.cat_item.toString() == 'bfb3af7fdb041450ba86abc5ca96194b') {
//State = In stock & Substate = Pending disposal
query = 'install_status=6^substatus=pending_disposal';
}
uri.set('sysparm_query', query);
action.setRedirectURL(uri.toString('sys_m2m_template.do'));
In the script,
parent = the record on which Related List is added (Ex- Requested Item).
parent.variables = can also use Requested Item variables' values against Hardware Asset table fields.
- 4,451 Views
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hello Pranshu,
Thank you very much for the important and useful information.
I have used this code and it is working ang creating Filter condition on "sys_m2m_template.do" form.
But this filter condition is editable for end users.
I want to make these Filter condition as "Read Only".
How to achieve it ?
Thank you,
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@Asmita7 Were you able to make filter conditions read-only?
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
I want to make them read only as well
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
@Asmita7, @Rashmi Panigrah, @Jose Santos Alv:
You can add the following line to do not display the filter option:
uri.set('jvar_no_filter', 'true');
- Mark as Read
- Mark as New
- Bookmark
- Permalink
- Report Inappropriate Content
Hi @Medi C ,
Thanks for your input to make the filter hidden on the UI. Is there any way to make the pre defined filter as read only, but let users to add another filter to find their related records for selection.
Regards,
Ajeet
