From 9542c3f6c4898b8b49b44847d3c009503d71c3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Barrag=C3=A1n=20Merino?= Date: Thu, 24 Jul 2014 12:51:34 +0200 Subject: [PATCH] Minor refactor --- app/coffee/modules/admin/memberships.coffee | 136 +++++++++--------- .../modules/admin/admin-membership-table.jade | 8 +- 2 files changed, 71 insertions(+), 73 deletions(-) diff --git a/app/coffee/modules/admin/memberships.coffee b/app/coffee/modules/admin/memberships.coffee index df1018d8..0662a240 100644 --- a/app/coffee/modules/admin/memberships.coffee +++ b/app/coffee/modules/admin/memberships.coffee @@ -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("""
<%- full_name %> @@ -231,22 +231,22 @@ MembershipsMemberAvatarDirective = ($log) ->
""") - render = ($el, member) -> - ctx = { - full_name: if member.full_name then member.full_name else "" - email: member.email - imgurl: if member.photo then member.photo else "http://thecodeplayer.com/u/uifaces/12.jpg" - } - - html = template(ctx) - $el.html(html) - link = ($scope, $el, $attrs) -> - if not $attrs.tgMembershipsMemberAvatar? - return $log.error "MembershipsMemberAvatarDirective: the directive need a member" + render = (member) -> + ctx = { + full_name: if member.full_name then member.full_name else "" + email: member.email + imgurl: if member.photo then member.photo else "http://thecodeplayer.com/u/uifaces/12.jpg" + } - member = $scope.$eval($attrs.tgMembershipsMemberAvatar) - render($el, member) + html = template(ctx) + $el.html(html) + + if not $attrs.tgMembershipsRowAvatar? + return $log.error "MembershipsRowAvatarDirective: the directive need a 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("""
Active @@ -270,6 +270,7 @@ MembershipsMemberActionsDirective = ($log, $repo, $confirm) -> """) # i18n + pendingTemplate = _.template(""" Pending @@ -280,22 +281,21 @@ MembershipsMemberActionsDirective = ($log, $repo, $confirm) -> """) # i18n - render = ($el, member) -> - if member.user - html = activedTemplate() - else - html = pendingTemplate() - - $el.html(html) - link = ($scope, $el, $attrs) -> + render = (member) -> + if member.user + html = activedTemplate() + else + html = pendingTemplate() + + $el.html(html) + + 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(""" """) # i18n - render = ($el, 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" + render = (member) -> + ctx = {inputId: "is-admin-#{member.id}"} - member = $scope.$eval($attrs.tgMembershipsMemberIsAdminCheckbox) - html = render($el, member) + html = template(ctx) + $el.html(html) + + if not $attrs.tgMembershipsRowAdminCheckbox? + return $log.error "MembershipsRowAdminCheckboxDirective: the directive need a 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(""" """) - render = ($el, member, roleList) -> - ctx = { - roleList: roleList, - selectedRole: member.role - } - - html = template(ctx) - $el.html(html) - link = ($scope, $el, $attrs) -> + render = (member) -> + ctx = { + roleList: $scope.roles, + selectedRole: member.role + } + + html = template(ctx) + $el.html(html) + + 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]) diff --git a/app/partials/views/modules/admin/admin-membership-table.jade b/app/partials/views/modules/admin/admin-membership-table.jade index 73b300da..490c5cf0 100644 --- a/app/partials/views/modules/admin/admin-membership-table.jade +++ b/app/partials/views/modules/admin/admin-membership-table.jade @@ -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")