Create new group using UI macro button
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎09-06-2024 02:45 AM
-I have added a button 'Create New Group' in kb_knowledge table .
-When clicked on it it should automatically create a group in sys_user_group table
-UI macro and an script include is written for it .The script returns "Failed to create group' alert message every time.
UI macro code:
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide">
<button id="createGroupButton" onclick="createGroup();">Create New Group</button>
<script>
function createGroup() {
var ga = new GlideAjax('CreateGroupScriptInclude');
ga.getXMLAnswer(function(response) {
if (!response) {
console.error('No response from server');
alert('Failed to create group');
return;
}
console.log('Response XML:', response.responseXML);
var xmlResponse = response.responseXML;
var result = xmlResponse.documentElement.getAttribute('answer');
if (result) {
alert('Group created: ' + result);
console.log('helloconsolepass');
} else {
console.error('No "answer" attribute in response');
alert('Error creating group');
}
console.log('hellocheckresult');
});
}
</script>
</j:jelly>
script include code:
var CreateGroupScriptInclude = Class.create();
CreateGroupScriptInclude.prototype = Object.extendsObject(AbstractAjaxProcessor, {
createGroup: function() {
gs.info('Entered createGroup method'); // Log start
var group = new GlideRecord('sys_user_group');
group.initialize();
group.setWorkflow(false); // Disable workflows
group.setUseEngines(false); // Bypass ACLs
group.name = 'Test Group';
group.company = '0971788b93e1f9d0c505f5c48aba1091'; // Example company field
var newGroupSysId = group.insert();
if (newGroupSysId) {
gs.info('Group created with Sys ID: ' + newGroupSysId); // Log group created
return newGroupSysId;
} else {
gs.error('Group creation failed'); // Log failure
return 'failure';
}
},
getAnswer: function() {
gs.info('Returning response from getAnswer: ' + this.createdGroup);
return this.createdGroup ? this.createdGroup : 'failure';
},
type: 'CreateGroupScriptInclude'
});
0 REPLIES 0