diff --git a/resources/assets/javascripts/lib/dialog.js b/resources/assets/javascripts/lib/dialog.js
index c6b6a03d90abd7f790fc0e58d743385fc8c899ba..f3f20f44e2f88a65bed4a0ad83fb11c3dba0e37f 100644
--- a/resources/assets/javascripts/lib/dialog.js
+++ b/resources/assets/javascripts/lib/dialog.js
@@ -35,23 +35,18 @@ function extractButtons(element) {
             var cancel = $(this).is('.cancel');
             var index = cancel ? 'cancel' : label;
             var classes = $(this).attr('class') || '';
+            var name = $(this).attr('name') || '';
+            var disabled = $(this).is(':disabled');
 
             classes = classes.replace(/\bbutton\b/, '').trim();
 
-            if ($(this).is('.accept,.cancel')) {
-                buttons[index] = {
-                    text: label,
-                    click: () => this.click()
-                };
-            } else {
-                buttons[index] = () => this.click();
-            }
-
-            if ($(this).is(':disabled')) {
-                classes = classes + ' disabled';
-            }
-
-            buttons[index]['class'] = classes;
+            buttons[index] = {
+                text: label,
+                class: classes,
+                name: name,
+                disabled: disabled,
+                click: () => this.click()
+            };
         });
 
     return buttons;