Minor refactor

stable
David Barragán Merino 2014-07-24 12:51:34 +02:00
parent 2fe0773597
commit 9542c3f6c4
2 changed files with 71 additions and 73 deletions

View File

@ -43,6 +43,8 @@ class MembershipsController extends mixOf(taiga.Controller, taiga.PageMixin, tai
]
constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q, @location) ->
_.bindAll(@)
@scope.sectionName = "Memberships" #i18n
@scope.project = {}
@scope.filters = {}
@ -51,7 +53,7 @@ class MembershipsController extends mixOf(taiga.Controller, taiga.PageMixin, tai
promise.then null, ->
console.log "FAIL" #TODO
@scope.$on("membersform:new:success", @.onNewMembers)
@scope.$on("membersform:new:success", @.loadMembers)
loadProject: ->
return @rs.projects.get(@scope.projectId).then (project) =>
@ -73,6 +75,7 @@ class MembershipsController extends mixOf(taiga.Controller, taiga.PageMixin, tai
return data
return promise.then(=> @.loadProject())
.then(=> @.loadUsersAndRoles())
.then(=> @.loadMembers())
getUrlFilters: ->
@ -83,9 +86,6 @@ class MembershipsController extends mixOf(taiga.Controller, taiga.PageMixin, tai
addNewMembers: ->
@rootscope.$broadcast("membersform:new")
onNewMembers: ->
@.loadMembers()
module.controller("MembershipsController", MembershipsController)
@ -220,7 +220,7 @@ module.directive("tgMemberships", MembershipsDirective)
## Member Avatar Directive
#############################################################################
MembershipsMemberAvatarDirective = ($log) ->
MembershipsRowAvatarDirective = ($log) ->
template = _.template("""
<figure class="avatar">
<img src="<%= imgurl %>" alt="<%- full_name %>">
@ -231,7 +231,8 @@ MembershipsMemberAvatarDirective = ($log) ->
</figure>
""")
render = ($el, member) ->
link = ($scope, $el, $attrs) ->
render = (member) ->
ctx = {
full_name: if member.full_name then member.full_name else ""
email: member.email
@ -241,12 +242,11 @@ MembershipsMemberAvatarDirective = ($log) ->
html = template(ctx)
$el.html(html)
link = ($scope, $el, $attrs) ->
if not $attrs.tgMembershipsMemberAvatar?
return $log.error "MembershipsMemberAvatarDirective: the directive need a member"
if not $attrs.tgMembershipsRowAvatar?
return $log.error "MembershipsRowAvatarDirective: the directive need a member"
member = $scope.$eval($attrs.tgMembershipsMemberAvatar)
render($el, member)
member = $scope.$eval($attrs.tgMembershipsRowAvatar)
render(member)
$scope.$on "$destroy", ->
$el.off()
@ -254,14 +254,14 @@ MembershipsMemberAvatarDirective = ($log) ->
return {link: link}
module.directive("tgMembershipsMemberAvatar", ["$log", MembershipsMemberAvatarDirective])
module.directive("tgMembershipsRowAvatar", ["$log", MembershipsRowAvatarDirective])
#############################################################################
## Member Actions Directive
#############################################################################
MembershipsMemberActionsDirective = ($log, $repo, $confirm) ->
MembershipsRowActionsDirective = ($log, $repo, $confirm) ->
activedTemplate = _.template("""
<div class="active">
Active
@ -270,6 +270,7 @@ MembershipsMemberActionsDirective = ($log, $repo, $confirm) ->
<span class="icon icon-delete"></span>
</a>
""") # i18n
pendingTemplate = _.template("""
<a class="pending" href="">
Pending
@ -280,7 +281,8 @@ MembershipsMemberActionsDirective = ($log, $repo, $confirm) ->
</a>
""") # i18n
render = ($el, member) ->
link = ($scope, $el, $attrs) ->
render = (member) ->
if member.user
html = activedTemplate()
else
@ -288,14 +290,12 @@ MembershipsMemberActionsDirective = ($log, $repo, $confirm) ->
$el.html(html)
link = ($scope, $el, $attrs) ->
if not $attrs.tgMembershipsRowActions?
return $log.error "MembershipsRowActionsDirective: the directive need a member"
$ctrl = $el.controller()
if not $attrs.tgMembershipsMemberActions?
return $log.error "MembershipsMemberActionsDirective: the directive need a member"
member = $scope.$eval($attrs.tgMembershipsMemberActions)
render($el, member)
member = $scope.$eval($attrs.tgMembershipsRowActions)
render(member)
$el.on "click", ".pending", (event) ->
event.preventDefault()
@ -319,32 +319,32 @@ MembershipsMemberActionsDirective = ($log, $repo, $confirm) ->
return {link: link}
module.directive("tgMembershipsMemberActions", ["$log", "$tgRepo", "$tgConfirm",
MembershipsMemberActionsDirective])
module.directive("tgMembershipsRowActions", ["$log", "$tgRepo", "$tgConfirm",
MembershipsRowActionsDirective])
#############################################################################
## Member IsAdminCheckbox Directive
#############################################################################
MembershipsMemberIsAdminCheckboxDirective = ($log, $repo, $confirm) ->
MembershipsRowAdminCheckboxDirective = ($log, $repo, $confirm) ->
template = _.template("""
<input type="checkbox" id="<%- inputId %>" />
<label for="<%- inputId %>">Is admin?</label>
""") # i18n
render = ($el, member) ->
link = ($scope, $el, $attrs) ->
render = (member) ->
ctx = {inputId: "is-admin-#{member.id}"}
html = template(ctx)
$el.html(html)
link = ($scope, $el, $attrs) ->
if not $attrs.tgMembershipsMemberIsAdminCheckbox?
return $log.error "MembershipsMemberIsAdminCheckboxDirective: the directive need a member"
if not $attrs.tgMembershipsRowAdminCheckbox?
return $log.error "MembershipsRowAdminCheckboxDirective: the directive need a member"
member = $scope.$eval($attrs.tgMembershipsMemberIsAdminCheckbox)
html = render($el, member)
member = $scope.$eval($attrs.tgMembershipsRowAdminCheckbox)
html = render(member)
if member.is_admin
$el.find(":checkbox").prop("checked", true)
@ -366,13 +366,13 @@ MembershipsMemberIsAdminCheckboxDirective = ($log, $repo, $confirm) ->
return {link: link}
module.directive("tgMembershipsMemberIsAdminCheckbox", ["$log", "$tgRepo", "$tgConfirm",
MembershipsMemberIsAdminCheckboxDirective])
module.directive("tgMembershipsRowAdminCheckbox", ["$log", "$tgRepo", "$tgConfirm",
MembershipsRowAdminCheckboxDirective])
#############################################################################
## Member RoleSelector Directive
#############################################################################
MembershipsMemberRoleSelectorDirective = ($log, $repo, $confirm) ->
MembershipsRowRoleSelectorDirective = ($log, $repo, $confirm) ->
template = _.template("""
<select>
<% _.each(roleList, function(role) { %>
@ -383,24 +383,22 @@ MembershipsMemberRoleSelectorDirective = ($log, $repo, $confirm) ->
</select>
""")
render = ($el, member, roleList) ->
link = ($scope, $el, $attrs) ->
render = (member) ->
ctx = {
roleList: roleList,
roleList: $scope.roles,
selectedRole: member.role
}
html = template(ctx)
$el.html(html)
link = ($scope, $el, $attrs) ->
if not $attrs.tgMembershipsRowRoleSelector?
return $log.error "MembershipsRowRoleSelectorDirective: the directive need a member"
$ctrl = $el.controller()
if not $attrs.tgMembershipsMemberRoleSelector?
return $log.error "MembershipsMemberRoleSelectorDirective: the directive need a member"
member = $scope.$eval($attrs.tgMembershipsMemberRoleSelector)
roleList = $ctrl.scope.project.roles
html = render($el, member, roleList)
member = $scope.$eval($attrs.tgMembershipsRowRoleSelector)
html = render(member)
$el.on "click", "select", (event) =>
onSuccess = ->
@ -422,5 +420,5 @@ MembershipsMemberRoleSelectorDirective = ($log, $repo, $confirm) ->
return {link: link}
module.directive("tgMembershipsMemberRoleSelector", ["$log", "$tgRepo", "$tgConfirm",
MembershipsMemberRoleSelectorDirective])
module.directive("tgMembershipsRowRoleSelector", ["$log", "$tgRepo", "$tgConfirm",
MembershipsRowRoleSelectorDirective])

View File

@ -6,7 +6,7 @@ section.admin-membership-table.basic-table
div.header-status Status
div.row(ng-repeat="member in memberships")
div.row-member(tg-memberships-member-avatar="member")
div.row-admin(tg-memberships-member-is-admin-checkbox="member")
div.row-role(tg-memberships-member-role-selector="member")
div.row-status(tg-memberships-member-actions="member")
div.row-member(tg-memberships-row-avatar="member")
div.row-admin(tg-memberships-row-admin-checkbox="member")
div.row-role(tg-memberships-row-role-selector="member")
div.row-status(tg-memberships-row-actions="member")