Permissions & Authorization for Users #24
Initial Release; Includes Database and MVC refactoring
This commit is contained in:
@@ -3,6 +3,8 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using Disco.Data.Repository;
|
||||
using System.Threading;
|
||||
using System.Reflection;
|
||||
|
||||
namespace Disco.Web
|
||||
{
|
||||
@@ -25,39 +27,50 @@ namespace Disco.Web
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void InitalizeEnvironment(DiscoDataContext dbContext)
|
||||
private static void InitalizeEnvironment(DiscoDataContext Database)
|
||||
{
|
||||
// Initialize Logging
|
||||
Disco.Services.Logging.LogContext.Initalize(dbContext, DiscoApplication.SchedulerFactory);
|
||||
Disco.Services.Logging.LogContext.Initalize(Database, DiscoApplication.SchedulerFactory);
|
||||
|
||||
// Load Organisation Name
|
||||
DiscoApplication.OrganisationName = dbContext.DiscoConfiguration.OrganisationName;
|
||||
DiscoApplication.MultiSiteMode = dbContext.DiscoConfiguration.MultiSiteMode;
|
||||
DiscoApplication.OrganisationName = Database.DiscoConfiguration.OrganisationName;
|
||||
DiscoApplication.MultiSiteMode = Database.DiscoConfiguration.MultiSiteMode;
|
||||
|
||||
// Setup Global Proxy
|
||||
DiscoApplication.SetGlobalProxy(dbContext.DiscoConfiguration.ProxyAddress,
|
||||
dbContext.DiscoConfiguration.ProxyPort,
|
||||
dbContext.DiscoConfiguration.ProxyUsername,
|
||||
dbContext.DiscoConfiguration.ProxyPassword);
|
||||
DiscoApplication.SetGlobalProxy(Database.DiscoConfiguration.ProxyAddress,
|
||||
Database.DiscoConfiguration.ProxyPort,
|
||||
Database.DiscoConfiguration.ProxyUsername,
|
||||
Database.DiscoConfiguration.ProxyPassword);
|
||||
|
||||
// Initialize User Service Interop
|
||||
Disco.Services.Users.UserService.Initialize(Database,
|
||||
(UserId, AdditionalProperties) => Disco.BI.Interop.ActiveDirectory.ActiveDirectory.GetUserAccount(UserId, AdditionalProperties),
|
||||
(UserId, AdditionalProperties) => Disco.BI.Interop.ActiveDirectory.ActiveDirectory.GetMachineAccount(UserId, null, null, AdditionalProperties));
|
||||
|
||||
}
|
||||
|
||||
public static void InitalizeNormalEnvironment(DiscoDataContext Database)
|
||||
{
|
||||
InitalizeEnvironment(Database);
|
||||
|
||||
// Initialize Expressions
|
||||
BI.Expressions.Expression.InitializeExpressions();
|
||||
|
||||
// Initialize Warranty Providers Plugins
|
||||
Disco.Services.Plugins.Plugins.InitalizePlugins(dbContext);
|
||||
Disco.Services.Plugins.Plugins.InitalizePlugins(Database);
|
||||
|
||||
// Initialize Scheduled Tasks
|
||||
Disco.Services.Tasks.ScheduledTasks.InitalizeScheduledTasks(dbContext, DiscoApplication.SchedulerFactory, true);
|
||||
Disco.Services.Tasks.ScheduledTasks.InitalizeScheduledTasks(Database, DiscoApplication.SchedulerFactory, true);
|
||||
|
||||
// Schedule Immediate Check for Update (if never updated, or last updated over 2 days ago)
|
||||
if (dbContext.DiscoConfiguration.UpdateLastCheck == null ||
|
||||
dbContext.DiscoConfiguration.UpdateLastCheck.ResponseTimestamp < DateTime.Now.AddDays(-2))
|
||||
if (Database.DiscoConfiguration.UpdateLastCheck == null ||
|
||||
Database.DiscoConfiguration.UpdateLastCheck.ResponseTimestamp < DateTime.Now.AddDays(-2))
|
||||
{
|
||||
Disco.BI.Interop.Community.UpdateCheckTask.ScheduleNow();
|
||||
}
|
||||
|
||||
// Setup Attachment Monitor
|
||||
DiscoApplication.DocumentDropBoxMonitor = new BI.DocumentTemplateBI.Importer.DocumentDropBoxMonitor(dbContext, DiscoApplication.SchedulerFactory, HttpContext.Current.Cache);
|
||||
DiscoApplication.DocumentDropBoxMonitor = new BI.DocumentTemplateBI.Importer.DocumentDropBoxMonitor(Database, DiscoApplication.SchedulerFactory, HttpContext.Current.Cache);
|
||||
|
||||
DiscoApplication.DocumentDropBoxMonitor.StartWatching();
|
||||
DiscoApplication.DocumentDropBoxMonitor.ScheduleCurrentFiles(10);
|
||||
@@ -66,27 +79,16 @@ namespace Disco.Web
|
||||
Disco.BI.Interop.SignalRHandlers.RepositoryMonitorNotifications.Initialize();
|
||||
}
|
||||
|
||||
public static void InitializeUpdateEnvironment(DiscoDataContext dbContext, Version PreviousVersion)
|
||||
public static void InitializeUpdateEnvironment(DiscoDataContext Database, Version PreviousVersion)
|
||||
{
|
||||
// Initialize Logging
|
||||
Disco.Services.Logging.LogContext.Initalize(dbContext, DiscoApplication.SchedulerFactory);
|
||||
|
||||
// Load Organisation Name
|
||||
DiscoApplication.OrganisationName = dbContext.DiscoConfiguration.OrganisationName;
|
||||
DiscoApplication.MultiSiteMode = dbContext.DiscoConfiguration.MultiSiteMode;
|
||||
|
||||
// Setup Global Proxy
|
||||
DiscoApplication.SetGlobalProxy(dbContext.DiscoConfiguration.ProxyAddress,
|
||||
dbContext.DiscoConfiguration.ProxyPort,
|
||||
dbContext.DiscoConfiguration.ProxyUsername,
|
||||
dbContext.DiscoConfiguration.ProxyPassword);
|
||||
InitalizeEnvironment(Database);
|
||||
|
||||
// Initialize Scheduled Tasks
|
||||
Disco.Services.Tasks.ScheduledTasks.InitalizeScheduledTasks(dbContext, DiscoApplication.SchedulerFactory, true);
|
||||
Disco.Services.Tasks.ScheduledTasks.InitalizeScheduledTasks(Database, DiscoApplication.SchedulerFactory, true);
|
||||
|
||||
// Import MAC Address Migration
|
||||
if (PreviousVersion != null && PreviousVersion < new Version(1, 2, 910, 0))
|
||||
Disco.BI.DeviceBI.Migration.LogMacAddressImporting.SetRequired(dbContext);
|
||||
Disco.BI.DeviceBI.Migration.LogMacAddressImporting.SetRequired(Database);
|
||||
}
|
||||
|
||||
public static void DisposeEnvironment()
|
||||
|
||||
Reference in New Issue
Block a user