Umbraco javascript只获得活跃用户

时间:2018-06-07 15:53:55

标签: javascript umbraco

我试图在javascript中获取umbraco中所有活动的,因此未禁用的用户的列表。随着

entityResource.getAll("User")

我可以获得所有用户。 根据文档,还有后过滤器: https://our.umbraco.org/apidocs/ui/#/api/umbraco.resources.entityResource。 在C#中,     User有一个属性userState,可以是Active。 可悲的是,没有记录如何使用它们。通过尝试各种事情我只会遇到服务器错误。

编辑1: 我认为资源usersResourcehttps://our.umbraco.org/apidocs/ui/#/api/umbraco.resources.usersResource)可以使用getPagedResults(options)来实现我的目的。 但是当它添加到我的控制器的参数列表时 function ProjectManagementController($scope, umbRequestHelper, assetsService, dialogService, entityResource, userService, usersResource, $log, $http)它仍无效。

我发现更改此控制器的任何代码都没有任何影响(例如alerts或删除参数),只更改被调用方法中的代码(从另一个文件动态加载)确实有一个影响。 然而,将js库添加到调用的assetsService.load([ ])然后工作。

我的控制器功能:

function ProjectManagementController($scope, umbRequestHelper, assetsService, dialogService, entityResource, userService, $log, $http) {

    assetsService
        .load([                
            "/App_Plugins/UmbracoProjectManagement/js/interfaceFunctions.js",
            "/App_Plugins/UmbracoProjectManagement/js/jquery.signalR-2.2.3.min.js",
            "/App_Plugins/UmbracoProjectManagement/js/app.js",
            "/App_Plugins/UmbracoProjectManagement/js/UmbracoProjectManagement.NewTaskController.js",
            "/App_Plugins/UmbracoProjectManagement/js/UmbracoProjectManagement.NewSwimlaneController.js"
        ])
        .then(function () {

            app($scope, dialogService, entityResource, userService,  $http);

        });
    }
}

编辑:

我使用了Backoffice Api的调用作为解决方法:

C#代码:

public class KanBanBoardController : UmbracoAuthorizedApiController
{

    public ActiveUsers GetActiveUsers()
    {

        UserState[] active = { UserState.Active };
        long totalUsers;
        var userEnumerable = Services.UserService.GetAll(0, int.MaxValue, out totalUsers, "Name", Direction.Ascending, active, null, null);

        return new ActiveUsers
        {
            Users = userEnumerable.Select(user => new KanBanUser { Name=user.Name}).ToArray()
        };

    }
}

用户转移对象:

 public class KanBanUser
{
    [Column("Name")]
    public string Name { get; set; }
}

public class ActiveUsers
{
    [Column("Users")]
    public KanBanUser[] Users { get; set; }
}

0 个答案:

没有答案