aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-03 21:59:20 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-03 21:59:20 -0500
commitf93fb4650c2e79655222be6f3e81d360c75c8532 (patch)
tree5d1c0894ae3efedc1d8f0eabe31826a2e0f8d01c
parent135168b0e0640211aee5cda9285cffb184385e83 (diff)
display additional users in dashboard
-rw-r--r--MediaBrowser.Api/SessionsService.cs2
-rw-r--r--MediaBrowser.Controller/Session/SessionInfo.cs10
-rw-r--r--MediaBrowser.Model/Session/SessionInfoDto.cs4
-rw-r--r--MediaBrowser.Server.Implementations/Dto/DtoService.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Session/SessionManager.cs12
5 files changed, 18 insertions, 12 deletions
diff --git a/MediaBrowser.Api/SessionsService.cs b/MediaBrowser.Api/SessionsService.cs
index 0e95239e2..8d5e9e0d7 100644
--- a/MediaBrowser.Api/SessionsService.cs
+++ b/MediaBrowser.Api/SessionsService.cs
@@ -239,7 +239,7 @@ namespace MediaBrowser.Api
if (!user.Configuration.EnableRemoteControlOfOtherUsers)
{
- result = result.Where(i => !i.UserId.HasValue || i.UserId.Value == request.ControllableByUserId.Value);
+ result = result.Where(i => !i.UserId.HasValue || i.ContainsUser(request.ControllableByUserId.Value));
}
}
diff --git a/MediaBrowser.Controller/Session/SessionInfo.cs b/MediaBrowser.Controller/Session/SessionInfo.cs
index ce07f5dc4..b05a68a84 100644
--- a/MediaBrowser.Controller/Session/SessionInfo.cs
+++ b/MediaBrowser.Controller/Session/SessionInfo.cs
@@ -2,6 +2,7 @@
using MediaBrowser.Model.Session;
using System;
using System.Collections.Generic;
+using System.Linq;
namespace MediaBrowser.Controller.Session
{
@@ -14,10 +15,10 @@ namespace MediaBrowser.Controller.Session
{
QueueableMediaTypes = new List<string>();
- AdditionalUsersPresent = new List<SessionUserInfo>();
+ AdditionalUsers = new List<SessionUserInfo>();
}
- public List<SessionUserInfo> AdditionalUsersPresent { get; set; }
+ public List<SessionUserInfo> AdditionalUsers { get; set; }
/// <summary>
/// Gets or sets the remote end point.
@@ -172,5 +173,10 @@ namespace MediaBrowser.Controller.Session
return false;
}
}
+
+ public bool ContainsUser(Guid userId)
+ {
+ return (UserId ?? Guid.Empty) == UserId || AdditionalUsers.Any(i => userId == new Guid(i.UserId));
+ }
}
}
diff --git a/MediaBrowser.Model/Session/SessionInfoDto.cs b/MediaBrowser.Model/Session/SessionInfoDto.cs
index f3980e2e4..711690022 100644
--- a/MediaBrowser.Model/Session/SessionInfoDto.cs
+++ b/MediaBrowser.Model/Session/SessionInfoDto.cs
@@ -47,7 +47,7 @@ namespace MediaBrowser.Model.Session
/// Gets or sets the additional users present.
/// </summary>
/// <value>The additional users present.</value>
- public List<SessionUserInfo> AdditionalUsersPresent { get; set; }
+ public List<SessionUserInfo> AdditionalUsers { get; set; }
/// <summary>
/// Gets or sets the application version.
@@ -137,7 +137,7 @@ namespace MediaBrowser.Model.Session
public SessionInfoDto()
{
- AdditionalUsersPresent = new List<SessionUserInfo>();
+ AdditionalUsers = new List<SessionUserInfo>();
}
}
diff --git a/MediaBrowser.Server.Implementations/Dto/DtoService.cs b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
index c6c23ac2e..0f6d680b1 100644
--- a/MediaBrowser.Server.Implementations/Dto/DtoService.cs
+++ b/MediaBrowser.Server.Implementations/Dto/DtoService.cs
@@ -245,7 +245,7 @@ namespace MediaBrowser.Server.Implementations.Dto
CanSeek = session.CanSeek,
QueueableMediaTypes = session.QueueableMediaTypes,
RemoteEndPoint = session.RemoteEndPoint,
- AdditionalUsersPresent = session.AdditionalUsersPresent
+ AdditionalUsers = session.AdditionalUsers
};
if (session.NowPlayingItem != null)
diff --git a/MediaBrowser.Server.Implementations/Session/SessionManager.cs b/MediaBrowser.Server.Implementations/Session/SessionManager.cs
index 7a253b89b..6440a1242 100644
--- a/MediaBrowser.Server.Implementations/Session/SessionManager.cs
+++ b/MediaBrowser.Server.Implementations/Session/SessionManager.cs
@@ -236,7 +236,7 @@ namespace MediaBrowser.Server.Implementations.Session
if (!userId.HasValue)
{
- connection.AdditionalUsersPresent.Clear();
+ connection.AdditionalUsers.Clear();
}
if (connection.SessionController == null)
@@ -264,7 +264,7 @@ namespace MediaBrowser.Server.Implementations.Session
users.Add(user);
- var additionalUsers = session.AdditionalUsersPresent
+ var additionalUsers = session.AdditionalUsers
.Select(i => _userManager.GetUserById(new Guid(i.UserId)))
.Where(i => i != null);
@@ -753,11 +753,11 @@ namespace MediaBrowser.Server.Implementations.Session
throw new ArgumentException("The requested user is already the primary user of the session.");
}
- if (session.AdditionalUsersPresent.All(i => new Guid(i.UserId) != userId))
+ if (session.AdditionalUsers.All(i => new Guid(i.UserId) != userId))
{
var user = _userManager.GetUserById(userId);
- session.AdditionalUsersPresent.Add(new SessionUserInfo
+ session.AdditionalUsers.Add(new SessionUserInfo
{
UserId = userId.ToString("N"),
UserName = user.Name
@@ -786,11 +786,11 @@ namespace MediaBrowser.Server.Implementations.Session
throw new ArgumentException("The requested user is already the primary user of the session.");
}
- var user = session.AdditionalUsersPresent.FirstOrDefault(i => new Guid(i.UserId) == userId);
+ var user = session.AdditionalUsers.FirstOrDefault(i => new Guid(i.UserId) == userId);
if (user != null)
{
- session.AdditionalUsersPresent.Remove(user);
+ session.AdditionalUsers.Remove(user);
}
}
}