#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 \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 = 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 31 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" #line default #line hidden #line 31 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" using (Html.BeginForm(MVC.API.Enrollment.ResolveSessionPending(), FormMethod.Post)) { #line default #line hidden #line 33 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Html.AntiForgeryToken()); #line default #line hidden #line 33 "..\..\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 42 "..\..\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 122 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Url.Action(MVC.Device.Show())); #line default #line hidden WriteLiteral("/\'\r\n var deviceModelImageUrl = \'"); #line 123 "..\..\Areas\Config\Views\Enrolment\Status.cshtml" Write(Url.Action(MVC.API.DeviceModel.Image())); #line default #line hidden WriteLiteral("/\'\r\n var iconWarningUrl = \'url("); #line 124 "..\..\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 125 "..\..\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.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 = k" + "o.observable();\r\n self.progressValue = ko.observable();\r\n " + "self.startTime = ko.observable();\r\n self.sessionEnded = ko.observable" + "(false);\r\n self.progressbar = null;\r\n self.hasError = ko.o" + "bservable(false);\r\n self.hasWarning = ko.observable(false);\r\n " + " self.deviceModelId = ko.observable();\r\n self.deviceModelDescripti" + "on = ko.computed(function () {\r\n var deviceModelId = self.deviceM" + "odelId();\r\n var sessionDeviceInfo = self.sessionDeviceInfo();\r\n " + " if (deviceModelId) {\r\n var dm = deviceModels[de" + "viceModelId];\r\n if (dm) {\r\n if (dm.Des" + "cription)\r\n return dm.Description;\r\n " + " else\r\n return dm.Manufacturer + \' \' + dm.Model" + ";\r\n }\r\n }\r\n if (sessionDeviceIn" + "fo) {\r\n return sessionDeviceInfo.Arguments[6] + \' \' + session" + "DeviceInfo.Arguments[7];\r\n }\r\n });\r\n self.d" + "eviceUrl = ko.computed(function () {\r\n var serialNumber = self.se" + "rialNumber();\r\n if (serialNumber)\r\n return dev" + "iceBaseUrl + serialNumber;\r\n else\r\n return nul" + "l;\r\n });\r\n self.deviceModelImageUrl = ko.computed(function" + " () {\r\n var deviceModelImage;\r\n if (self.deviceMod" + "elId())\r\n deviceModelImage = \'url(\' + deviceModelImageUrl + s" + "elf.deviceModelId() + \')\';\r\n else\r\n deviceMode" + "lImage = \'url(\' + deviceModelImageUrl + \')\';\r\n if (self.hasError(" + "))\r\n return iconErrorUrl + \', \' + deviceModelImage;\r\n " + " else\r\n if (self.hasWarning())\r\n " + " return iconWarningUrl + \', \' + deviceModelImage;\r\n else\r\n " + " return \'none, \' + deviceModelImage;\r\n });\r\n " + " self.select = function (e, d) {\r\n vm.currentSession(self)" + ";\r\n hostDialogSessions.dialog(\'open\');\r\n hostDialo" + "gSessions.dialog(\'option\', \'title\', \'Device Enrollment: \' + self.title());\r\n " + " }\r\n }\r\n\r\n function parseLog(log) {\r\n if (log.Mo" + "duleId === 50 && log.Arguments && log.Arguments.length > 0) {\r\n /" + "/ find session\r\n var sessionId = log.Arguments[0];\r\n " + " var session = vm.sessionIndex[sessionId];\r\n if (!session && lo" + "g.EventTypeId === 10) { // Starting Session (Ignore \'partial\' sessions)\r\n " + " session = new sessionViewModel(sessionId);\r\n vm." + "sessionIndex[sessionId] = session;\r\n vm.sessions.unshift(sess" + "ion);\r\n vm.noSessions(false);\r\n }\r\n " + " if (session) {\r\n switch (log.EventTypeId) {\r\n " + " case 10: // SessionStarting\r\n session.ti" + "tle(log.Arguments[1]);\r\n session.startTime(log.Format" + "tedTimestamp.substring(log.FormattedTimestamp.indexOf(\' \') + 1));\r\n " + " session.messages.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.progressStatus(log.Arguments[2]);\r\n " + " break;\r\n case 12: // SessionDevice\r\n " + " session.title(log.Arguments[1]);\r\n sessi" + "on.serialNumber(log.Arguments[1]);\r\n if (log.Argument" + "s.length >= 3 && log.Arguments[2])\r\n session.devi" + "ceModelId(log.Arguments[2]);\r\n break;\r\n " + " break;\r\n case 13: // SessionDeviceInfo\r\n " + " session.title(log.Arguments[1]);\r\n " + " session.serialNumber(log.Arguments[1]);\r\n sess" + "ion.sessionDeviceInfo(log);\r\n if (log.Arguments.lengt" + "h >= 10 && log.Arguments[9])\r\n session.deviceMode" + "lId(log.Arguments[9]);\r\n break;\r\n " + " case 14: // SessionPending\r\n session.isPending(tr" + "ue);\r\n session.messages.unshift(log);\r\n " + " session.progressValue(-1);\r\n session.pr" + "ogressStatus(\'Pending enrollment approval\');\r\n break;" + "\r\n case 15: // SessionPendingApproved\r\n " + " session.isPending(false);\r\n session.message" + "s.unshift(log);\r\n session.progressValue(-1);\r\n " + " session.progressStatus(\'Enrollment approval, waiting for cl" + "ient\');\r\n break;\r\n case 16: //" + " SessionPendingRejected\r\n session.isPending(false);\r\n" + " session.messages.unshift(log);\r\n " + " session.progressValue(-1);\r\n session.progress" + "Status(\'Enrollment rejected, waiting for client\');\r\n " + "break;\r\n case 17: // SessionContinuing\r\n " + " session.isPending(false);\r\n session.messag" + "es.unshift(log);\r\n break;\r\n ca" + "se 20: // SessionFinished\r\n session.sessionEnded(true" + ");\r\n session.isPending(false);\r\n " + " if (session.hasError())\r\n session.progress" + "Status(\'Enrollment Finished with an Error\');\r\n else\r\n" + " if (session.hasWarning())\r\n " + " session.progressStatus(\'Enrollment Finished with a Warning\');\r\n " + " else\r\n session." + "progressStatus(\'Enrollment Finished Successfully\');\r\n " + " session.messages.unshift(log);\r\n break;\r\n " + " case 21: // SessionDiagnosticInformation\r\n " + " session.console.push(log);\r\n break;\r\n " + " case 22: // SessionWarning\r\n session.hasWa" + "rning(true);\r\n session.messages.unshift(log);\r\n " + " break;\r\n case 23: // SessionError\r\n" + " case 24: // SessionErrorWithInner\r\n " + " case 25: // SessionClientError\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 hostDialogSessi" + "ons.dialog({\r\n modal: true,\r\n height: 574,\r\n " + " width: 900,\r\n resizable: false,\r\n autoOp" + "en: false\r\n });\r\n //hostDialogSessionsProgress.progressbar" + "();\r\n\r\n // Create View Model\r\n vm = new pageViewModel();\r\n" + " $.ajax({\r\n url: \'"); #line 314 "..\..\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 }; $.ajax({ url: '"); #line 339 "..\..\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 369 "..\..\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