diff --git a/src/main/scala/app/UserManagementController.scala b/src/main/scala/app/UserManagementController.scala index faa2513..2b2b9d7 100644 --- a/src/main/scala/app/UserManagementController.scala +++ b/src/main/scala/app/UserManagementController.scala @@ -126,4 +126,8 @@ } getOrElse NotFound }) + post("/admin/users/_usercheck")(adminOnly { + getAccountByUserName(params("userName")).isDefined + }) + } \ No newline at end of file diff --git a/src/main/twirl/admin/users/group.scala.html b/src/main/twirl/admin/users/group.scala.html index 030b92c..3cc297a 100644 --- a/src/main/twirl/admin/users/group.scala.html +++ b/src/main/twirl/admin/users/group.scala.html @@ -61,9 +61,6 @@ return false; } - // TODO check existence - - // check duplication var exists = $('#members li').filter(function(){ return $(this).data('name') == userName; @@ -73,19 +70,28 @@ return false; } - // add member - $('#members').append($('
  • ') - .data('name', userName) - .append($('').attr('href', '@path/' + userName).text(userName)) - .append(' ') - .append($('').attr('href', '#').addClass('remove').text('(remove)'))); - $('#memberName').val(''); + // check existence + $.post('@path/admin/users/_usercheck', { + 'userName': userName + }, function(data, status){ + if(data == 'true'){ + // add member + $('#members').append($('
  • ') + .data('name', userName) + .append($('').attr('href', '@path/' + userName).text(userName)) + .append(' ') + .append($('').attr('href', '#').addClass('remove').text('(remove)'))); + $('#memberName').val(''); - // update hidden value - var userNames = $('#members li').map(function(i, e){ - return $(e).data('name'); - }).get().join(','); - $('#memberNames').val(userNames); + // update hidden value + var userNames = $('#members li').map(function(i, e){ + return $(e).data('name'); + }).get().join(','); + $('#memberNames').val(userNames); + } else { + $('#error-memberName').text('User does not exist.'); + } + }); }); $(document).on('click', '.remove', function(){ @@ -98,5 +104,11 @@ }).get().join(','); $('#memberNames').val(userNames); }); + + // Don't submit form by ENTER key + $('#memberName').keypress(function(e){ + console.log(e.keyCode); + return !(e.keyCode == 13); + }); }); \ No newline at end of file