diff --git a/Server-Side Components/Business Rules/Prevent Duplicate CI (Configuration Item) Names/README.md b/Server-Side Components/Business Rules/Prevent Duplicate CI (Configuration Item) Names/README.md new file mode 100644 index 0000000000..86a9ad4d9b --- /dev/null +++ b/Server-Side Components/Business Rules/Prevent Duplicate CI (Configuration Item) Names/README.md @@ -0,0 +1 @@ +This Script under code_snippet.js block users from saving a CI with a duplicate name but different class. diff --git a/Server-Side Components/Business Rules/Prevent Duplicate CI (Configuration Item) Names/code_snippets.js b/Server-Side Components/Business Rules/Prevent Duplicate CI (Configuration Item) Names/code_snippets.js new file mode 100644 index 0000000000..68a1567b79 --- /dev/null +++ b/Server-Side Components/Business Rules/Prevent Duplicate CI (Configuration Item) Names/code_snippets.js @@ -0,0 +1,15 @@ +// Business Rule to Block users from saving a CI with a duplicate name but different class +// Before Insert Business Rule on cmdb_ci table +(function executeRule(current, previous /*null when async*/) { + + var ci = new GlideRecord('cmdb_ci'); + ci.addQuery('name', current.name); + ci.addQuery('sys_id', '!=', current.sys_id); + ci.query(); + + if (ci.next()) { + gs.addErrorMessage('A Configuration Item with this name already exists!'); + current.setAbortAction(true); + } + +})(current, previous);