#pragma warning disable 1591 //------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.42000 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ namespace Disco.Web.Areas.Config.Views.Enrolment { using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Web; using System.Web.Helpers; using System.Web.Mvc; using System.Web.Mvc.Ajax; using System.Web.Mvc.Html; using System.Web.Routing; using System.Web.Security; using System.Web.UI; using System.Web.WebPages; using Disco; using Disco.Models.Repository; using Disco.Services; using Disco.Services.Authorization; using Disco.Services.Web; using Disco.Web; using Disco.Web.Extensions; [System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")] [System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Config/Views/Enrolment/Status.cshtml")] public partial class Status : Disco.Services.Web.WebViewPage { public Status() { } public override void Execute() { #line 1 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Authorization.Require(Claims.Config.Enrolment.ShowStatus); ViewBag.Title = Html.ToBreadcrumb("Configuration", MVC.Config.Config.Index(), "Enrollment", MVC.Config.Enrolment.Index(), "Status"); Html.BundleDeferred("~/ClientScripts/Modules/Knockout"); Html.BundleDeferred("~/ClientScripts/Modules/jQuery-SignalR"); Html.BundleDeferred("~/ClientScripts/Modules/jQuery-Isotope"); #line default #line hidden WriteLiteral("\r\n\r\n"); WriteLiteral(" "); #line 10 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Html.AntiForgeryToken()); #line default #line hidden WriteLiteral(";\r\n \r\n

No enrollment sessions today

\r\n \r\n \r\n \r\n

\r\n \r\n \r\n \r\n\r\n

\r\n

\r\n

\r\n = 0, progressValue: progre" + "ssValue\""); WriteLiteral(" class=\"sessionProgress\""); WriteLiteral(">\r\n \r\n \r\n \r\n \r\n

\r\n

\r\n = 0, progressValue: progre" + "ssValue\""); WriteLiteral(">\r\n \r\n"); #line 33 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" #line default #line hidden #line 33 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" using (Html.BeginForm(MVC.API.Enrollment.ResolveSessionPending(), FormMethod.Post)) { #line default #line hidden WriteLiteral(" \r\n"); #line 36 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" #line default #line hidden #line 36 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Html.AntiForgeryToken()); #line default #line hidden #line 36 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" ; #line default #line hidden WriteLiteral(" \r\n"); WriteLiteral(" \r\n \r\n \r\n"); WriteLiteral(" \r\n Approve\r\n Reject\r\n \r\n"); #line 45 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" } #line default #line hidden WriteLiteral(" \r\n \r\n \r\n

\r\n \r\n \r\n \r\n Computer Name:\r\n \r\n \r\n \r\n UUID:\r\n \r\n \r\n \r\n LAN Mac Address:\r\n \r\n \r\n \r\n WLAN Mac Address:\r\n \r\n \r\n \r\n Manufacturer/Model:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n " + "  \r\n Message\r\n \r\n \r\n " + " \r\n \r\n No logs\r\n 0\""); WriteLiteral(" style=\"display: none\""); WriteLiteral(">\r\n \r\n \r\n \r\n \r\n \r\n \r\n " + " \r\n \r\n \r\n " + " \r\n \r\n \r\n \r\n \r\n\r\n ko.bindingHandlers.progressValue = { update: function (element, valueAccessor, allBindingsAccessor, viewModel) { var v = ko.utils.unwrapObservable(valueAccessor()); var vInt = parseInt(v); if (vInt >= 0) { $element = $(element); if (!$element.is('.ui-progressbar')) $element.progressbar(); $(element).progressbar('option', 'value', vInt); } } }; $(function () { var vm; var host = $('#enrolStatus'); var hostSessions = $('#sessions'); var hostDialogSessions = $('#dialogSession'); //var hostDialogSessionsProgress = $('#dialogSession').find('.sessionProgress'); var deviceModels = {}; var logHub; var deviceBaseUrl = '"); #line 125 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Url.Action(MVC.Device.Show())); #line default #line hidden WriteLiteral("/\'\r\n var deviceModelImageUrl = \'"); #line 126 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Url.Action(MVC.API.DeviceModel.Image())); #line default #line hidden WriteLiteral("/\'\r\n var iconWarningUrl = \'url("); #line 127 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Links.ClientSource.Style.Images.Status.warning32_png); #line default #line hidden WriteLiteral(")\';\r\n var iconErrorUrl = \'url("); #line 128 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Links.ClientSource.Style.Images.Status.fail32_png); #line default #line hidden WriteLiteral(")\';\r\n\r\n function pageViewModel() {\r\n var self = this;\r\n\r\n " + " self.noSessions = ko.observable(true);\r\n self.sessions = ko.obs" + "ervableArray();\r\n self.sessionIndex = {};\r\n\r\n self.isotope" + "Inited = false;\r\n\r\n self.currentSession = ko.observable();\r\n\r\n " + " self.sessionRendered = function (e, d) {\r\n if (!d.sessionEnd" + "ed()) {\r\n d.progressbar = $(e).find(\'.sessionProgress\').progr" + "essbar();\r\n }\r\n };\r\n self.sessionAdded = fu" + "nction (e, d) {\r\n if (self.isotopeInited) {\r\n " + "hostSessions.isotope(\'reloadItems\').isotope({ sortBy: \'original-order\' });\r\n " + " }\r\n };\r\n }\r\n function sessionViewModel(id) " + "{\r\n var self = this;\r\n\r\n self.id = id;\r\n self.t" + "itle = ko.observable(id);\r\n self.isPending = ko.observable(false);\r\n " + " self.pendingIdentifier = ko.observable();\r\n self.messages " + "= ko.observableArray();\r\n self.console = ko.observableArray();\r\n " + " self.serialNumber = ko.observable();\r\n self.sessionDeviceInfo " + "= ko.observable();\r\n self.progressStatus = ko.observable();\r\n " + " self.progressValue = ko.observable();\r\n self.startTime = ko.obser" + "vable();\r\n self.sessionEnded = ko.observable(false);\r\n sel" + "f.progressbar = null;\r\n self.hasError = ko.observable(false);\r\n " + " self.hasWarning = ko.observable(false);\r\n self.deviceModelId = " + "ko.observable();\r\n self.deviceModelDescription = ko.computed(function" + " () {\r\n var deviceModelId = self.deviceModelId();\r\n " + " var sessionDeviceInfo = self.sessionDeviceInfo();\r\n if (deviceM" + "odelId) {\r\n var dm = deviceModels[deviceModelId];\r\n " + " if (dm) {\r\n if (dm.Description)\r\n " + " return dm.Description;\r\n else\r\n " + " return dm.Manufacturer + \' \' + dm.Model;\r\n }\r" + "\n }\r\n if (sessionDeviceInfo) {\r\n " + " return sessionDeviceInfo.Arguments[6] + \' \' + sessionDeviceInfo.Arguments[7];\r" + "\n }\r\n });\r\n self.deviceUrl = ko.computed(fu" + "nction () {\r\n var serialNumber = self.serialNumber();\r\n " + " if (serialNumber)\r\n return deviceBaseUrl + serialNumber" + ";\r\n else\r\n return null;\r\n });\r\n " + " self.deviceModelImageUrl = ko.computed(function () {\r\n va" + "r deviceModelImage;\r\n if (self.deviceModelId())\r\n " + " deviceModelImage = \'url(\' + deviceModelImageUrl + self.deviceModelId() + \')\'" + ";\r\n else\r\n deviceModelImage = \'url(\' + deviceM" + "odelImageUrl + \')\';\r\n if (self.hasError())\r\n r" + "eturn iconErrorUrl + \', \' + deviceModelImage;\r\n else\r\n " + " if (self.hasWarning())\r\n return iconWarningUrl +" + " \', \' + deviceModelImage;\r\n else\r\n ret" + "urn \'none, \' + deviceModelImage;\r\n });\r\n self.select = fun" + "ction (e, d) {\r\n vm.currentSession(self);\r\n hostDi" + "alogSessions.dialog(\'open\');\r\n hostDialogSessions.dialog(\'option\'" + ", \'title\', \'Device Enrollment: \' + self.title());\r\n }\r\n }\r\n\r\n " + " function parseLog(log) {\r\n if (log.ModuleId === 50 && log.Argu" + "ments && log.Arguments.length > 0) {\r\n // find session\r\n " + " var sessionId = log.Arguments[0];\r\n var session = vm.sessi" + "onIndex[sessionId];\r\n if (!session && log.EventTypeId === 10) { /" + "/ Starting Session (Ignore \'partial\' sessions)\r\n session = ne" + "w sessionViewModel(sessionId);\r\n vm.sessionIndex[sessionId] =" + " session;\r\n vm.sessions.unshift(session);\r\n " + " vm.noSessions(false);\r\n }\r\n if (session) {\r\n " + " switch (log.EventTypeId) {\r\n case 10: // " + "SessionStarting\r\n session.title(log.Arguments[1]);\r\n " + " session.startTime(log.FormattedTimestamp.substring(lo" + "g.FormattedTimestamp.indexOf(\' \') + 1));\r\n session.me" + "ssages.unshift(log);\r\n break;\r\n " + " case 11: // SessionProgress\r\n //session.progressbar" + ".progressbar(\'option\', \'value\', log.Arguments[1]);\r\n " + "session.progressValue(log.Arguments[1]);\r\n session.pr" + "ogressStatus(log.Arguments[2]);\r\n break;\r\n " + " case 12: // SessionDevice\r\n session.titl" + "e(log.Arguments[1]);\r\n session.serialNumber(log.Argum" + "ents[1]);\r\n if (log.Arguments.length >= 3 && log.Argu" + "ments[2])\r\n session.deviceModelId(log.Arguments[2" + "]);\r\n break;\r\n break;\r\n " + " case 13: // SessionDeviceInfo\r\n " + "session.title(log.Arguments[1]);\r\n session.serialNumb" + "er(log.Arguments[1]);\r\n session.sessionDeviceInfo(log" + ");\r\n if (log.Arguments.length >= 10 && log.Arguments[" + "9])\r\n session.deviceModelId(log.Arguments[9]);\r\n " + " break;\r\n case 14: // SessionPe" + "nding\r\n session.isPending(true);\r\n " + " session.pendingIdentifier(log.Arguments[4]);\r\n " + " session.messages.unshift(log);\r\n session.progressV" + "alue(-1);\r\n session.progressStatus(\'Pending enrollmen" + "t approval\');\r\n break;\r\n case " + "15: // SessionPendingApproved\r\n session.isPending(fal" + "se);\r\n session.messages.unshift(log);\r\n " + " session.progressValue(-1);\r\n session.pr" + "ogressStatus(\'Enrollment approval, waiting for client\');\r\n " + " break;\r\n case 16: // SessionPendingRejected\r\n " + " session.isPending(false);\r\n ses" + "sion.messages.unshift(log);\r\n session.progressValue(-" + "1);\r\n session.progressStatus(\'Enrollment rejected, wa" + "iting for client\');\r\n break;\r\n " + " case 17: // SessionContinuing\r\n session.isPending(fa" + "lse);\r\n session.messages.unshift(log);\r\n " + " break;\r\n case 20: // SessionFinished\r\n " + " session.sessionEnded(true);\r\n " + " session.isPending(false);\r\n if (session.hasError())\r" + "\n session.progressStatus(\'Enrollment Finished wit" + "h an Error\');\r\n else\r\n " + " if (session.hasWarning())\r\n session.progress" + "Status(\'Enrollment Finished with a Warning\');\r\n e" + "lse\r\n session.progressStatus(\'Enrollment Fini" + "shed Successfully\');\r\n session.messages.unshift(log);" + "\r\n break;\r\n case 21: // Sessio" + "nDiagnosticInformation\r\n session.console.push(log);\r\n" + " break;\r\n case 22: // SessionW" + "arning\r\n session.hasWarning(true);\r\n " + " session.messages.unshift(log);\r\n break;\r\n " + " case 23: // SessionError\r\n case 24" + ": // SessionErrorWithInner\r\n case 25: // SessionClientErr" + "or\r\n session.hasError(true);\r\n " + " session.messages.unshift(log);\r\n break;\r\n " + " default:\r\n session.messages.unshift(" + "log);\r\n }\r\n }\r\n }\r\n }\r\n " + " function init() {\r\n hostDialogSessions.dialog({\r\n m" + "odal: true,\r\n height: 574,\r\n width: 900,\r\n " + " resizable: false,\r\n autoOpen: false\r\n });\r\n " + " //hostDialogSessionsProgress.progressbar();\r\n\r\n // Create Vi" + "ew Model\r\n vm = new pageViewModel();\r\n $.ajax({\r\n " + " url: \'"); #line 319 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Url.Action(MVC.API.DeviceModel.Index())); #line default #line hidden WriteLiteral(@"', dataType: 'json', type: 'POST', success: init_loadedDeviceModels, error: function (jqXHR, textStatus, errorThrown) { alert('Unable to retrieve device models: ' + errorThrown); } }); } function init_loadedDeviceModels(models) { for (var i = 0; i < models.length; i++) { var m = models[i]; deviceModels[m.Id] = m; } // Load Logs var d = new Date(); var loadData = { Format: ""json"", Start: d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate(), End: null, ModuleId: 50, Take: 2000, '__RequestVerificationToken': host.find('input[name=""__RequestVerificationToken""]').val() }; $.ajax({ url: '"); #line 345 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Url.Action(MVC.API.Logging.RetrieveEvents())); #line default #line hidden WriteLiteral(@"', dataType: 'json', type: 'POST', traditional: true, data: loadData, success: init_loadedLogs, error: function (jqXHR, textStatus, errorThrown) { alert('Unable to retrieve logs: ' + errorThrown); } }); } function init_loadedLogs(logs) { logs.reverse(); for (var i = 0; i < logs.length; i++) { parseLog(logs[i]); } // Bind ko.applyBindings(vm); // Isotope hostSessions.isotope({ itemSelector: '.session', layoutMode: 'fitRows' }); vm.isotopeInited = true; // Init Persistent Connection logHub = $.connection.logNotifications; logHub.client.receiveLog = parseLog $.connection.hub.qs = { LogModules: '"); #line 375 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Disco.Services.Devices.Enrolment.EnrolmentLog.Current.LiveLogGroupName); #line default #line hidden WriteLiteral("\' };\r\n $.connection.hub.error(onHubFailed);\r\n\r\n $.connectio" + "n.hub.start()\r\n .done(function () { isLive = true; })\r\n " + " .fail(onHubFailed);\r\n\r\n function onHubFailed(error) {\r\n " + " // Show Dialog Message\r\n if ($(\'.disconnected-dialog\').le" + "ngth == 0) {\r\n $(\'
\')\r\n .addClass(" + "\'dialog disconnected-dialog\')\r\n .html(\'

Disconnected from the Disco ICT Server

This page" + " is not receiving live updates. Please ensure you are connected to the server, t" + "hen refresh this page to enable features.
\')\r\n .dial" + "og({\r\n resizable: false,\r\n " + " title: \'Disconnected\',\r\n width: 400,\r\n " + " modal: true,\r\n buttons: {\r\n " + " \'Refresh Now\': function () {\r\n " + " $(this).dialog(\'option\', \'buttons\', null);\r\n " + " window.location.reload(true);\r\n },\r\n " + " \'Close\': function () {\r\n " + " $(this).dialog(\'destroy\');\r\n }\r\n " + " }\r\n });\r\n }\r\n }" + "\r\n }\r\n $(\'#dialogSession\').on(\'click\', \'#formResolveSessionPending" + " button\', function (e) {\r\n const $button = $(this);\r\n cons" + "t $form = $button.closest(\'form\');\r\n const body = new FormData($form[" + "0]);\r\n body.append(\'approve\', $button.val());\r\n fetch($for" + "m.attr(\'action\'), {\r\n method: \'POST\',\r\n body: body" + "\r\n }).then(function (response) {\r\n if (!response.ok) {" + "\r\n alert(\'Failed to resolve pending session: \' + response.sta" + "tusText);\r\n }\r\n });\r\n });\r\n init();\r\n " + " });\r\n\r\n"); } } } #pragma warning restore 1591