combined usermanager and userdata manager

This commit is contained in:
LukePulverenti
2013-02-27 15:25:45 -05:00
parent 1c9eb1911a
commit ff4ee7ab9c
33 changed files with 705 additions and 520 deletions

View File

@@ -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;

View File

@@ -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());

View File

@@ -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;

View File

@@ -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>