From 296f7a13fd4512ce42884903c57d4828f3363133 Mon Sep 17 00:00:00 2001
From: Gary Sharp
Date: Wed, 1 Jan 2025 19:23:18 +1100
Subject: [PATCH] feature: online services push notifications
---
.../Extensions/DocumentTemplateExtensions.cs | 11 +-
Disco.BI/app.config | 52 +-
Disco.Models/Disco.Models.csproj | 1 +
.../DiscoServices/IConnectNotification.cs | 9 +
.../App.config | 40 +-
Disco.Services/App.config | 8 +
Disco.Services/Disco.Services.csproj | 106 +++-
.../DiscoServices/ActivationService.cs | 12 +-
.../OnlineServicesAuthentication.cs | 2 +
.../DiscoServices/OnlineServicesConnect.cs | 92 ++++
Disco.Services/Logging/LogContext.cs | 11 +-
Disco.Services/packages.config | 34 ++
Disco.Web.Extensions/App.config | 48 +-
Disco.Web/App_Start/AppConfig.cs | 7 +
.../Models/SystemConfig/ActivateModel.cs | 2 +-
.../Config/Models/SystemConfig/IndexModel.cs | 2 +
.../Config/Views/SystemConfig/Index.cshtml | 20 +
.../Views/SystemConfig/Index.generated.cs | 471 ++++++++++--------
Disco.Web/Web.config | 10 +-
19 files changed, 667 insertions(+), 271 deletions(-)
create mode 100644 Disco.Models/Services/Interop/DiscoServices/IConnectNotification.cs
create mode 100644 Disco.Services/Interop/DiscoServices/OnlineServicesConnect.cs
diff --git a/Disco.BI/BI/Extensions/DocumentTemplateExtensions.cs b/Disco.BI/BI/Extensions/DocumentTemplateExtensions.cs
index 962fff10..ca5fee60 100644
--- a/Disco.BI/BI/Extensions/DocumentTemplateExtensions.cs
+++ b/Disco.BI/BI/Extensions/DocumentTemplateExtensions.cs
@@ -17,13 +17,12 @@ namespace Disco.BI.Extensions
{
public static class DocumentTemplateExtensions
{
- private static Tuple, List> CreateExpressions(DocumentTemplate dt, DiscoDataContext database)
+ public static Tuple, List> CreateExpressions(string templateFileName, DiscoDataContext database)
{
Dictionary expressions = new Dictionary();
List fields = new List();
- string templateFilename = dt.RepositoryFilename(database);
- PdfReader pdfReader = new PdfReader(templateFilename);
+ PdfReader pdfReader = new PdfReader(templateFileName);
int pdfFieldOrdinal = 0;
foreach (string pdfFieldKey in pdfReader.AcroFields.Fields.Keys)
{
@@ -61,6 +60,12 @@ namespace Disco.BI.Extensions
return Tuple.Create(expressions, fields);
}
+ private static Tuple, List> CreateExpressions(DocumentTemplate dt, DiscoDataContext database)
+ {
+ string templateFileName = dt.RepositoryFilename(database);
+ return CreateExpressions(templateFileName, database);
+ }
+
public static Dictionary PdfExpressionsFromCache(this DocumentTemplate dt, DiscoDataContext Database)
{
return ExpressionCache.GetOrCreateExpressions(dt, () => CreateExpressions(dt, Database));
diff --git a/Disco.BI/app.config b/Disco.BI/app.config
index 4ebd93b2..d732e531 100644
--- a/Disco.BI/app.config
+++ b/Disco.BI/app.config
@@ -1,56 +1,64 @@
-
+
-
+
-
-
+
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/Disco.Models/Disco.Models.csproj b/Disco.Models/Disco.Models.csproj
index 976e9e2b..07efcd55 100644
--- a/Disco.Models/Disco.Models.csproj
+++ b/Disco.Models/Disco.Models.csproj
@@ -82,6 +82,7 @@
+
diff --git a/Disco.Models/Services/Interop/DiscoServices/IConnectNotification.cs b/Disco.Models/Services/Interop/DiscoServices/IConnectNotification.cs
new file mode 100644
index 00000000..d15fa4e0
--- /dev/null
+++ b/Disco.Models/Services/Interop/DiscoServices/IConnectNotification.cs
@@ -0,0 +1,9 @@
+namespace Disco.Models.Services.Interop.DiscoServices
+{
+ public interface IConnectNotification
+ {
+ int Version { get; }
+ int Type { get; }
+ string Content { get; }
+ }
+}
diff --git a/Disco.Services.Plugins.ManifestGenerator/App.config b/Disco.Services.Plugins.ManifestGenerator/App.config
index b4565340..8f3e756b 100644
--- a/Disco.Services.Plugins.ManifestGenerator/App.config
+++ b/Disco.Services.Plugins.ManifestGenerator/App.config
@@ -1,37 +1,45 @@
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/Disco.Services/App.config b/Disco.Services/App.config
index f787e7ee..cd29fb0f 100644
--- a/Disco.Services/App.config
+++ b/Disco.Services/App.config
@@ -48,6 +48,14 @@
+
+
+
+
+
+
+
+
diff --git a/Disco.Services/Disco.Services.csproj b/Disco.Services/Disco.Services.csproj
index 48bf458f..ea487297 100644
--- a/Disco.Services/Disco.Services.csproj
+++ b/Disco.Services/Disco.Services.csproj
@@ -56,6 +56,54 @@
..\packages\Microsoft.AspNet.SignalR.Core.2.1.2\lib\net45\Microsoft.AspNet.SignalR.Core.dll
+
+ ..\packages\Microsoft.AspNetCore.Connections.Abstractions.9.0.0\lib\net462\Microsoft.AspNetCore.Connections.Abstractions.dll
+
+
+ ..\packages\Microsoft.AspNetCore.Http.Connections.Client.9.0.0\lib\net462\Microsoft.AspNetCore.Http.Connections.Client.dll
+
+
+ ..\packages\Microsoft.AspNetCore.Http.Connections.Common.9.0.0\lib\net462\Microsoft.AspNetCore.Http.Connections.Common.dll
+
+
+ ..\packages\Microsoft.AspNetCore.SignalR.Client.9.0.0\lib\net462\Microsoft.AspNetCore.SignalR.Client.dll
+
+
+ ..\packages\Microsoft.AspNetCore.SignalR.Client.Core.9.0.0\lib\net462\Microsoft.AspNetCore.SignalR.Client.Core.dll
+
+
+ ..\packages\Microsoft.AspNetCore.SignalR.Common.9.0.0\lib\net462\Microsoft.AspNetCore.SignalR.Common.dll
+
+
+ ..\packages\Microsoft.AspNetCore.SignalR.Protocols.Json.9.0.0\lib\net462\Microsoft.AspNetCore.SignalR.Protocols.Json.dll
+
+
+ ..\packages\Microsoft.Bcl.AsyncInterfaces.9.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll
+
+
+ ..\packages\Microsoft.Bcl.TimeProvider.9.0.0\lib\net462\Microsoft.Bcl.TimeProvider.dll
+
+
+ ..\packages\Microsoft.Extensions.DependencyInjection.9.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.dll
+
+
+ ..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll
+
+
+ ..\packages\Microsoft.Extensions.Features.9.0.0\lib\net462\Microsoft.Extensions.Features.dll
+
+
+ ..\packages\Microsoft.Extensions.Logging.9.0.0\lib\net462\Microsoft.Extensions.Logging.dll
+
+
+ ..\packages\Microsoft.Extensions.Logging.Abstractions.9.0.0\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll
+
+
+ ..\packages\Microsoft.Extensions.Options.9.0.0\lib\net462\Microsoft.Extensions.Options.dll
+
+
+ ..\packages\Microsoft.Extensions.Primitives.9.0.0\lib\net462\Microsoft.Extensions.Primitives.dll
+
..\packages\Microsoft.Owin.4.2.2\lib\net45\Microsoft.Owin.dll
@@ -106,6 +154,9 @@
..\..\..\Resources\Libraries\Spring.NET\Spring.Core.dll
+
+ ..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll
+
@@ -113,10 +164,21 @@
True
..\packages\Microsoft.SqlServer.Compact.4.0.8876.1\lib\net40\System.Data.SqlServerCe.dll
+
+ ..\packages\System.Diagnostics.DiagnosticSource.9.0.0\lib\net462\System.Diagnostics.DiagnosticSource.dll
+
-
+
+ ..\packages\System.IO.Pipelines.9.0.0\lib\net462\System.IO.Pipelines.dll
+
+
+ ..\packages\System.Memory.4.5.5\lib\net461\System.Memory.dll
+
+
+ ..\packages\System.Net.Http.4.3.4\lib\net46\System.Net.Http.dll
+
..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Extensions.dll
@@ -124,6 +186,16 @@
..\packages\Microsoft.Net.Http.2.2.22\lib\net45\System.Net.Http.Primitives.dll
+
+ ..\packages\System.Net.ServerSentEvents.9.0.0\lib\net462\System.Net.ServerSentEvents.dll
+
+
+ ..\packages\System.Net.Sockets.4.3.0\lib\net46\System.Net.Sockets.dll
+
+
+
+ ..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll
+
False
..\packages\Rx-Core.2.2.5\lib\net45\System.Reactive.Core.dll
@@ -140,7 +212,37 @@
False
..\packages\Rx-PlatformServices.2.2.5\lib\net45\System.Reactive.PlatformServices.dll
+
+ ..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll
+
+
+ ..\packages\System.Runtime.InteropServices.RuntimeInformation.4.3.0\lib\net45\System.Runtime.InteropServices.RuntimeInformation.dll
+
+
+ ..\packages\System.Security.Cryptography.Algorithms.4.3.0\lib\net461\System.Security.Cryptography.Algorithms.dll
+
+
+ ..\packages\System.Security.Cryptography.Encoding.4.3.0\lib\net46\System.Security.Cryptography.Encoding.dll
+
+
+ ..\packages\System.Security.Cryptography.Primitives.4.3.0\lib\net46\System.Security.Cryptography.Primitives.dll
+
+
+ ..\packages\System.Security.Cryptography.X509Certificates.4.3.0\lib\net461\System.Security.Cryptography.X509Certificates.dll
+
+
+ ..\packages\System.Text.Encodings.Web.9.0.0\lib\net462\System.Text.Encodings.Web.dll
+
+
+ ..\packages\System.Text.Json.9.0.0\lib\net462\System.Text.Json.dll
+
+
+ ..\packages\System.Threading.Channels.9.0.0\lib\net462\System.Threading.Channels.dll
+
+
+ ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll
+
..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll
@@ -380,6 +482,7 @@
+
@@ -553,6 +656,7 @@
+
PreserveNewest
diff --git a/Disco.Services/Interop/DiscoServices/ActivationService.cs b/Disco.Services/Interop/DiscoServices/ActivationService.cs
index 735c6586..3472ac45 100644
--- a/Disco.Services/Interop/DiscoServices/ActivationService.cs
+++ b/Disco.Services/Interop/DiscoServices/ActivationService.cs
@@ -19,7 +19,7 @@ namespace Disco.Services.Interop.DiscoServices
public class ActivationService
{
private static readonly byte[] onlineServicesActivationKey;
- internal const string baseUrl = "https://activate.discoict.com.au";
+ internal static readonly Uri BaseUrl = new Uri("https://activate.discoict.com.au");
private readonly DiscoDataContext database;
static ActivationService()
@@ -40,8 +40,8 @@ namespace Disco.Services.Interop.DiscoServices
public string GetDataStoreLocation => Path.Combine(database.DiscoConfiguration.DataStoreLocation, "Activations");
public bool RequiresCleanup => Directory.Exists(GetDataStoreLocation);
- public string GetCallbackUrl()
- => $"{baseUrl}/api/callback";
+ public Uri GetCallbackUrl()
+ => new Uri(BaseUrl, "/api/callback");
///
/// Begin the activation process
@@ -64,7 +64,7 @@ namespace Disco.Services.Interop.DiscoServices
ChallengeResponse challenge;
using (var httpClient = new HttpClient())
{
- httpClient.BaseAddress = new Uri(baseUrl);
+ httpClient.BaseAddress = BaseUrl;
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var body = new ChallengeRequest()
@@ -124,7 +124,7 @@ namespace Disco.Services.Interop.DiscoServices
TimeStamp = challenge.TimeStamp,
ChallengeResponse = challengeResponse,
ChallengeResponseIv = challengeResponseIv,
- RedirectUrl = $"{baseUrl}/",
+ RedirectUrl = new Uri(BaseUrl, "/").ToString(),
};
// store activation
@@ -174,7 +174,7 @@ namespace Disco.Services.Interop.DiscoServices
using (var httpClient = new HttpClient())
{
- httpClient.BaseAddress = new Uri(baseUrl);
+ httpClient.BaseAddress = BaseUrl;
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var body = new CompleteRequest()
diff --git a/Disco.Services/Interop/DiscoServices/OnlineServicesAuthentication.cs b/Disco.Services/Interop/DiscoServices/OnlineServicesAuthentication.cs
index 7032b593..74a471a3 100644
--- a/Disco.Services/Interop/DiscoServices/OnlineServicesAuthentication.cs
+++ b/Disco.Services/Interop/DiscoServices/OnlineServicesAuthentication.cs
@@ -132,6 +132,8 @@ namespace Disco.Services.Interop.DiscoServices
key = config.ActivationKey;
token = null;
tokenExpires = null;
+
+ ThreadPool.QueueUserWorkItem(async _ => await OnlineServicesConnect.StartAsync());
}
else
{
diff --git a/Disco.Services/Interop/DiscoServices/OnlineServicesConnect.cs b/Disco.Services/Interop/DiscoServices/OnlineServicesConnect.cs
new file mode 100644
index 00000000..4c5bb71c
--- /dev/null
+++ b/Disco.Services/Interop/DiscoServices/OnlineServicesConnect.cs
@@ -0,0 +1,92 @@
+using Disco.Models.Services.Interop.DiscoServices;
+using Disco.Services.Logging;
+using Microsoft.AspNetCore.SignalR.Client;
+using System;
+using System.Threading.Tasks;
+
+namespace Disco.Services.Interop.DiscoServices
+{
+ public static class OnlineServicesConnect
+ {
+
+ private static readonly HubConnection connection;
+
+ public static string State => connection.State.ToString();
+
+ static OnlineServicesConnect()
+ {
+ connection = new HubConnectionBuilder()
+ .WithUrl(new Uri(ActivationService.BaseUrl, "/connect"), options =>
+ {
+ options.AccessTokenProvider = () => OnlineServicesAuthentication.GetTokenAsync();
+ })
+ .WithAutomaticReconnect()
+ .WithStatefulReconnect()
+ .Build();
+ }
+
+ public static async Task StartAsync()
+ {
+ try
+ {
+ await connection.StartAsync();
+ }
+ catch (Exception ex)
+ {
+ SystemLog.LogException("Online Services", ex);
+ }
+ }
+
+ public static async Task StopAsync()
+ {
+ await connection.StopAsync();
+ }
+
+ public static IDisposable SubscribeToNotifications(Action handler, params int[] notificationTypes)
+ {
+ return new NotificationSubscription(handler, notificationTypes);
+ }
+
+ private class NotificationSubscription : IDisposable
+ {
+ private readonly IDisposable subscription;
+ private readonly Action handler;
+ private readonly int[] notificationTypes;
+
+ public NotificationSubscription(Action handler, params int[] notificationTypes)
+ {
+ if (notificationTypes == null || notificationTypes.Length == 0)
+ {
+ handler = null;
+ subscription = null;
+ notificationTypes = null;
+ }
+ else
+ {
+ this.handler = handler;
+ this.notificationTypes = notificationTypes;
+ subscription = connection.On("Notify", Handler);
+ }
+ }
+
+ public void Handler(ConnectNotification notification)
+ {
+ if (Array.IndexOf(notificationTypes, notification.Type) >= 0)
+ handler(notification);
+ }
+
+ public void Dispose()
+ {
+ subscription?.Dispose();
+ }
+ }
+
+ private class ConnectNotification : IConnectNotification
+ {
+ public int Version { get; set; }
+ public int Type { get; set; }
+ public string Content { get; set; }
+ }
+
+ }
+}
diff --git a/Disco.Services/Logging/LogContext.cs b/Disco.Services/Logging/LogContext.cs
index 98dfa34c..342f7b20 100644
--- a/Disco.Services/Logging/LogContext.cs
+++ b/Disco.Services/Logging/LogContext.cs
@@ -50,12 +50,11 @@ namespace Disco.Services.Logging
var appDomain = AppDomain.CurrentDomain;
var servicesAssemblyName = typeof(LogContext).Assembly.GetName().Name;
- var logModuleTypes = (from a in appDomain.GetAssemblies()
- where !a.GlobalAssemblyCache && !a.IsDynamic &&
- (a.GetName().Name == servicesAssemblyName || a.GetReferencedAssemblies().Any(ra => ra.Name == servicesAssemblyName))
- from type in a.GetTypes()
- where typeof(LogBase).IsAssignableFrom(type) && !type.IsAbstract
- select type);
+ var logModuleTypes = appDomain.GetAssemblies()
+ .Where(a => !a.GlobalAssemblyCache && !a.IsDynamic &&
+ (a.GetName().Name == servicesAssemblyName || a.GetReferencedAssemblies().Any(ra => ra.Name == servicesAssemblyName)))
+ .SelectMany(a => a.GetTypes())
+ .Where(t => typeof(LogBase).IsAssignableFrom(t) && !t.IsAbstract);
foreach (var logModuleType in logModuleTypes)
{
var instance = (LogBase)Activator.CreateInstance(logModuleType);
diff --git a/Disco.Services/packages.config b/Disco.Services/packages.config
index ce827ba7..67378cef 100644
--- a/Disco.Services/packages.config
+++ b/Disco.Services/packages.config
@@ -8,8 +8,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -29,6 +45,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Disco.Web.Extensions/App.config b/Disco.Web.Extensions/App.config
index 9f709e05..7015d1ec 100644
--- a/Disco.Web.Extensions/App.config
+++ b/Disco.Web.Extensions/App.config
@@ -1,52 +1,60 @@
-
+
-
+
-
+
-
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/Disco.Web/App_Start/AppConfig.cs b/Disco.Web/App_Start/AppConfig.cs
index b1dbd6d0..11a0dc63 100644
--- a/Disco.Web/App_Start/AppConfig.cs
+++ b/Disco.Web/App_Start/AppConfig.cs
@@ -3,6 +3,7 @@ using Disco.Services;
using Disco.Services.Interop.DiscoServices;
using System;
using System.Linq;
+using System.Threading;
namespace Disco.Web
{
@@ -86,6 +87,10 @@ namespace Disco.Web
DiscoApplication.DocumentDropBoxMonitor.Start();
DiscoApplication.DocumentDropBoxMonitor.ScheduleCurrentFiles(10000); // 10 Second Delay
+
+ // Connect to Online Services
+ if (Database.DiscoConfiguration.IsActivated)
+ ThreadPool.QueueUserWorkItem(async _ => await OnlineServicesConnect.StartAsync());
}
public static void InitializeUpdateEnvironment(DiscoDataContext Database, Version PreviousVersion)
@@ -110,6 +115,8 @@ namespace Disco.Web
public static void DisposeEnvironment()
{
+ ThreadPool.QueueUserWorkItem(async _ => await OnlineServicesConnect.StopAsync());
+
if (DiscoApplication.DocumentDropBoxMonitor != null)
DiscoApplication.DocumentDropBoxMonitor.Dispose();
diff --git a/Disco.Web/Areas/Config/Models/SystemConfig/ActivateModel.cs b/Disco.Web/Areas/Config/Models/SystemConfig/ActivateModel.cs
index da25a708..17ad8259 100644
--- a/Disco.Web/Areas/Config/Models/SystemConfig/ActivateModel.cs
+++ b/Disco.Web/Areas/Config/Models/SystemConfig/ActivateModel.cs
@@ -4,7 +4,7 @@ namespace Disco.Web.Areas.Config.Models.SystemConfig
{
public class ActivateModel
{
- public string CallbackUrl { get; set; }
+ public Uri CallbackUrl { get; set; }
public Guid DeploymentId { get; set; }
public Guid CorrelationId { get; set; }
public string UserId { get; set; }
diff --git a/Disco.Web/Areas/Config/Models/SystemConfig/IndexModel.cs b/Disco.Web/Areas/Config/Models/SystemConfig/IndexModel.cs
index abfa6deb..40b29bf6 100644
--- a/Disco.Web/Areas/Config/Models/SystemConfig/IndexModel.cs
+++ b/Disco.Web/Areas/Config/Models/SystemConfig/IndexModel.cs
@@ -120,6 +120,7 @@ namespace Disco.Web.Areas.Config.Models.SystemConfig
public bool IsActivated { get; set; }
public DateTime? ActivatedOn { get; set; }
public string ActivatedBy { get; set; }
+ public string OnlineServicesState { get; set; }
public ScheduledTaskStatus UpdateRunningStatus { get; set; }
public DateTime? UpdateNextScheduled { get; set; }
@@ -152,6 +153,7 @@ namespace Disco.Web.Areas.Config.Models.SystemConfig
IsActivated = config.IsActivated,
ActivatedBy = config.ActivatedBy,
ActivatedOn = config.ActivatedOn,
+ OnlineServicesState = OnlineServicesConnect.State,
UpdateLatestResponse = config.UpdateLastCheckResponse,
UpdateRunningStatus = UpdateQueryTask.RunningStatus,
UpdateNextScheduled = UpdateQueryTask.NextScheduled,
diff --git a/Disco.Web/Areas/Config/Views/SystemConfig/Index.cshtml b/Disco.Web/Areas/Config/Views/SystemConfig/Index.cshtml
index ff068d6c..02af15e8 100644
--- a/Disco.Web/Areas/Config/Views/SystemConfig/Index.cshtml
+++ b/Disco.Web/Areas/Config/Views/SystemConfig/Index.cshtml
@@ -80,6 +80,26 @@
@if (Model.IsActivated)
{
@CommonHelpers.FriendlyDate(Model.ActivatedOn) by @Model.ActivatedBy
+
+ switch (Model.OnlineServicesState)
+ {
+ case "Disconnected":
+
+
Disconnected from Online Services
+
+ break;
+ case "Connected":
+
+
Connected to Online Services
+
+ break;
+ case "Connecting":
+ case "Reconnecting":
+
+
@Model.OnlineServicesState to Online Services
+
+ break;
+ }
}
else
{
diff --git a/Disco.Web/Areas/Config/Views/SystemConfig/Index.generated.cs b/Disco.Web/Areas/Config/Views/SystemConfig/Index.generated.cs
index 9820e4d9..eb6ca067 100644
--- a/Disco.Web/Areas/Config/Views/SystemConfig/Index.generated.cs
+++ b/Disco.Web/Areas/Config/Views/SystemConfig/Index.generated.cs
@@ -250,6 +250,87 @@ WriteLiteral("\r\n");
#line 83 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+
+ switch (Model.OnlineServicesState)
+ {
+ case "Disconnected":
+
+
+ #line default
+ #line hidden
+WriteLiteral(" \r\n
Disconnected from Online Services
\r\n
\r\n" +
+"");
+
+
+ #line 90 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ break;
+ case "Connected":
+
+
+ #line default
+ #line hidden
+WriteLiteral(" \r\n
Connected to Online Services
\r\n
\r\n");
+
+
+ #line 95 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ break;
+ case "Connecting":
+ case "Reconnecting":
+
+
+ #line default
+ #line hidden
+WriteLiteral(" \r\n
");
+
+
+ #line 99 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ Write(Model.OnlineServicesState);
+
+
+ #line default
+ #line hidden
+WriteLiteral(" to Online Services
\r\n
\r\n");
+
+
+ #line 101 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ break;
+ }
}
else
{
@@ -260,14 +341,14 @@ WriteLiteral("\r\n");
#line default
#line hidden
- #line 88 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 108 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.AntiForgeryToken());
#line default
#line hidden
- #line 88 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 108 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
;
@@ -282,7 +363,7 @@ WriteLiteral(" class=\"button small\"");
WriteLiteral(">Activate Now\r\n");
- #line 90 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 110 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -304,7 +385,7 @@ WriteLiteral(">Activating Disco ICT with Online Services unlocks additional
"\n
\r\n \r\n");
- #line 96 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 116 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -317,13 +398,13 @@ WriteLiteral(" style=\"width: 135px\"");
WriteLiteral(">\r\n License:\r\n \r\n \r\n");
- #line 104 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 124 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 104 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 124 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
using (Html.BeginForm(MVC.API.System.LicenseCheck(), FormMethod.Post))
{
@@ -331,14 +412,14 @@ WriteLiteral(">\r\n License:\r\n \r\n
#line default
#line hidden
- #line 106 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 126 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.AntiForgeryToken());
#line default
#line hidden
- #line 106 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 126 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
;
@@ -352,14 +433,14 @@ WriteLiteral(" type=\"text\"");
WriteLiteral(" name=\"license\"");
-WriteAttribute("value", Tuple.Create(" value=\"", 3985), Tuple.Create("\"", 4007)
+WriteAttribute("value", Tuple.Create(" value=\"", 5014), Tuple.Create("\"", 5036)
- #line 107 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
-, Tuple.Create(Tuple.Create("", 3993), Tuple.Create(Model.License
+ #line 127 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+, Tuple.Create(Tuple.Create("", 5022), Tuple.Create(Model.License
#line default
#line hidden
-, 3993), false)
+, 5022), false)
);
WriteLiteral(" />\r\n");
@@ -373,7 +454,7 @@ WriteLiteral(" class=\"button small\"");
WriteLiteral(">Activate\r\n");
- #line 109 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 129 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -412,13 +493,13 @@ WriteLiteral(@">
");
- #line 136 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 156 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 136 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 156 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.License != null)
{
@@ -432,13 +513,13 @@ WriteLiteral(" style=\"width: 135px\"");
WriteLiteral(">\r\n Status:\r\n \r\n | \r\n");
- #line 143 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 163 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 143 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 163 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.LicenseError != null)
{
@@ -456,7 +537,7 @@ WriteLiteral(" class=\"fa fa-exclamation-circle fa-lg\"");
WriteLiteral("> ");
- #line 145 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 165 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Model.LicenseError);
@@ -465,7 +546,7 @@ WriteLiteral("> ");
WriteLiteral("\r\n");
- #line 146 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 166 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -476,7 +557,7 @@ WriteLiteral("\r\n");
WriteLiteral(" Expires ");
- #line 149 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 169 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(CommonHelpers.FriendlyDate(Model.LicenseExpires));
@@ -485,7 +566,7 @@ WriteLiteral(" Expires ");
WriteLiteral("\r\n");
- #line 150 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 170 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -494,7 +575,7 @@ WriteLiteral("\r\n");
WriteLiteral(" | \r\n \r\n");
- #line 153 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 173 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -531,7 +612,7 @@ WriteLiteral(">Request More Information\r\n \r\n
"\n \r\n");
- #line 171 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 191 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -546,13 +627,13 @@ WriteLiteral(" style=\"width: 450px; margin-top: 15px;\"");
WriteLiteral(">\r\n Updates\r\n \r\n");
- #line 177 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 197 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 177 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 197 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.UpdateLatestResponse == null)
{
@@ -576,7 +657,7 @@ WriteLiteral(" class=\"fa fa-exclamation-circle fa-lg\"");
WriteLiteral("> Never\r\n \r\n \r\n");
- #line 188 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 208 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -592,7 +673,7 @@ WriteLiteral(">\r\n Last Run:\r\n \r\n ");
- #line 196 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 216 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(CommonHelpers.FriendlyDate(Model.UpdateLatestResponse.UpdateResponseDate.ToLocalTime()));
@@ -601,7 +682,7 @@ WriteLiteral(">\r\n Last Run:\r\n \r\n \r\n \r\n");
- #line 199 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 219 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.UpdateAvailable)
{
@@ -621,7 +702,7 @@ WriteLiteral(" class=\"fa fa-info-circle fa-lg information\"");
WriteLiteral("> Version ");
- #line 207 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 227 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Model.UpdateLatestResponse.LatestVersion);
@@ -635,7 +716,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">\r\n [Released ");
- #line 210 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 230 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(CommonHelpers.FriendlyDate(Model.UpdateLatestResponse.ReleasedDate));
@@ -648,7 +729,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">");
- #line 212 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 232 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(new HtmlString(Model.UpdateLatestResponse.Description));
@@ -656,14 +737,14 @@ WriteLiteral(">");
#line hidden
WriteLiteral("\r\n (Model.UpdateLatestResponse.UrlLink
+ #line 233 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+, Tuple.Create(Tuple.Create("", 9630), Tuple.Create(Model.UpdateLatestResponse.UrlLink
#line default
#line hidden
-, 8601), false)
+, 9630), false)
);
WriteLiteral(" target=\"_blank\"");
@@ -671,7 +752,7 @@ WriteLiteral(" target=\"_blank\"");
WriteLiteral(">Download Now\r\n \r\n \r\n");
- #line 216 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 236 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -692,7 +773,7 @@ WriteLiteral("> The latest version is installed\r\n
"\r\n \r\n");
- #line 227 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 247 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
}
@@ -706,13 +787,13 @@ WriteLiteral(" style=\"width: 135px\"");
WriteLiteral(">Check for Update:\r\n | \r\n");
- #line 233 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 253 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 233 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 253 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.UpdateRunningStatus == null)
{
@@ -723,7 +804,7 @@ WriteLiteral(">Check for Update:\r\n | \r\n");
WriteLiteral(" ");
- #line 236 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 256 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ActionLinkSmallButton("Check Now", MVC.API.System.UpdateCheck()));
@@ -738,7 +819,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">[Will run automatically ");
- #line 237 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 257 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(CommonHelpers.FriendlyDate(Model.UpdateNextScheduled, "Unknown"));
@@ -747,7 +828,7 @@ WriteLiteral(">[Will run automatically ");
WriteLiteral("]\r\n");
- #line 238 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 258 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -758,7 +839,7 @@ WriteLiteral("]\r\n");
WriteLiteral(" ");
- #line 241 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 261 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ActionLink("View Status", MVC.Config.Logging.TaskStatus(Model.UpdateRunningStatus.SessionId)));
@@ -773,7 +854,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">[Running Now]\r\n");
- #line 243 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 263 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -782,13 +863,13 @@ WriteLiteral(">[Running Now]\r\n");
WriteLiteral("\r\n");
- #line 245 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 265 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 245 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 265 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.UpdateBetaDeployment)
{
@@ -808,7 +889,7 @@ WriteLiteral(" class=\"fa fa-info-circle fa-lg\"");
WriteLiteral("> Beta Deployment\r\n");
- #line 249 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 269 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -828,7 +909,7 @@ WriteLiteral(">\r\n Primary Domain:\r\n \r\n
" ");
- #line 262 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 282 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Model.ADPrimaryDomain.Name);
@@ -837,7 +918,7 @@ WriteLiteral(">\r\n Primary Domain:\r\n \r\n
WriteLiteral(" [");
- #line 262 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 282 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Model.ADPrimaryDomain.NetBiosName);
@@ -850,13 +931,13 @@ WriteLiteral(" style=\"width: 135px\"");
WriteLiteral(">\r\n Additional Domains:\r\n \r\n \r\n");
- #line 270 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 290 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 270 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 290 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.ADDomains.Count > 1)
{
var adAdditionalDomains = Model.ADDomains.Where(d => d != Model.ADPrimaryDomain).OrderBy(d => d.Name).ToList();
@@ -868,7 +949,7 @@ WriteLiteral(">\r\n Additional Domains:\r\n \r\n
WriteLiteral(" ");
- #line 274 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 294 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(adDomainFirst.Name);
@@ -877,7 +958,7 @@ WriteLiteral(" ");
WriteLiteral(" [");
- #line 274 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 294 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(adDomainFirst.NetBiosName);
@@ -886,7 +967,7 @@ WriteLiteral(" [");
WriteLiteral("]\r\n");
- #line 275 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 295 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
foreach (var adDomain in adAdditionalDomains.Skip(1))
{
@@ -898,7 +979,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" \r\n ");
- #line 279 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 299 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(adDomain.Name);
@@ -907,7 +988,7 @@ WriteLiteral(" \r\n [");
- #line 279 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 299 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(adDomain.NetBiosName);
@@ -916,7 +997,7 @@ WriteLiteral(" [");
WriteLiteral("]\r\n \r\n");
- #line 281 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 301 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
}
else
@@ -932,7 +1013,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral("><None>\r\n");
- #line 286 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 306 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -946,7 +1027,7 @@ WriteLiteral(">\r\n Site:\r\n \r\n ");
- #line 294 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 314 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Model.ADSite.Name);
@@ -961,13 +1042,13 @@ WriteLiteral(">\r\n Servers:\r\n \r\n
" \r\n");
- #line 303 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 323 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 303 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 323 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.ADServers.Count > 0)
{
@@ -981,13 +1062,13 @@ WriteLiteral(" class=\"none\"");
WriteLiteral(">\r\n");
- #line 306 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 326 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 306 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 326 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
foreach (var server in Model.ADServers)
{
var serverDescription = string.Format("{0} [{1}]", server.Name.EndsWith(server.Domain.Name, StringComparison.OrdinalIgnoreCase) ? server.Name.Substring(0, server.Name.Length - server.Domain.Name.Length - 1) : server.Name, server.Domain.NetBiosName);
@@ -999,13 +1080,13 @@ WriteLiteral(">\r\n");
WriteLiteral(" \r\n");
- #line 311 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 331 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 311 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 331 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (server.IsAvailable)
{
@@ -1021,7 +1102,7 @@ WriteLiteral(" title=\"Available\"");
WriteLiteral(">\r\n");
- #line 314 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 334 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -1033,24 +1114,24 @@ WriteLiteral(" (server.AvailableWhen.Value.ToLongTimeString()
+ #line 337 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ , Tuple.Create(Tuple.Create(" ", 14088), Tuple.Create(server.AvailableWhen.Value.ToLongTimeString()
#line default
#line hidden
-, 13060), false)
+, 14089), false)
);
WriteLiteral(">\r\n");
- #line 318 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 338 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1059,7 +1140,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" ");
- #line 319 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 339 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(serverDescription);
@@ -1068,13 +1149,13 @@ WriteLiteral(" ");
WriteLiteral("\r\n");
- #line 320 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 340 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 320 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 340 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (server.IsSiteServer)
{
@@ -1090,7 +1171,7 @@ WriteLiteral(" title=\"Site Server\"");
WriteLiteral(">\r\n");
- #line 323 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 343 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -1107,7 +1188,7 @@ WriteLiteral(" title=\"Not a Site Server\"");
WriteLiteral(">\r\n");
- #line 327 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 347 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1116,7 +1197,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" ");
- #line 328 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 348 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (server.IsWritable)
{
@@ -1132,7 +1213,7 @@ WriteLiteral(" title=\"Writable Domain Controller\"");
WriteLiteral(">\r\n");
- #line 331 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 351 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1141,7 +1222,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" \r\n");
- #line 333 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 353 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1150,7 +1231,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" \r\n");
- #line 335 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 355 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -1169,7 +1250,7 @@ WriteLiteral(" class=\"fa fa-exclamation-circle fa-lg\"");
WriteLiteral("> None Found\r\n \r\n");
- #line 341 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 361 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1183,13 +1264,13 @@ WriteLiteral(" style=\"width: 135px\"");
WriteLiteral(">\r\n Directory:\r\n \r\n \r\n");
- #line 350 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 370 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 350 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 370 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.ADAllServers == null)
{
@@ -1201,7 +1282,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 353 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 373 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.CheckBoxFor(m => m.ADSearchAllServers, new { disabled = "disabled" }));
@@ -1210,7 +1291,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 353 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 373 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.LabelFor(m => m.ADSearchAllServers));
@@ -1235,7 +1316,7 @@ WriteLiteral(">Directory servers are currently being retrieved. \r\n
" \r\n");
- #line 361 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 381 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -1249,13 +1330,13 @@ WriteLiteral(">Directory servers are currently being retrieved. \r\n
WriteLiteral(" \r\n");
- #line 368 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 388 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 368 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 388 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (!canSearchEntireDirectory)
{
@@ -1263,27 +1344,27 @@ WriteLiteral(" \r\n");
#line default
#line hidden
- #line 370 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 390 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.CheckBoxFor(m => m.ADSearchAllServers, new { disabled = "disabled" }));
#line default
#line hidden
- #line 370 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 390 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 370 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 390 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.LabelFor(m => m.ADSearchAllServers));
#line default
#line hidden
- #line 370 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 390 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
@@ -1304,7 +1385,7 @@ WriteLiteral(" class=\"fa fa-exclamation-circle warning\"");
WriteLiteral(">Disco ICT will not search the entire directory which consists of more than ");
- #line 373 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 393 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Disco.Services.Interop.ActiveDirectory.ActiveDirectory.MaxAllServerSearch);
@@ -1314,7 +1395,7 @@ WriteLiteral(" servers. Only servers within this site will be searched.\r\n
" \r\n \r\n");
- #line 376 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 396 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -1323,40 +1404,40 @@ WriteLiteral(" servers. Only servers within this site will be searched.\r\n
#line default
#line hidden
- #line 379 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 399 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.CheckBoxFor(m => m.ADSearchAllServers));
#line default
#line hidden
- #line 379 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 399 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 379 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 399 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.LabelFor(m => m.ADSearchAllServers));
#line default
#line hidden
- #line 379 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 399 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 379 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 399 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
- #line 379 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 399 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
@@ -1383,7 +1464,7 @@ WriteLiteral(" \r\n");
- #line 390 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 410 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1402,7 +1483,7 @@ WriteLiteral("\', \'SearchAllServers\');\r\n
WriteLiteral(" \r\n");
- #line 392 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 412 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -1415,7 +1496,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 396 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 416 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.CheckBoxFor(m => m.ADSearchAllServers, new { disabled = "disabled" }));
@@ -1424,7 +1505,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 396 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 416 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.LabelFor(m => m.ADSearchAllServers));
@@ -1447,7 +1528,7 @@ WriteLiteral(">If this setting is enabled, Disco ICT will query all servers
" \r\n \r\n \r\n");
- #line 403 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 423 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1463,13 +1544,13 @@ WriteLiteral(" class=\"none\"");
WriteLiteral(">\r\n");
- #line 408 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 428 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 408 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 428 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
var domainIndex = Model.ADDomains.ToDictionary(d => d.Name, StringComparer.OrdinalIgnoreCase);
var siteServers = Model.ADServers.Where(s => s.IsSiteServer).ToDictionary(s => s.Name, StringComparer.OrdinalIgnoreCase);
@@ -1492,7 +1573,7 @@ WriteLiteral(" \r\n
" ");
- #line 423 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 443 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(serverDescription);
@@ -1501,7 +1582,7 @@ WriteLiteral(" \r\n
WriteLiteral("");
- #line 423 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 443 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (siteServers.ContainsKey(server))
{
@@ -1516,7 +1597,7 @@ WriteLiteral(" title=\"Site Server\"");
WriteLiteral(">");
- #line 424 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 444 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1525,7 +1606,7 @@ WriteLiteral(">");
WriteLiteral(" \r\n");
- #line 426 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 446 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1559,7 +1640,7 @@ WriteLiteral(@"
");
- #line 452 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 472 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1572,13 +1653,13 @@ WriteLiteral(" style=\"width: 135px\"");
WriteLiteral(">\r\n Searching:\r\n \r\n | \r\n");
- #line 461 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 481 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 461 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 481 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
object ADSearchWildcardSuffixOnlyAttributes = null;
if (!canConfigAD)
@@ -1597,7 +1678,7 @@ WriteLiteral("\r\n");
WriteLiteral(" ");
- #line 471 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 491 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.CheckBoxFor(m => m.ADSearchWildcardSuffixOnly, ADSearchWildcardSuffixOnlyAttributes));
@@ -1606,7 +1687,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 471 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 491 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.LabelFor(m => m.ADSearchWildcardSuffixOnly));
@@ -1615,7 +1696,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 471 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 491 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(AjaxHelpers.AjaxLoader());
@@ -1640,13 +1721,13 @@ WriteLiteral(@">If this setting is enabled, Disco ICT will utilize Active Di
");
- #line 478 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 498 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 478 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 498 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (canConfigAD)
{
@@ -1658,7 +1739,7 @@ WriteLiteral(" \r\n");
- #line 485 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 505 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1681,13 +1762,13 @@ WriteLiteral(" style=\"width: 135px\"");
WriteLiteral(">\r\n Search Scope:\r\n \r\n | \r\n");
- #line 493 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 513 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 493 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 513 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (Model.ADSearchContainers != null && Model.ADSearchContainers.Count > 0)
{
@@ -1704,13 +1785,13 @@ WriteLiteral(" id=\"Config_System_AD_SearchScope_DistinguishedNames\"");
WriteLiteral(">\r\n");
- #line 497 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 517 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 497 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 517 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
foreach (var adContainer in Model.ADSearchContainers)
{
@@ -1722,7 +1803,7 @@ WriteLiteral(" ");
- #line 499 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 519 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(adContainer.Item3);
@@ -1742,7 +1823,7 @@ WriteLiteral(">");
WriteLiteral("\r\n");
- #line 500 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 520 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1751,7 +1832,7 @@ WriteLiteral("\r\n");
WriteLiteral(" \r\n");
- #line 502 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 522 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -1779,7 +1860,7 @@ WriteLiteral(">When searching, the entire domain will be queried. This is su
"/div>\r\n");
- #line 511 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 531 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1788,7 +1869,7 @@ WriteLiteral(">When searching, the entire domain will be queried. This is su
WriteLiteral(" ");
- #line 512 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 532 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (canConfigAD)
{
@@ -1823,7 +1904,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" ");
- #line 520 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 540 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(AjaxHelpers.AjaxLoader());
@@ -1839,13 +1920,13 @@ WriteLiteral(" class=\"organisationalUnitTree\"");
WriteLiteral(">\r\n \r\n");
- #line 524 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 544 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 524 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 544 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
using (Html.BeginForm(MVC.API.System.UpdateActiveDirectorySearchScope(null, redirect: true)))
{
}
@@ -1892,7 +1973,7 @@ WriteLiteral(" \r\n");
- #line 635 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 655 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -1947,7 +2028,7 @@ WriteLiteral("\', null, function (data) {\r\n
WriteLiteral(" | \r\n\r\n\r\n\r\n \r\n | | | \r\n\r\n");
- #line 643 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 663 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (canConfigProxy)
{
using (Html.BeginForm(MVC.API.System.UpdateProxySettings()))
@@ -1973,7 +2054,7 @@ WriteLiteral(">\r\n Address:\r\n
WriteLiteral(" ");
- #line 655 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 675 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.EditorFor(m => m.ProxyAddress));
@@ -1984,7 +2065,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 656 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 676 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.ProxyAddress));
@@ -2001,7 +2082,7 @@ WriteLiteral(">\r\n Port:\r\n \r\
WriteLiteral(" ");
- #line 664 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 684 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.EditorFor(m => m.ProxyPort));
@@ -2012,7 +2093,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 665 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 685 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.ProxyPort));
@@ -2029,7 +2110,7 @@ WriteLiteral(">\r\n Username:\r\n m.ProxyUsername));
@@ -2040,7 +2121,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 674 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 694 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.ProxyUsername));
@@ -2057,7 +2138,7 @@ WriteLiteral(">\r\n Password:\r\n m.ProxyPassword));
@@ -2068,7 +2149,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 683 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 703 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.ProxyPassword));
@@ -2091,7 +2172,7 @@ WriteLiteral(" class=\"button small\"");
WriteLiteral(">Save Proxy Settings");
- #line 691 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 711 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(AjaxHelpers.AjaxLoader());
@@ -2106,7 +2187,7 @@ WriteLiteral(@"
var url = '");
- #line 697 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 717 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Url.Action(MVC.API.System.UpdateProxySettings()));
@@ -2135,7 +2216,7 @@ WriteLiteral("\';\r\n var data = {\r\n
" \r\n \r\n \r\n");
- #line 727 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 747 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
}
else
@@ -2160,7 +2241,7 @@ WriteLiteral(">\r\n Address:\r\n \r\n
WriteLiteral(" ");
- #line 739 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 759 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.DisplayFor(m => m.ProxyAddress));
@@ -2176,7 +2257,7 @@ WriteLiteral(">\r\n Port:\r\n \r\n
WriteLiteral(" ");
- #line 747 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 767 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.DisplayFor(m => m.ProxyPort));
@@ -2192,7 +2273,7 @@ WriteLiteral(">\r\n Username:\r\n \r\n
WriteLiteral(" ");
- #line 755 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 775 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.DisplayFor(m => m.ProxyUsername));
@@ -2208,14 +2289,14 @@ WriteLiteral(">\r\n Password:\r\n \r\n
"table>\r\n \r\n");
- #line 768 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 788 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
#line default
#line hidden
- #line 769 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 789 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
if (canConfigEmail)
{
@@ -2239,7 +2320,7 @@ WriteLiteral(">\r\n SMTP Server:\r\n \r\n
WriteLiteral(" ");
- #line 779 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 799 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.EditorFor(m => m.EmailSmtpServer));
@@ -2250,7 +2331,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 780 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 800 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.EmailSmtpServer));
@@ -2266,7 +2347,7 @@ WriteLiteral(">\r\n Port:\r\n \r\n
WriteLiteral(" ");
- #line 788 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 808 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.EditorFor(m => m.EmailSmtpPort));
@@ -2277,7 +2358,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 789 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 809 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.EmailSmtpPort));
@@ -2294,7 +2375,7 @@ WriteLiteral(">\r\n Default From Address:\r\n
WriteLiteral(" ");
- #line 797 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 817 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.EditorFor(m => m.EmailFromAddress));
@@ -2305,7 +2386,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 798 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 818 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.EmailFromAddress));
@@ -2322,7 +2403,7 @@ WriteLiteral(">\r\n Reply To Address:\r\n m.EmailReplyToAddress));
@@ -2333,7 +2414,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 807 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 827 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.EmailReplyToAddress));
@@ -2349,7 +2430,7 @@ WriteLiteral(">\r\n \r\n \r\n
WriteLiteral(" ");
- #line 815 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 835 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.CheckBoxFor(m => m.EmailEnableSsl));
@@ -2358,7 +2439,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 815 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 835 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.LabelFor(m => m.EmailEnableSsl));
@@ -2374,7 +2455,7 @@ WriteLiteral(">\r\n Username:\r\n \r\n
WriteLiteral(" ");
- #line 823 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 843 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.EditorFor(m => m.EmailUsername));
@@ -2385,7 +2466,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 824 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 844 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.EmailUsername));
@@ -2401,7 +2482,7 @@ WriteLiteral(">\r\n Password:\r\n \r\n
WriteLiteral(" ");
- #line 832 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 852 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.EditorFor(m => m.EmailPassword));
@@ -2412,7 +2493,7 @@ WriteLiteral(" \r\n");
WriteLiteral(" ");
- #line 833 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 853 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ValidationMessageFor(m => m.EmailPassword));
@@ -2428,7 +2509,7 @@ WriteLiteral(">\r\n \r\n \r\n
WriteLiteral(" ");
- #line 841 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 861 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.AntiForgeryToken());
@@ -2445,7 +2526,7 @@ WriteLiteral(" class=\"button small\"");
WriteLiteral(" ");
- #line 842 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 862 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Model.EmailIsConfigured ? null : "disabled");
@@ -2462,7 +2543,7 @@ WriteLiteral(" class=\"button small\"");
WriteLiteral(">Save Email Settings");
- #line 843 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 863 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(AjaxHelpers.AjaxLoader());
@@ -2483,13 +2564,13 @@ WriteLiteral(" class=\"fa fa-envelope information\"");
WriteLiteral("> Recipient Email Address:\r\n \r\n");
- #line 847 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 867 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 847 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 867 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
using (Html.BeginForm(MVC.API.System.SendTestEmail(), FormMethod.Post))
{
@@ -2514,33 +2595,33 @@ WriteLiteral(" name=\"Recipient\"");
WriteLiteral(" type=\"text\"");
-WriteAttribute("value", Tuple.Create(" value=\"", 38990), Tuple.Create("\"", 39023)
+WriteAttribute("value", Tuple.Create(" value=\"", 40019), Tuple.Create("\"", 40052)
- #line 850 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
- , Tuple.Create(Tuple.Create("", 38998), Tuple.Create(CurrentUser.EmailAddress
+ #line 870 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ , Tuple.Create(Tuple.Create("", 40027), Tuple.Create(CurrentUser.EmailAddress
#line default
#line hidden
-, 38998), false)
+, 40027), false)
);
WriteLiteral(" />\r\n");
- #line 851 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 871 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
#line default
#line hidden
- #line 851 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 871 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.AntiForgeryToken());
#line default
#line hidden
- #line 851 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 871 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -2558,7 +2639,7 @@ WriteLiteral(@"
var url = '");
- #line 861 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 881 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Url.Action(MVC.API.System.UpdateEmailSettings()));
@@ -2621,7 +2702,7 @@ WriteLiteral("\';\r\n var data = {\r\n
"\r\n \r\n \r\n \r\n");
- #line 933 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 953 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
else
{
@@ -2646,7 +2727,7 @@ WriteLiteral(">\r\n SMTP Server:\r\n \r\n
WriteLiteral(" ");
- #line 944 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 964 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.DisplayFor(m => m.EmailSmtpServer));
@@ -2662,7 +2743,7 @@ WriteLiteral(">\r\n Port:\r\n \r\n
WriteLiteral(" ");
- #line 952 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 972 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.DisplayFor(m => m.EmailSmtpPort));
@@ -2679,7 +2760,7 @@ WriteLiteral(">\r\n Default From Address:\r\n
WriteLiteral(" ");
- #line 960 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 980 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.DisplayFor(m => m.EmailFromAddress));
@@ -2696,7 +2777,7 @@ WriteLiteral(">\r\n Reply To Address:\r\n m.EmailReplyToAddress));
@@ -2713,7 +2794,7 @@ WriteLiteral(">\r\n Enable SSL:\r\n \r\n
WriteLiteral(" ");
- #line 976 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 996 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.CheckBoxFor(m => m.EmailEnableSsl, new { disabled = "disabled" }));
@@ -2722,7 +2803,7 @@ WriteLiteral(" ");
WriteLiteral(" ");
- #line 976 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 996 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.LabelFor(m => m.EmailEnableSsl));
@@ -2738,7 +2819,7 @@ WriteLiteral(">\r\n Username:\r\n \r\n
WriteLiteral(" ");
- #line 984 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 1004 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.DisplayFor(m => m.EmailUsername));
@@ -2754,7 +2835,7 @@ WriteLiteral(">\r\n Password:\r\n \r\n
"table>\r\n \r\n");
- #line 997 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 1017 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
}
@@ -2769,7 +2850,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" ");
- #line 999 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
+ #line 1019 "..\..\Areas\Config\Views\SystemConfig\Index.cshtml"
Write(Html.ActionLinkButton("Update Device Last Network Logons", MVC.API.System.UpdateLastNetworkLogonDates()));
diff --git a/Disco.Web/Web.config b/Disco.Web/Web.config
index c0b7102a..4c9eee2a 100644
--- a/Disco.Web/Web.config
+++ b/Disco.Web/Web.config
@@ -1,4 +1,4 @@
-
+
@@ -101,6 +101,14 @@
+
+
+
+
+
+
+
+
|