29 lines
941 B
CoffeeScript
29 lines
941 B
CoffeeScript
($ document).on "click", "input[type=checkbox][name=gm-group-check]", ->
|
|
box = $(this)
|
|
box.attr 'disabled', 'disabled'
|
|
|
|
groupName = box[0].dataset.group
|
|
|
|
count = Number $("span##{groupName}-members").html()
|
|
boxChecked = box[0].checked
|
|
|
|
count += if boxChecked then 1 else -1
|
|
|
|
$.ajax
|
|
url: '/ajax/group_membership'
|
|
type: 'POST'
|
|
data:
|
|
user: box[0].dataset.user
|
|
group: groupName
|
|
add: boxChecked
|
|
success: (data, status, jqxhr) ->
|
|
if data.success
|
|
box[0].checked = if data.checked? then data.checked else !boxChecked
|
|
$("span##{groupName}-members").html(count)
|
|
showNotification data.message, data.success
|
|
error: (jqxhr, status, error) ->
|
|
box[0].checked = false
|
|
console.log jqxhr, status, error
|
|
showNotification "An error occurred, a developer should check the console for details", false
|
|
complete: (jqxhr, status) ->
|
|
box.removeAttr "disabled" |