fixed empty user display on dashboard

This commit is contained in:
Luke Pulverenti 2013-06-19 08:24:50 -04:00
parent e8634cbafd
commit 3f23ee9e82
4 changed files with 12 additions and 53 deletions

View file

@ -20,7 +20,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
private SQLiteConnection _connection; private SQLiteConnection _connection;
private readonly ILogger _logger; private readonly ILogger _logger;
/// <summary> /// <summary>
/// Gets the name of the repository /// Gets the name of the repository
/// </summary> /// </summary>
@ -192,7 +192,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
var idParam = cmd.Parameters.Add("@id", DbType.Guid); var idParam = cmd.Parameters.Add("@id", DbType.Guid);
idParam.Value = displayPreferencesId; idParam.Value = displayPreferencesId;
using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult | CommandBehavior.SingleRow)) using (var reader = cmd.ExecuteReader(CommandBehavior.SequentialAccess | CommandBehavior.SingleResult | CommandBehavior.SingleRow))
{ {
if (reader.Read()) if (reader.Read())
{ {
@ -203,7 +203,7 @@ namespace MediaBrowser.Server.Implementations.Persistence
} }
} }
return null; return new DisplayPreferences { Id = displayPreferencesId };
} }
/// <summary> /// <summary>

View file

@ -1,5 +1,4 @@
using MediaBrowser.Model.Dto; using MediaBrowser.Model.Session;
using MediaBrowser.Model.Session;
using MediaBrowser.Model.System; using MediaBrowser.Model.System;
using MediaBrowser.Model.Tasks; using MediaBrowser.Model.Tasks;
using System; using System;
@ -34,12 +33,6 @@ namespace MediaBrowser.WebDashboard.Api
/// </summary> /// </summary>
/// <value>The active connections.</value> /// <value>The active connections.</value>
public SessionInfoDto[] ActiveConnections { get; set; } public SessionInfoDto[] ActiveConnections { get; set; }
/// <summary>
/// Gets or sets the users.
/// </summary>
/// <value>The users.</value>
public UserDto[] Users { get; set; }
} }
} }

View file

@ -30,11 +30,6 @@ namespace MediaBrowser.WebDashboard.Api
/// <value>The task manager.</value> /// <value>The task manager.</value>
private readonly ITaskManager _taskManager; private readonly ITaskManager _taskManager;
/// <summary>
/// The _user manager
/// </summary>
private readonly IUserManager _userManager;
private readonly ILibraryManager _libraryManager;
private readonly ISessionManager _sessionManager; private readonly ISessionManager _sessionManager;
/// <summary> /// <summary>
@ -43,15 +38,12 @@ namespace MediaBrowser.WebDashboard.Api
/// <param name="appHost">The app host.</param> /// <param name="appHost">The app host.</param>
/// <param name="logger">The logger.</param> /// <param name="logger">The logger.</param>
/// <param name="taskManager">The task manager.</param> /// <param name="taskManager">The task manager.</param>
/// <param name="userManager">The user manager.</param> /// <param name="sessionManager">The session manager.</param>
/// <param name="libraryManager">The library manager.</param> public DashboardInfoWebSocketListener(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, ISessionManager sessionManager)
public DashboardInfoWebSocketListener(IServerApplicationHost appHost, ILogger logger, ITaskManager taskManager, IUserManager userManager, ILibraryManager libraryManager, ISessionManager sessionManager)
: base(logger) : base(logger)
{ {
_appHost = appHost; _appHost = appHost;
_taskManager = taskManager; _taskManager = taskManager;
_userManager = userManager;
_libraryManager = libraryManager;
_sessionManager = sessionManager; _sessionManager = sessionManager;
} }
@ -62,7 +54,7 @@ namespace MediaBrowser.WebDashboard.Api
/// <returns>Task{IEnumerable{TaskInfo}}.</returns> /// <returns>Task{IEnumerable{TaskInfo}}.</returns>
protected override Task<DashboardInfo> GetDataToSend(object state) protected override Task<DashboardInfo> GetDataToSend(object state)
{ {
return DashboardService.GetDashboardInfo(_appHost, Logger, _taskManager, _userManager, _libraryManager, _sessionManager); return Task.FromResult(DashboardService.GetDashboardInfo(_appHost, _taskManager, _sessionManager));
} }
} }
} }

View file

@ -107,19 +107,10 @@ namespace MediaBrowser.WebDashboard.Api
/// <value>The task manager.</value> /// <value>The task manager.</value>
private readonly ITaskManager _taskManager; private readonly ITaskManager _taskManager;
/// <summary>
/// The _user manager
/// </summary>
private readonly IUserManager _userManager;
/// <summary> /// <summary>
/// The _app host /// The _app host
/// </summary> /// </summary>
private readonly IServerApplicationHost _appHost; private readonly IServerApplicationHost _appHost;
/// <summary>
/// The _library manager
/// </summary>
private readonly ILibraryManager _libraryManager;
/// <summary> /// <summary>
/// The _server configuration manager /// The _server configuration manager
@ -132,16 +123,13 @@ namespace MediaBrowser.WebDashboard.Api
/// Initializes a new instance of the <see cref="DashboardService" /> class. /// Initializes a new instance of the <see cref="DashboardService" /> class.
/// </summary> /// </summary>
/// <param name="taskManager">The task manager.</param> /// <param name="taskManager">The task manager.</param>
/// <param name="userManager">The user manager.</param>
/// <param name="appHost">The app host.</param> /// <param name="appHost">The app host.</param>
/// <param name="libraryManager">The library manager.</param>
/// <param name="serverConfigurationManager">The server configuration manager.</param> /// <param name="serverConfigurationManager">The server configuration manager.</param>
public DashboardService(ITaskManager taskManager, IUserManager userManager, IServerApplicationHost appHost, ILibraryManager libraryManager, IServerConfigurationManager serverConfigurationManager, ISessionManager sessionManager) /// <param name="sessionManager">The session manager.</param>
public DashboardService(ITaskManager taskManager, IServerApplicationHost appHost, IServerConfigurationManager serverConfigurationManager, ISessionManager sessionManager)
{ {
_taskManager = taskManager; _taskManager = taskManager;
_userManager = userManager;
_appHost = appHost; _appHost = appHost;
_libraryManager = libraryManager;
_serverConfigurationManager = serverConfigurationManager; _serverConfigurationManager = serverConfigurationManager;
_sessionManager = sessionManager; _sessionManager = sessionManager;
} }
@ -182,7 +170,7 @@ namespace MediaBrowser.WebDashboard.Api
/// <returns>System.Object.</returns> /// <returns>System.Object.</returns>
public object Get(GetDashboardInfo request) public object Get(GetDashboardInfo request)
{ {
var result = GetDashboardInfo(_appHost, Logger, _taskManager, _userManager, _libraryManager, _sessionManager).Result; var result = GetDashboardInfo(_appHost, _taskManager, _sessionManager);
return ResultFactory.GetOptimizedResult(RequestContext, result); return ResultFactory.GetOptimizedResult(RequestContext, result);
} }
@ -191,27 +179,15 @@ namespace MediaBrowser.WebDashboard.Api
/// Gets the dashboard info. /// Gets the dashboard info.
/// </summary> /// </summary>
/// <param name="appHost">The app host.</param> /// <param name="appHost">The app host.</param>
/// <param name="logger">The logger.</param>
/// <param name="taskManager">The task manager.</param> /// <param name="taskManager">The task manager.</param>
/// <param name="userManager">The user manager.</param>
/// <param name="libraryManager">The library manager.</param>
/// <param name="connectionManager">The connection manager.</param> /// <param name="connectionManager">The connection manager.</param>
/// <returns>DashboardInfo.</returns> /// <returns>DashboardInfo.</returns>
public static async Task<DashboardInfo> GetDashboardInfo(IServerApplicationHost appHost, public static DashboardInfo GetDashboardInfo(IServerApplicationHost appHost,
ILogger logger,
ITaskManager taskManager, ITaskManager taskManager,
IUserManager userManager,
ILibraryManager libraryManager,
ISessionManager connectionManager) ISessionManager connectionManager)
{ {
var connections = connectionManager.Sessions.Where(i => i.IsActive).ToArray(); var connections = connectionManager.Sessions.Where(i => i.IsActive).ToArray();
var dtoBuilder = new UserDtoBuilder(logger);
var tasks = userManager.Users.Where(u => connections.Any(c => c.User != null && c.User.Id == u.Id)).Select(dtoBuilder.GetUserDto);
var users = await Task.WhenAll(tasks).ConfigureAwait(false);
return new DashboardInfo return new DashboardInfo
{ {
SystemInfo = appHost.GetSystemInfo(), SystemInfo = appHost.GetSystemInfo(),
@ -222,9 +198,7 @@ namespace MediaBrowser.WebDashboard.Api
ApplicationUpdateTaskId = taskManager.ScheduledTasks.First(t => t.ScheduledTask.GetType().Name.Equals("SystemUpdateTask", StringComparison.OrdinalIgnoreCase)).Id, ApplicationUpdateTaskId = taskManager.ScheduledTasks.First(t => t.ScheduledTask.GetType().Name.Equals("SystemUpdateTask", StringComparison.OrdinalIgnoreCase)).Id,
ActiveConnections = connections.Select(SessionInfoDtoBuilder.GetSessionInfoDto).ToArray(), ActiveConnections = connections.Select(SessionInfoDtoBuilder.GetSessionInfoDto).ToArray()
Users = users.ToArray()
}; };
} }