- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2023 01:46 AM
Hi,
I'm created a record producer with some variables but I wanted some of those variables to be accessible depending on the user preferred language.
For example variables A,B,C should only appear if user's preferred language is English and variables D,E,F should only appear if user's preferred language is Dutch,
How can I do that?
Thank you 🙂
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2023 05:11 AM
You can have a onchange client script which will be calling glide ajax and after parsing the response, you can hide/show the fields depending on the users language. In order to do that you need to check user preference for user's selected language.
Below is the sample client script code :
var user = g_form.getValue('user'); // user variable
var ajax = new GlideAjax('userlanguage');
ajax.addParam('sysparm_name', 'getUserDetails'); // function name
ajax.addParam('sysparm_user', user); // user
ajax.getXML(userParse); // call back function
function userParse(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
var users = JSON.parse(answer); // parse response
if(users[0].language == "en")
{
g_form.setVisible('priority', false);
}
}
Script Include :
getUserDetails: function() {
var details = [];
var user = this.getParameter('sysparm_user');
var userPref = new GlideRecord("sys_user_preference");
userPref.addQuery("user", user);
userPref.addQuery("name", 'user.language');
userPref.query();
if (userPref.next()) {
var users = {};
users.language= userPref.value;
details.push(users);
}
return JSON.stringify(details);
},
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-19-2023 07:06 AM
Thank you so much!