- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-16-2024 12:19 AM
I have a table u_employee with (employee name) name and (manager name) name. Both employee and manager are present in the same table. I want to display the Employee name : Manager name as a formatter in the top of the form.
I have the following (sys_ui_macro) script: employee_manager_breadcrumb
<jelly>
<j:set var="employeeSysId" value="${sys_id}" />
<g2:get name="employeeRecord" table="u_employee" var="employeeRecord" query="sys_id=${employeeSysId}" />
<j:if test="${!empty(employeeRecord)}">
<j:set var="employeeName" value="${employeeRecord.name}" />
<!-- Fetch the manager record by querying the same table using the manager field -->
<g2:get name="managerRecord" table="u_employee" var="managerRecord" query="sys_id=${employeeRecord.manager}" />
<!-- Ensure the manager exists before displaying the breadcrumb -->
<j:if test="${!empty(managerRecord)}">
<j:set var="managerName" value="${managerRecord.name}" />
</j:if>
<!-- Breadcrumb display: Employee Name : Manager Name (if available) -->
<div class="breadcrumb">
<span><b>Employee:</b> ${employeeName}</span> :
<span><b>Manager:</b> ${!empty(managerName) ? managerName : 'No Manager Assigned'}</span>
</div>
</j:if>
</jelly>
And this is my UI formatter:
When I add this Manager Breadcrumbs to the form nothing is displayed. Any suggestions how to fix this?
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-16-2024 06:50 AM - edited 09-16-2024 06:50 AM
This code worked as intented.
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<!-- Get Employee Name -->
<g2:evaluate var='jvar_employee'>
var empName = current.getValue('name');
empName;
</g2:evaluate>
<!-- Get Manager Name and sys_id from the same u_employee table -->
<g2:evaluate var='jvar_manager_name'>
var mgrGr = new GlideRecord('u_employee');
var mgrSysId = current.getValue('manager'); // Get manager sys_id
if (mgrGr.get(mgrSysId)) {
mgrGr.getValue('name'); // Fetch the manager's name
} else {
'No Manager Assigned';
}
</g2:evaluate>
<!-- Get Manager sys_id for the link -->
<g2:evaluate var='jvar_manager_sysid'>
current.getValue('manager'); // Fetch manager sys_id
</g2:evaluate>
<!-- Style for the breadcrumb -->
<style>
.breadcrumb {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
padding: 8px;
border-radius: 5px;
display: inline-block;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}
.breadcrumb span {
margin-right: 5px;
}
.breadcrumb a {
color: #007bff;
text-decoration: none;
}
.breadcrumb a:hover {
text-decoration: underline;
}
.breadcrumb b {
font-weight: 600;
}
</style>
<div class="breadcrumb">
<span><b> $[jvar_employee]</b></span>
<span>></span>
<span><b><a href="u_employee.do?sys_id=$[jvar_manager_sysid]">$[jvar_manager_name]</a></b></span>
</div>
</j:jelly>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-16-2024 03:36 AM
Hi @vidhya_mouli try below code
<jelly>
<j:set var="employeeSysId" value="${sys_id}" />
<g2:get name="employeeRecord" table="u_employee" var="employeeRecord" query="sys_id=${employeeSysId}" />
<j:if test="${!empty(employeeRecord)}">
<j:set var="employeeName" value="${employeeRecord.name}" />
<!-- Fetch the manager record by querying the same table using the manager field -->
<j:set var="managerSysId" value="${employeeRecord.manager}" />
<g2:get name="managerRecord" table="u_employee" var="managerRecord" query="sys_id=${managerSysId}" />
<!-- Ensure the manager exists before displaying the breadcrumb -->
<j:if test="${!empty(managerRecord)}">
<j:set var="managerName" value="${managerRecord.name}" />
</j:if>
<!-- Breadcrumb display: Employee Name : Manager Name (if available) -->
<div class="breadcrumb">
<span><b>Employee:</b> ${employeeName}</span> :
<span><b>Manager:</b> ${!empty(managerName) ? managerName : 'No Manager Assigned'}</span>
</div>
</j:if>
</jelly>
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-16-2024 06:50 AM - edited 09-16-2024 06:50 AM
This code worked as intented.
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<!-- Get Employee Name -->
<g2:evaluate var='jvar_employee'>
var empName = current.getValue('name');
empName;
</g2:evaluate>
<!-- Get Manager Name and sys_id from the same u_employee table -->
<g2:evaluate var='jvar_manager_name'>
var mgrGr = new GlideRecord('u_employee');
var mgrSysId = current.getValue('manager'); // Get manager sys_id
if (mgrGr.get(mgrSysId)) {
mgrGr.getValue('name'); // Fetch the manager's name
} else {
'No Manager Assigned';
}
</g2:evaluate>
<!-- Get Manager sys_id for the link -->
<g2:evaluate var='jvar_manager_sysid'>
current.getValue('manager'); // Fetch manager sys_id
</g2:evaluate>
<!-- Style for the breadcrumb -->
<style>
.breadcrumb {
font-family: Arial, sans-serif;
background-color: #f4f4f4;
padding: 8px;
border-radius: 5px;
display: inline-block;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}
.breadcrumb span {
margin-right: 5px;
}
.breadcrumb a {
color: #007bff;
text-decoration: none;
}
.breadcrumb a:hover {
text-decoration: underline;
}
.breadcrumb b {
font-weight: 600;
}
</style>
<div class="breadcrumb">
<span><b> $[jvar_employee]</b></span>
<span>></span>
<span><b><a href="u_employee.do?sys_id=$[jvar_manager_sysid]">$[jvar_manager_name]</a></b></span>
</div>
</j:jelly>