8784: Fix test for latest firefox.
[arvados.git] / apps / workbench / app / assets / javascripts / add_group.js
1 $(document).on('shown.bs.modal', '#add-group-modal', function(event) {
2     // Disable the submit button on modal loading
3     $submit = $('#add-group-submit');
4     $submit.prop('disabled', true);
5
6     $('input[type=text]', event.target).val('');
7     $('#add-group-error', event.target).hide();
8 }).on('input propertychange', '#group_name_input', function(event) {
9     group_name = $(event.target).val();
10     $submit = $('#add-group-submit');
11     $submit.prop('disabled', (group_name === null || group_name === ""));
12 }).on('submit', '#add-group-form', function(event) {
13     var $form = $(event.target),
14     $submit = $(':submit', $form),
15     $error = $('#add-group-error', $form),
16     group_name = $('input[name="group_name_input"]', $form).val();
17
18     $submit.prop('disabled', true);
19
20     $error.hide();
21     $.ajax('/groups',
22            {method: 'POST',
23             dataType: 'json',
24             data: {group: {name: group_name, group_class: 'role'}},
25             context: $form}).
26         done(function(data, status, jqxhr) {
27             location.reload();
28         }).
29         fail(function(jqxhr, status, error) {
30             var errlist = jqxhr.responseJSON.errors;
31             var errmsg;
32             if (Array.isArray(errlist)) {
33                 errmsg = errlist.join();
34             } else {
35                 errmsg = ("The server returned an error when creating " +
36                           "this group (status " + jqxhr.status +
37                           ": " + errlist + ").");
38             }
39             $error.text(errmsg);
40             $error.show();
41             $submit.prop('disabled', false);
42         });
43     return false;
44 });