Directive to do a member administrator
parent
2817bd3d45
commit
fd7733dfd7
|
@ -283,9 +283,57 @@ MembershipsMemberActionsDirective = ($log) ->
|
|||
html = render(member)
|
||||
$el.html(html)
|
||||
|
||||
return {
|
||||
link: link
|
||||
}
|
||||
$scope.$on "$destroy", ->
|
||||
$el.off()
|
||||
|
||||
return {link: link}
|
||||
|
||||
|
||||
module.directive("tgMembershipsMemberActions", ["$log", MembershipsMemberActionsDirective])
|
||||
|
||||
|
||||
#############################################################################
|
||||
## Member IsAdminCheckbox Directive
|
||||
#############################################################################
|
||||
|
||||
MembershipsMemberIsAdminCheckboxDirective = ($log, $repo, $confirm) ->
|
||||
template = _.template("""
|
||||
<input type="checkbox" id="<%- inputId %>" />
|
||||
<label for="<%- inputId %>">Is admin?</label>
|
||||
""") # i18n
|
||||
|
||||
render = (member) ->
|
||||
ctx = {inputId: "is-admin-#{member.id}"}
|
||||
|
||||
return template(ctx)
|
||||
|
||||
link = ($scope, $el, $attrs) ->
|
||||
if not $attrs.tgMembershipsMemberIsAdminCheckbox?
|
||||
return $log.error "MembershipsMemberIsAdminCheckboxDirective: the directive need a member"
|
||||
|
||||
member = $scope.$eval($attrs.tgMembershipsMemberIsAdminCheckbox)
|
||||
html = render(member)
|
||||
$el.html(html)
|
||||
|
||||
if member.is_admin
|
||||
$el.find(":checkbox").prop("checked", true)
|
||||
|
||||
$el.on "click", ":checkbox", (event) =>
|
||||
onSuccess = ->
|
||||
$confirm.notify("success")
|
||||
|
||||
onError = ->
|
||||
$confirm.notify("error")
|
||||
|
||||
target = angular.element(event.currentTarget)
|
||||
member.is_admin = target.prop("checked")
|
||||
$repo.save(member).then(onSuccess, onError)
|
||||
|
||||
$scope.$on "$destroy", ->
|
||||
$el.off()
|
||||
|
||||
return {link: link}
|
||||
|
||||
|
||||
module.directive("tgMembershipsMemberIsAdminCheckbox", ["$log", "$tgRepo", "$tgConfirm",
|
||||
MembershipsMemberIsAdminCheckboxDirective])
|
||||
|
|
|
@ -7,9 +7,7 @@ section.admin-membership-table.basic-table
|
|||
|
||||
div.row(ng-repeat="member in memberships")
|
||||
div.row-member(tg-memberships-member-avatar="member")
|
||||
div.row-admin
|
||||
input(type="checkbox", id="is-admin" ng-model="member.is_admin")
|
||||
label(for="is-admin") Is admin?
|
||||
div.row-admin(tg-memberships-member-is-admin-checkbox="member")
|
||||
div.row-role
|
||||
select(ng-model="member.role")
|
||||
option UX
|
||||
|
|
Loading…
Reference in New Issue