What about just passing in the version and calling promote on it?

    $scope.promote = function (version) {
        version.$promote(....)
    }