Directive to do a member administrator
parent
2817bd3d45
commit
fd7733dfd7
|
@ -283,9 +283,57 @@ MembershipsMemberActionsDirective = ($log) ->
|
||||||
html = render(member)
|
html = render(member)
|
||||||
$el.html(html)
|
$el.html(html)
|
||||||
|
|
||||||
return {
|
$scope.$on "$destroy", ->
|
||||||
link: link
|
$el.off()
|
||||||
}
|
|
||||||
|
return {link: link}
|
||||||
|
|
||||||
|
|
||||||
module.directive("tgMembershipsMemberActions", ["$log", MembershipsMemberActionsDirective])
|
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(ng-repeat="member in memberships")
|
||||||
div.row-member(tg-memberships-member-avatar="member")
|
div.row-member(tg-memberships-member-avatar="member")
|
||||||
div.row-admin
|
div.row-admin(tg-memberships-member-is-admin-checkbox="member")
|
||||||
input(type="checkbox", id="is-admin" ng-model="member.is_admin")
|
|
||||||
label(for="is-admin") Is admin?
|
|
||||||
div.row-role
|
div.row-role
|
||||||
select(ng-model="member.role")
|
select(ng-model="member.role")
|
||||||
option UX
|
option UX
|
||||||
|
|
Loading…
Reference in New Issue