diff --git a/app/assets/javascripts/admin/appstack.js b/app/assets/javascripts/admin/appstack.js
index 23ae425c9b5a48cae95aec35f4bbf21415cd455e..aa96e4785e2122a1d5a8f8f4f5c96192ec2041f6 100644
--- a/app/assets/javascripts/admin/appstack.js
+++ b/app/assets/javascripts/admin/appstack.js
@@ -16,6 +16,7 @@
 //= require_tree ./commons
 //= require_tree ../application/plugins
 //= require_tree ./plugins
+//= require_tree ./utils
 //= require ./communication/init
 
 window.osuny = {};
diff --git a/app/assets/javascripts/admin/communication/menu_items.js b/app/assets/javascripts/admin/communication/menu_items.js
index ad81bcaf90aa97b2ef928d3d5af10a0d528e9a78..a4bfdc477aca48a94c296f5aaae215baad7ceff1 100644
--- a/app/assets/javascripts/admin/communication/menu_items.js
+++ b/app/assets/javascripts/admin/communication/menu_items.js
@@ -73,10 +73,7 @@ window.osuny.communication.menuItems = {
 
 window.addEventListener('DOMContentLoaded', function () {
     'use strict';
-    if (document.body.classList.contains('items-new') ||
-            document.body.classList.contains('items-edit') ||
-            document.body.classList.contains('items-create') ||
-            document.body.classList.contains('items-update')) {
+    if (window.osuny.isInControllerForm('items')) {
         window.osuny.communication.menuItems.init();
     }
 });
diff --git a/app/assets/javascripts/admin/communication/websites.js b/app/assets/javascripts/admin/communication/websites.js
index ea4f3c141e120eb09df8374ae96ecf8f5c388dc6..677df2eb65e8c59b5747c7fd81efe6995caf4869 100644
--- a/app/assets/javascripts/admin/communication/websites.js
+++ b/app/assets/javascripts/admin/communication/websites.js
@@ -46,10 +46,7 @@ window.osuny.communication.websites = {
 
 window.addEventListener('DOMContentLoaded', function () {
     'use strict';
-    if (document.body.classList.contains('websites-new') ||
-            document.body.classList.contains('websites-edit') ||
-            document.body.classList.contains('websites-create') ||
-            document.body.classList.contains('websites-update')) {
+    if (window.osuny.isInControllerForm('websites')) {
         window.osuny.communication.websites.init();
     }
 });
diff --git a/app/assets/javascripts/admin/pure.js b/app/assets/javascripts/admin/pure.js
index 23ae425c9b5a48cae95aec35f4bbf21415cd455e..aa96e4785e2122a1d5a8f8f4f5c96192ec2041f6 100644
--- a/app/assets/javascripts/admin/pure.js
+++ b/app/assets/javascripts/admin/pure.js
@@ -16,6 +16,7 @@
 //= require_tree ./commons
 //= require_tree ../application/plugins
 //= require_tree ./plugins
+//= require_tree ./utils
 //= require ./communication/init
 
 window.osuny = {};
diff --git a/app/assets/javascripts/admin/utils/controller_form.js b/app/assets/javascripts/admin/utils/controller_form.js
new file mode 100644
index 0000000000000000000000000000000000000000..5c74e37111746e2b4e9172b912eb18134e138b4d
--- /dev/null
+++ b/app/assets/javascripts/admin/utils/controller_form.js
@@ -0,0 +1,6 @@
+window.osuny.isInControllerForm = function (controllerName) {
+    return document.body.classList.contains(controllerName + '-new') ||
+        document.body.classList.contains(controllerName + '-edit') ||
+        document.body.classList.contains(controllerName + '-create') ||
+        document.body.classList.contains(controllerName + '-update');
+}
\ No newline at end of file