mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-26 03:57:12 +00:00
combined usermanager and userdata manager
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
using MediaBrowser.ClickOnce;
|
||||
using MediaBrowser.Common.Kernel;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using MediaBrowser.Server.Uninstall;
|
||||
using Microsoft.Win32;
|
||||
@@ -277,21 +278,24 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <summary>
|
||||
/// Opens the dashboard.
|
||||
/// </summary>
|
||||
public static void OpenDashboard()
|
||||
public static void OpenDashboard(User loggedInUser)
|
||||
{
|
||||
OpenDashboardPage("dashboard.html");
|
||||
OpenDashboardPage("dashboard.html", loggedInUser);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Opens the dashboard page.
|
||||
/// </summary>
|
||||
/// <param name="page">The page.</param>
|
||||
public static void OpenDashboardPage(string page)
|
||||
public static void OpenDashboardPage(string page, User loggedInUser)
|
||||
{
|
||||
var url = "http://localhost:" + Controller.Kernel.Instance.Configuration.HttpServerPortNumber + "/" +
|
||||
Controller.Kernel.Instance.WebApplicationName + "/dashboard/" + page;
|
||||
|
||||
url = AddAutoLoginToDashboardUrl(url);
|
||||
if (loggedInUser != null)
|
||||
{
|
||||
url = AddAutoLoginToDashboardUrl(url, loggedInUser);
|
||||
}
|
||||
|
||||
OpenUrl(url);
|
||||
}
|
||||
@@ -300,21 +304,17 @@ namespace MediaBrowser.ServerApplication
|
||||
/// Adds the auto login to dashboard URL.
|
||||
/// </summary>
|
||||
/// <param name="url">The URL.</param>
|
||||
/// <param name="user">The user.</param>
|
||||
/// <returns>System.String.</returns>
|
||||
public static string AddAutoLoginToDashboardUrl(string url)
|
||||
public static string AddAutoLoginToDashboardUrl(string url, User user)
|
||||
{
|
||||
var user = Controller.Kernel.Instance.Users.FirstOrDefault(u => u.Configuration.IsAdministrator);
|
||||
|
||||
if (user != null)
|
||||
if (url.IndexOf('?') == -1)
|
||||
{
|
||||
if (url.IndexOf('?') == -1)
|
||||
{
|
||||
url += "?u=" + user.Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
url += "&u=" + user.Id;
|
||||
}
|
||||
url += "?u=" + user.Id;
|
||||
}
|
||||
else
|
||||
{
|
||||
url += "&u=" + user.Id;
|
||||
}
|
||||
|
||||
return url;
|
||||
|
||||
@@ -14,6 +14,7 @@ using MediaBrowser.Common.Kernel;
|
||||
using MediaBrowser.Common.Net;
|
||||
using MediaBrowser.Common.ScheduledTasks;
|
||||
using MediaBrowser.Controller;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.IsoMounter;
|
||||
using MediaBrowser.Model.IO;
|
||||
using MediaBrowser.Model.Logging;
|
||||
@@ -22,6 +23,7 @@ using MediaBrowser.Model.Serialization;
|
||||
using MediaBrowser.Model.System;
|
||||
using MediaBrowser.Model.Updates;
|
||||
using MediaBrowser.Server.Implementations;
|
||||
using MediaBrowser.Server.Implementations.Library;
|
||||
using MediaBrowser.ServerApplication.Implementations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -118,6 +120,8 @@ namespace MediaBrowser.ServerApplication
|
||||
|
||||
RegisterSingleInstance<IApplicationHost>(this);
|
||||
|
||||
RegisterSingleInstance<IUserManager>(new UserManager(Kernel, Logger));
|
||||
|
||||
RegisterSingleInstance(ServerApplicationPaths);
|
||||
RegisterSingleInstance<IIsoManager>(new PismoIsoManager(Logger));
|
||||
RegisterSingleInstance<IBlurayExaminer>(new BdInfoExaminer());
|
||||
|
||||
@@ -39,14 +39,14 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="LibraryExplorer" /> class.
|
||||
/// </summary>
|
||||
public LibraryExplorer(IJsonSerializer jsonSerializer, ILogger logger, IApplicationHost appHost)
|
||||
public LibraryExplorer(IJsonSerializer jsonSerializer, ILogger logger, IApplicationHost appHost, IUserManager userManager)
|
||||
{
|
||||
_logger = logger;
|
||||
_jsonSerializer = jsonSerializer;
|
||||
|
||||
InitializeComponent();
|
||||
lblVersion.Content = "Version: " + appHost.ApplicationVersion;
|
||||
foreach (var user in Kernel.Instance.Users)
|
||||
foreach (var user in userManager.Users)
|
||||
ddlProfile.Items.Add(user);
|
||||
ddlProfile.Items.Insert(0,new User {Name = "Physical"});
|
||||
ddlProfile.SelectedIndex = 0;
|
||||
|
||||
@@ -40,11 +40,6 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <value>The new item timer.</value>
|
||||
private Timer NewItemTimer { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The _json serializer
|
||||
/// </summary>
|
||||
private readonly IJsonSerializer _jsonSerializer;
|
||||
|
||||
/// <summary>
|
||||
/// The _logger
|
||||
/// </summary>
|
||||
@@ -67,18 +62,13 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <param name="logger">The logger.</param>
|
||||
/// <param name="appHost">The app host.</param>
|
||||
/// <exception cref="System.ArgumentNullException">logger</exception>
|
||||
public MainWindow(IJsonSerializer jsonSerializer, ILogManager logManager, IApplicationHost appHost)
|
||||
public MainWindow(ILogManager logManager, IApplicationHost appHost)
|
||||
{
|
||||
if (jsonSerializer == null)
|
||||
{
|
||||
throw new ArgumentNullException("jsonSerializer");
|
||||
}
|
||||
if (logManager == null)
|
||||
{
|
||||
throw new ArgumentNullException("logManager");
|
||||
}
|
||||
|
||||
_jsonSerializer = jsonSerializer;
|
||||
_logger = logManager.GetLogger("MainWindow");
|
||||
_appHost = appHost;
|
||||
_logManager = logManager;
|
||||
@@ -255,7 +245,9 @@ namespace MediaBrowser.ServerApplication
|
||||
/// </summary>
|
||||
private void LaunchStartupWizard()
|
||||
{
|
||||
App.OpenDashboardPage("wizardStart.html");
|
||||
var user = _appHost.Resolve<IUserManager>().Users.FirstOrDefault(u => u.Configuration.IsAdministrator);
|
||||
|
||||
App.OpenDashboardPage("wizardStart.html", user);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -265,8 +257,8 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param>
|
||||
void cmdApiDocs_Click(object sender, EventArgs e)
|
||||
{
|
||||
App.OpenUrl("http://localhost:" + Controller.Kernel.Instance.Configuration.HttpServerPortNumber + "/" +
|
||||
Controller.Kernel.Instance.WebApplicationName + "/metadata");
|
||||
App.OpenUrl("http://localhost:" + Kernel.Instance.Configuration.HttpServerPortNumber + "/" +
|
||||
Kernel.Instance.WebApplicationName + "/metadata");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -301,7 +293,8 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
|
||||
private void cmOpenExplorer_click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
(new LibraryExplorer(_jsonSerializer, _logger, _appHost)).Show();
|
||||
var explorer = (LibraryExplorer)_appHost.CreateInstance(typeof(LibraryExplorer));
|
||||
explorer.Show();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -311,7 +304,8 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
|
||||
private void cmOpenDashboard_click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
App.OpenDashboard();
|
||||
var user = _appHost.Resolve<IUserManager>().Users.FirstOrDefault(u => u.Configuration.IsAdministrator);
|
||||
App.OpenDashboard(user);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -331,7 +325,8 @@ namespace MediaBrowser.ServerApplication
|
||||
/// <param name="e">The <see cref="RoutedEventArgs" /> instance containing the event data.</param>
|
||||
private void cmdBrowseLibrary_click(object sender, RoutedEventArgs e)
|
||||
{
|
||||
App.OpenDashboardPage("index.html");
|
||||
var user = _appHost.Resolve<IUserManager>().Users.FirstOrDefault(u => u.Configuration.IsAdministrator);
|
||||
App.OpenDashboardPage("index.html", user);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
Reference in New Issue
Block a user