         $el.on "click", "#move-to-current-sprint", (event) =>
             # Calculating the us's to be modified
             ussDom = $el.find(".backlog-table-body .user-stories input:checkbox:checked")
+
             ussToMove = _.map ussDom, (item) ->
                 itemScope = angular.element(item).scope()
                 itemScope.us.milestone = $scope.sprints[0].id
                 return itemScope.us
 
             $scope.$apply(_.partial(moveToCurrentSprint, ussToMove))
+
+        $el.on "click", "#show-tags", (event) ->
+            event.preventDefault()
+            target = angular.element(event.currentTarget)
+            $el.find(".user-story-tags").toggle()
+            target.toggleClass("active")
+            toggleText(target.find(".text"), ["Hide Tags", "Show Tags"]) # TODO: i18n
+
 
     #########################
     ## Filters Link

    ## Move to current sprint link
    ##############################

    linkMoveToCurrentSprint = ($scope, $el, $attrs, $ctrl) ->

        moveToCurrentSprint = (selectedUss) ->
            ussCurrent = _($scope.userstories)
            # Remove them from backlog
            $scope.userstories = ussCurrent.without.apply(ussCurrent, selectedUss).value()
            # Add them to current sprint
            $scope.sprints[0].user_stories = _.union(selectedUss, $scope.sprints[0].user_stories)
            $ctrl.filterVisibleUserstories()
            $repo.saveAll(selectedUss)
            scopeDefer $scope, =>
                $scope.$broadcast("doomline:redraw")


        # Enable move to current sprint only when there are selected us's
        $el.on "change", ".backlog-table-body .user-stories input:checkbox", (event) ->
            moveToCurrentSprintDom = $el.find("#move-to-current-sprint")
            selectedUsDom = $el.find(".backlog-table-body .user-stories input:checkbox:checked")
            if selectedUsDom.length > 0 and $scope.sprints.length > 0
                moveToCurrentSprintDom.show()
            else

    </ul>
    """)

    link = ($scope, $el, $attrs) ->
        $ctrl = $el.controller()

        us = $scope.$eval($attrs.tgUsPoints)
        updatingSelectedRoleId = null
        selectedRoleId = null

        updatePoints = (roleId) ->
            pointsDom = $el.find("a > span.points-value")
            if not roleId?
                pointsDom.text(us.total_points)
            else
                pointId = us.points[roleId]
                points = $scope.pointsById[pointId]
                pointsDom.text("#{points.name}/#{us.total_points}")

        calculateTotalPoints = ->
            values = _.map(us.points, (v, k) -> $scope.pointsById[v].value)
            return _.reduce(values, (acc, num) -> acc + num)

        updatePoints(null)

        bindOnce $scope, "project", (project) ->
            roles = _.filter(project.roles, "computable")
            $el.append(selectionTemplate({ "roles":  roles }))
            $el.append(pointsTemplate({ "points":  project.points }))

        $scope.$on "uspoints:select", (ctx, roleId, roleName) ->
            updatePoints(roleId)
            selectedRoleId = roleId

        $scope.$on "uspoints:clear-selection", (ctx) ->
            updatePoints(null)
            selectedRoleId = null

        $el.on "click", "a.us-points", (event) ->
            event.preventDefault()
            target = angular.element(event.target)

            console.log target

            if target.is("span")
                event.stopPropagation()

            if selectedRoleId?
