added sync to the tour

This commit is contained in:
Luke Pulverenti 2015-02-11 15:23:07 -05:00
parent cfb7e50720
commit 21933002f3
4 changed files with 28 additions and 15 deletions

View File

@ -104,7 +104,7 @@ namespace MediaBrowser.Server.Implementations.Dto
SetItemByNameInfo(item, dto, libraryItems.ToList(), user); SetItemByNameInfo(item, dto, libraryItems.ToList(), user);
} }
FillSyncInfo(dto, item, itemIdsWithSyncJobs, options); FillSyncInfo(dto, item, itemIdsWithSyncJobs, options, user);
list.Add(dto); list.Add(dto);
} }
@ -128,11 +128,11 @@ namespace MediaBrowser.Server.Implementations.Dto
SetItemByNameInfo(item, dto, libraryItems.ToList(), user); SetItemByNameInfo(item, dto, libraryItems.ToList(), user);
FillSyncInfo(dto, item, options); FillSyncInfo(dto, item, options, user);
return dto; return dto;
} }
FillSyncInfo(dto, item, options); FillSyncInfo(dto, item, options, user);
return dto; return dto;
} }
@ -171,11 +171,12 @@ namespace MediaBrowser.Server.Implementations.Dto
return result.Items; return result.Items;
} }
private void FillSyncInfo(BaseItemDto dto, BaseItem item, DtoOptions options) private void FillSyncInfo(BaseItemDto dto, BaseItem item, DtoOptions options, User user)
{ {
if (options.Fields.Contains(ItemFields.SyncInfo)) if (options.Fields.Contains(ItemFields.SyncInfo))
{ {
dto.SupportsSync = _syncManager.SupportsSync(item); var userCanSync = user != null && user.Policy.EnableSync;
dto.SupportsSync = userCanSync && _syncManager.SupportsSync(item);
} }
if (dto.SupportsSync ?? false) if (dto.SupportsSync ?? false)
@ -184,11 +185,12 @@ namespace MediaBrowser.Server.Implementations.Dto
} }
} }
private void FillSyncInfo(BaseItemDto dto, BaseItem item, IEnumerable<string> itemIdsWithSyncJobs, DtoOptions options) private void FillSyncInfo(BaseItemDto dto, BaseItem item, IEnumerable<string> itemIdsWithSyncJobs, DtoOptions options, User user)
{ {
if (options.Fields.Contains(ItemFields.SyncInfo)) if (options.Fields.Contains(ItemFields.SyncInfo))
{ {
dto.SupportsSync = _syncManager.SupportsSync(item); var userCanSync = user != null && user.Policy.EnableSync;
dto.SupportsSync = userCanSync && _syncManager.SupportsSync(item);
} }
if (dto.SupportsSync ?? false) if (dto.SupportsSync ?? false)
@ -308,7 +310,7 @@ namespace MediaBrowser.Server.Implementations.Dto
var dto = GetBaseItemDtoInternal(item, options, user); var dto = GetBaseItemDtoInternal(item, options, user);
SetItemByNameInfo(item, dto, taggedItems, user); SetItemByNameInfo(item, dto, taggedItems, user);
FillSyncInfo(dto, item, options); FillSyncInfo(dto, item, options, user);
return dto; return dto;
} }

View File

@ -656,6 +656,7 @@
"WebClientTourUserPreferences4": "Configure backdrops, theme songs and external players", "WebClientTourUserPreferences4": "Configure backdrops, theme songs and external players",
"WebClientTourMobile1": "The web client works great on smartphones and tablets...", "WebClientTourMobile1": "The web client works great on smartphones and tablets...",
"WebClientTourMobile2": "and easily controls other devices and Media Browser apps", "WebClientTourMobile2": "and easily controls other devices and Media Browser apps",
"WebClientTourMySync": "Sync your personal media to your devices for offline viewing.",
"MessageEnjoyYourStay": "Enjoy your stay", "MessageEnjoyYourStay": "Enjoy your stay",
"DashboardTourDashboard": "The server dashboard allows you to monitor your server and your users. You'll always know who is doing what and where they are.", "DashboardTourDashboard": "The server dashboard allows you to monitor your server and your users. You'll always know who is doing what and where they are.",
"DashboardTourHelp": "In-app help provides easy buttons to open wiki pages relating to the on-screen content.", "DashboardTourHelp": "In-app help provides easy buttons to open wiki pages relating to the on-screen content.",
@ -667,6 +668,7 @@
"DashboardTourNotifications": "Automatically send notifications of server events to your mobile device, email and more.", "DashboardTourNotifications": "Automatically send notifications of server events to your mobile device, email and more.",
"DashboardTourScheduledTasks": "Easily manage long running operations with scheduled tasks. Decide when they run, and how often.", "DashboardTourScheduledTasks": "Easily manage long running operations with scheduled tasks. Decide when they run, and how often.",
"DashboardTourMobile": "The Media Browser dashboard works great on smartphones and tablets. Manage your server from the palm of your hand anytime, anywhere.", "DashboardTourMobile": "The Media Browser dashboard works great on smartphones and tablets. Manage your server from the palm of your hand anytime, anywhere.",
"DashboardTourSync": "Sync your personal media to your devices for offline viewing.",
"MessageRefreshQueued": "Refresh queued", "MessageRefreshQueued": "Refresh queued",
"TabDevices": "Devices", "TabDevices": "Devices",
"TabExtras": "Extras", "TabExtras": "Extras",

View File

@ -113,7 +113,7 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
return info; return info;
} }
private void DeleteOlderFolders(string path, IEnumerable<string> excludeFolders ) private void DeleteOlderFolders(string path, IEnumerable<string> excludeFolders)
{ {
var folders = Directory.GetDirectories(path) var folders = Directory.GetDirectories(path)
.Where(i => !excludeFolders.Contains(i, StringComparer.OrdinalIgnoreCase)) .Where(i => !excludeFolders.Contains(i, StringComparer.OrdinalIgnoreCase))
@ -217,7 +217,8 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
{ {
ExtractArchive(downloadinfo, tempFile, tempFolder); ExtractArchive(downloadinfo, tempFile, tempFolder);
var files = Directory.EnumerateFiles(tempFolder, "*", SearchOption.AllDirectories).ToList(); var files = Directory.EnumerateFiles(tempFolder, "*", SearchOption.AllDirectories)
.ToList();
foreach (var file in files.Where(i => foreach (var file in files.Where(i =>
{ {
@ -244,6 +245,8 @@ namespace MediaBrowser.Server.Startup.Common.FFMpeg
// Linux: File permission to 666, and user's execute bit // Linux: File permission to 666, and user's execute bit
if (_environment.OperatingSystem == OperatingSystem.Bsd || _environment.OperatingSystem == OperatingSystem.Linux || _environment.OperatingSystem == OperatingSystem.Osx) if (_environment.OperatingSystem == OperatingSystem.Bsd || _environment.OperatingSystem == OperatingSystem.Linux || _environment.OperatingSystem == OperatingSystem.Osx)
{ {
_logger.Info("Syscall.chmod {0} FilePermissions.DEFFILEMODE | FilePermissions.S_IRWXU | FilePermissions.S_IXGRP | FilePermissions.S_IXOTH", path);
Syscall.chmod(path, FilePermissions.DEFFILEMODE | FilePermissions.S_IRWXU | FilePermissions.S_IXGRP | FilePermissions.S_IXOTH); Syscall.chmod(path, FilePermissions.DEFFILEMODE | FilePermissions.S_IRWXU | FilePermissions.S_IXGRP | FilePermissions.S_IXOTH);
} }
} }

View File

@ -96,6 +96,12 @@
<Content Include="dashboard-ui\css\images\tour\dashboard\help.png"> <Content Include="dashboard-ui\css\images\tour\dashboard\help.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="dashboard-ui\css\images\tour\dashboard\sync.png">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\css\images\tour\web\tourmysync.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="dashboard-ui\css\materialize.css"> <Content Include="dashboard-ui\css\materialize.css">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>