controlshift/prague-server

View on GitHub
app/assets/javascripts/users.js.coffee

Summary

Maintainability
Test Coverage
$ ->
  $('form#new_invitation')
  .on('ajax:success', (e, data, status, xhr) ->
    $('.alert').remove()
    $('.error-message').remove()
    $('input#invitation_recipient_email').parent().removeClass('has-error')
    $('#main').prepend('<div class="alert alert-success fade in">' +
      '<button class="close" data-dismiss="alert"> ×</button>' +
      'Invitation sent to email ' + data.recipient_email + '.')
    $(':input','form#new_invitation')
    .not(':button, :submit, :reset, :hidden')
    .val('')
    .removeAttr('checked')
    .removeAttr('selected')
  ).on 'ajax:error', (e, data, status, xhr) ->
    $('.alert').remove()
    $('.error-message').remove()
    $(this).find('input#invitation_recipient_email').focus()
    $('input#invitation_recipient_email').parent().addClass('has-error')

    errors = data.responseJSON
    errors_html = ''

    $.each(errors, (index, value) ->
      errors_html += '<span class="help-block error-message">' + value + '</span>'
    )

    $(errors_html).insertAfter('input#invitation_recipient_email')