fixes #552 - Add parental control usage limits

This commit is contained in:
Luke Pulverenti
2014-10-14 20:05:09 -04:00
parent 52776df012
commit bd1bd5e87e
34 changed files with 326 additions and 94 deletions

View File

@@ -634,6 +634,7 @@ namespace MediaBrowser.Server.Implementations.Connect
user.Configuration.SyncConnectImage = true;
user.Configuration.SyncConnectName = true;
user.Configuration.IsHidden = true;
_userManager.UpdateConfiguration(user, user.Configuration);
}

View File

@@ -1429,35 +1429,21 @@ namespace MediaBrowser.Server.Implementations.Dto
// See if we can avoid a file system lookup by looking for the file in ResolveArgs
var dateModified = imageInfo.DateModified;
double? width = imageInfo.Width;
double? height = imageInfo.Height;
ImageSize size;
if (!width.HasValue || !height.HasValue)
try
{
try
{
size = _imageProcessor.GetImageSize(path, dateModified);
}
catch (FileNotFoundException)
{
_logger.Error("Image file does not exist: {0}", path);
return;
}
catch (Exception ex)
{
_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, path);
return;
}
size = _imageProcessor.GetImageSize(path, dateModified);
}
else
catch (FileNotFoundException)
{
size = new ImageSize
{
Height = height.Value,
Width = width.Value
};
_logger.Error("Image file does not exist: {0}", path);
return;
}
catch (Exception ex)
{
_logger.ErrorException("Failed to determine primary image aspect ratio for {0}", ex, path);
return;
}
dto.OriginalPrimaryImageAspectRatio = size.Width / size.Height;

View File

@@ -67,7 +67,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
{
if (!_config.Configuration.InsecureApps.Contains(auth.Client ?? string.Empty, StringComparer.OrdinalIgnoreCase))
{
//SessionManager.ValidateSecurityToken(auth.Token);
SessionManager.ValidateSecurityToken(auth.Token);
}
}
@@ -80,9 +80,17 @@ namespace MediaBrowser.Server.Implementations.HttpServer.Security
throw new ArgumentException("User with Id " + auth.UserId + " not found");
}
if (user != null && user.Configuration.IsDisabled)
if (user != null)
{
throw new AuthenticationException("User account has been disabled.");
if (user.Configuration.IsDisabled)
{
throw new AuthenticationException("User account has been disabled.");
}
if (!user.Configuration.IsAdministrator && !user.IsParentalScheduleAllowed())
{
throw new AuthenticationException("This user account is not allowed access at this time.");
}
}
if (roles.Contains("admin", StringComparer.OrdinalIgnoreCase))

View File

@@ -234,6 +234,7 @@ namespace MediaBrowser.Server.Implementations.Library
users.Add(user);
user.Configuration.IsAdministrator = true;
user.Configuration.EnableRemoteControlOfOtherUsers = true;
UpdateConfiguration(user, user.Configuration);
}

View File

@@ -609,5 +609,8 @@
"DeleteDeviceConfirmation": "Are you sure you wish to delete this device? It will reappear the next time a user signs in with it.",
"LabelEnableCameraUploadFor": "Enable camera upload for:",
"HeaderSelectUploadPath": "Select Upload Path",
"LabelEnableCameraUploadForHelp": "Uploads will occur automatically in the background when signed into Media Browser."
"LabelEnableCameraUploadForHelp": "Uploads will occur automatically in the background when signed into Media Browser.",
"ErrorMessageStartHourGreaterThanEnd": "End time must be greater than the start time.",
"ButtonLibraryAccess": "Library access",
"ButtonParentalControl": "Parental control"
}

View File

@@ -1235,5 +1235,12 @@
"HeaderGuests": "Guests",
"HeaderLocalUsers": "Local Users",
"HeaderPendingInvitations": "Pending Invitations",
"TabParentalControl": "Parental Control"
"TabParentalControl": "Parental Control",
"HeaderAccessSchedule": "Access Schedule",
"HeaderAccessScheduleHelp": "Create an access schedule to limit access to certain hours.",
"ButtonAddSchedule": "Add Schedule",
"LabelAccessDay": "Day of week:",
"LabelAccessStart": "Start time:",
"LabelAccessEnd": "End time:",
"HeaderSchedule": "Schedule"
}