initial source commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Disco.Web.Areas.Public.Controllers
|
||||
{
|
||||
public partial class PublicController : Controller
|
||||
{
|
||||
//
|
||||
// GET: /Public/Public/
|
||||
|
||||
public virtual ActionResult Index()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public virtual ActionResult Credits()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
public virtual ActionResult Licence()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,132 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Disco.BI;
|
||||
using Disco.BI.Extensions;
|
||||
|
||||
namespace Disco.Web.Areas.Public.Controllers
|
||||
{
|
||||
public partial class UserHeldDevicesController : dbController
|
||||
{
|
||||
private List<Models.UserHeldDevices.UserHeldDeviceModel> GetUserHeldDevices()
|
||||
{
|
||||
var usersJobs = dbContext.Jobs.Where(j =>
|
||||
!j.ClosedDate.HasValue && j.UserId != null &&
|
||||
j.DeviceSerialNumber != null &&
|
||||
((j.DeviceHeld.HasValue && !j.DeviceReturnedDate.HasValue) || j.WaitingForUserAction.HasValue)
|
||||
).Select(j => new Models.UserHeldDevices.HeldJobDeviceModel
|
||||
{
|
||||
JobId = j.Id,
|
||||
WaitingForUserAction = j.WaitingForUserAction.HasValue || ((j.JobMetaNonWarranty.AccountingChargeRequiredDate.HasValue || j.JobMetaNonWarranty.AccountingChargeAddedDate.HasValue) && !j.JobMetaNonWarranty.AccountingChargePaidDate.HasValue),
|
||||
WaitingForUserActionSince = j.WaitingForUserAction.HasValue ? j.WaitingForUserAction : (j.JobMetaNonWarranty.AccountingChargeRequiredDate.HasValue ? j.JobMetaNonWarranty.AccountingChargeRequiredDate : j.JobMetaNonWarranty.AccountingChargeAddedDate),
|
||||
ReadyForReturn = j.DeviceReadyForReturn.HasValue,
|
||||
EstimatedReturnTime = j.ExpectedClosedDate,
|
||||
ReadyForReturnSince = j.DeviceReadyForReturn,
|
||||
UserDisplayName = j.User.DisplayName,
|
||||
UserId = j.UserId,
|
||||
DeviceProfileId = j.Device.DeviceProfileId,
|
||||
DeviceAddressId = j.Device.DeviceProfile.DefaultOrganisationAddress
|
||||
}).GroupBy(j => j.UserId);
|
||||
|
||||
var thd = new List<Models.UserHeldDevices.UserHeldDeviceModel>();
|
||||
foreach (var userJobs in usersJobs)
|
||||
{
|
||||
if (userJobs.Any(j => j.WaitingForUserAction))
|
||||
{
|
||||
thd.Add(userJobs.Where(j => j.WaitingForUserAction).OrderBy(j => j.WaitingForUserActionSince).FirstOrDefault().ToUserHeldDeviceModel(dbContext));
|
||||
}
|
||||
else
|
||||
{
|
||||
if (userJobs.All(j => j.ReadyForReturn))
|
||||
{
|
||||
thd.Add(userJobs.FirstOrDefault().ToUserHeldDeviceModel(dbContext));
|
||||
}
|
||||
else
|
||||
{
|
||||
thd.Add(userJobs.Where(j => !j.ReadyForReturn).OrderByDescending(j => j.EstimatedReturnTime).FirstOrDefault().ToUserHeldDeviceModel(dbContext));
|
||||
}
|
||||
}
|
||||
}
|
||||
return thd;
|
||||
}
|
||||
private Models.UserHeldDevices.UserHeldDeviceModel GetUserHeldDevice(string userId)
|
||||
{
|
||||
var userJobs = dbContext.Jobs.Where(j => !j.ClosedDate.HasValue && j.UserId == userId && j.DeviceSerialNumber != null && ((j.DeviceHeld.HasValue && !j.DeviceReturnedDate.HasValue) || j.WaitingForUserAction.HasValue)).Select(j => new Models.UserHeldDevices.HeldJobDeviceModel
|
||||
{
|
||||
JobId = j.Id,
|
||||
WaitingForUserAction = j.WaitingForUserAction.HasValue,
|
||||
WaitingForUserActionSince = j.WaitingForUserAction,
|
||||
ReadyForReturn = j.DeviceReadyForReturn.HasValue,
|
||||
EstimatedReturnTime = j.ExpectedClosedDate,
|
||||
ReadyForReturnSince = j.DeviceReadyForReturn,
|
||||
UserDisplayName = j.User.DisplayName,
|
||||
UserId = j.UserId,
|
||||
DeviceProfileId = j.Device.DeviceProfileId,
|
||||
DeviceAddressId = j.Device.DeviceProfile.DefaultOrganisationAddress
|
||||
}).ToList();
|
||||
|
||||
if (userJobs == null || userJobs.Count == 0)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (userJobs.Any(j => j.WaitingForUserAction))
|
||||
{
|
||||
return userJobs.Where(j => j.WaitingForUserAction).OrderBy(j => j.WaitingForUserActionSince).FirstOrDefault().ToUserHeldDeviceModel(dbContext);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (userJobs.All(j => j.ReadyForReturn))
|
||||
{
|
||||
return userJobs.FirstOrDefault().ToUserHeldDeviceModel(dbContext);
|
||||
}
|
||||
else
|
||||
{
|
||||
return userJobs.Where(j => !j.ReadyForReturn).OrderByDescending(j => j.EstimatedReturnTime).FirstOrDefault().ToUserHeldDeviceModel(dbContext);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public virtual ActionResult Index()
|
||||
{
|
||||
return View(GetUserHeldDevices());
|
||||
}
|
||||
|
||||
public virtual ActionResult ReadyForReturnXml()
|
||||
{
|
||||
var readyForReturn = GetUserHeldDevices().Where(j => j.ReadyForReturn && !j.WaitingForUserAction).ToArray();
|
||||
return new Extensions.XmlResult(readyForReturn);
|
||||
}
|
||||
public virtual ActionResult WaitingForUserActionXml()
|
||||
{
|
||||
var userHeldDevices = GetUserHeldDevices().Where(j => j.WaitingForUserAction).ToArray();
|
||||
return new Extensions.XmlResult(userHeldDevices);
|
||||
}
|
||||
public virtual ActionResult UserHeldDevicesXml()
|
||||
{
|
||||
var userHeldDevices = GetUserHeldDevices().Where(j => !j.ReadyForReturn && !j.WaitingForUserAction).ToArray();
|
||||
return new Extensions.XmlResult(userHeldDevices);
|
||||
}
|
||||
|
||||
public virtual ActionResult Noticeboard()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
public virtual ActionResult UserHeldDevice(string id)
|
||||
{
|
||||
var uhd = GetUserHeldDevice(id);
|
||||
return Json(uhd, JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
public virtual ActionResult UserHeldDevices()
|
||||
{
|
||||
var uhd = GetUserHeldDevices();
|
||||
return Json(uhd, JsonRequestBehavior.AllowGet);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using Disco.BI;
|
||||
using Disco.BI.Extensions;
|
||||
using Disco.Data.Repository;
|
||||
|
||||
namespace Disco.Web.Areas.Public.Models.UserHeldDevices
|
||||
{
|
||||
public class HeldJobDeviceModel
|
||||
{
|
||||
public int JobId { get; set; }
|
||||
|
||||
public string UserId { get; set; }
|
||||
public string UserDisplayName { get; set; }
|
||||
public int DeviceProfileId { get; set; }
|
||||
public int? DeviceAddressId { get; set; }
|
||||
public bool ReadyForReturn { get; set; }
|
||||
public bool WaitingForUserAction { get; set; }
|
||||
public DateTime? EstimatedReturnTime { get; set; }
|
||||
public DateTime? ReadyForReturnSince { get; set; }
|
||||
public DateTime? WaitingForUserActionSince { get; set; }
|
||||
|
||||
public UserHeldDeviceModel ToUserHeldDeviceModel(DiscoDataContext dbContext)
|
||||
{
|
||||
var uhdm = new UserHeldDeviceModel()
|
||||
{
|
||||
UserId = this.UserId,
|
||||
UserDisplayName = this.UserDisplayName,
|
||||
ReadyForReturn = this.ReadyForReturn,
|
||||
WaitingForUserAction = this.WaitingForUserAction,
|
||||
DeviceProfileId = this.DeviceProfileId,
|
||||
DeviceAddress = (this.DeviceAddressId.HasValue ? dbContext.DiscoConfiguration.OrganisationAddresses.GetAddress(this.DeviceAddressId.Value).ShortName : string.Empty)
|
||||
};
|
||||
var n = DateTime.Now;
|
||||
if (!this.ReadyForReturn && this.EstimatedReturnTime.HasValue && this.EstimatedReturnTime.Value > n)
|
||||
{
|
||||
uhdm.EstimatedReturnTime = this.EstimatedReturnTime.ToFuzzy();
|
||||
if (this.EstimatedReturnTime.Value.Date == n.Date)
|
||||
{
|
||||
if (this.EstimatedReturnTime.Value < n.AddHours(2))
|
||||
{
|
||||
if (this.EstimatedReturnTime.Value < n.AddMinutes(12))
|
||||
{
|
||||
uhdm.UpdateAt = this.EstimatedReturnTime.Value;
|
||||
}
|
||||
else
|
||||
{
|
||||
uhdm.UpdateAt = this.EstimatedReturnTime.Value.AddMinutes(-10);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (this.ReadyForReturn)
|
||||
{
|
||||
uhdm.ReadyForReturnSince = this.ReadyForReturnSince.ToFuzzy();
|
||||
uhdm.IsAlert = (this.ReadyForReturnSince.Value < DateTime.Now.AddDays(-3));
|
||||
}
|
||||
if (this.WaitingForUserAction)
|
||||
{
|
||||
uhdm.WaitingForUserActionSince = this.WaitingForUserActionSince.ToFuzzy();
|
||||
uhdm.IsAlert = (this.WaitingForUserActionSince.Value < n.AddDays(-6));
|
||||
}
|
||||
return uhdm;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
|
||||
namespace Disco.Web.Areas.Public.Models.UserHeldDevices
|
||||
{
|
||||
public class UserHeldDeviceModel
|
||||
{
|
||||
public string UserId { get; set; }
|
||||
public string UserDisplayName { get; set; }
|
||||
public bool ReadyForReturn { get; set; }
|
||||
public string EstimatedReturnTime { get; set; }
|
||||
public string ReadyForReturnSince { get; set; }
|
||||
public bool IsAlert { get; set; }
|
||||
public bool WaitingForUserAction { get; set; }
|
||||
public string WaitingForUserActionSince { get; set; }
|
||||
public Nullable<DateTime> UpdateAt { get; set; }
|
||||
public int DeviceProfileId { get; set; }
|
||||
public string DeviceAddress { get; set; }
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,43 @@
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Routing;
|
||||
using SignalR;
|
||||
|
||||
namespace Disco.Web.Areas.Public
|
||||
{
|
||||
public class PublicAreaRegistration : AreaRegistration
|
||||
{
|
||||
public override string AreaName
|
||||
{
|
||||
get
|
||||
{
|
||||
return "Public";
|
||||
}
|
||||
}
|
||||
|
||||
public override void RegisterArea(AreaRegistrationContext context)
|
||||
{
|
||||
context.Routes.MapConnection<BI.Interop.SignalRHandlers.UserHeldDevices>(
|
||||
"Public_UserHeldDevices_Notifications", "Public/UserHeldDevices/Notifications/{*operation}");
|
||||
|
||||
context.MapRoute(
|
||||
"Public_Credits",
|
||||
"Public/Credits/{id}",
|
||||
new { controller = "Public", action = "Credits", id = UrlParameter.Optional },
|
||||
new string[] { "Disco.Web.Areas.Public.Controllers" }
|
||||
);
|
||||
context.MapRoute(
|
||||
"Public_Licence",
|
||||
"Public/Licence/{id}",
|
||||
new { controller = "Public", action = "Licence", id = UrlParameter.Optional },
|
||||
new string[] { "Disco.Web.Areas.Public.Controllers" }
|
||||
);
|
||||
|
||||
context.MapRoute(
|
||||
"Public_default",
|
||||
"Public/{controller}/{action}/{id}",
|
||||
new { controller = "Public", action = "Index", id = UrlParameter.Optional },
|
||||
new string[] { "Disco.Web.Areas.Public.Controllers" }
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,339 @@
|
||||
@{
|
||||
ViewBag.Title = "Credits";
|
||||
Html.BundleDeferred("~/Style/Credits");
|
||||
}
|
||||
<h2>
|
||||
Organisations</h2>
|
||||
<div id="organisationCredits">
|
||||
<span class="message">The development team would like to thank the following organisations
|
||||
for their generous contributions:</span>
|
||||
<ul>
|
||||
<li><a href="http://www.geelonghigh.vic.edu.au/" target="_blank">Geelong High School</a></li>
|
||||
<li><a href="http://www.bellarinesc.vic.edu.au/" target="_blank">Bellarine Secondary
|
||||
College</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<hr />
|
||||
<table id="pageMenu">
|
||||
<tr>
|
||||
<td>
|
||||
<h2>
|
||||
Platform</h2>
|
||||
<div class="pageMenuArea MicrosoftNET">
|
||||
<a href="http://www.microsoft.com/net/" target="_blank">Microsoft .NET Framework</a>
|
||||
<div class="pageMenuBlurb">
|
||||
The Microsoft .NET Framework is the hosting virtual machine most of Disco runs on.
|
||||
Most of Disco's components are written in <a href="http://msdn.microsoft.com/en-us/vstudio/hh388566.aspx"
|
||||
target="_blank">C#</a>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea MicrosoftASPNET">
|
||||
<a href="http://www.asp.net/" target="_blank">Microsoft ASP.NET Framework</a>
|
||||
<div class="pageMenuBlurb">
|
||||
The Microsoft ASP.NET Framework powers all Web features of this web application.
|
||||
<a href="http://www.nuget.org/packages/Microsoft.Web.Optimization" target="_blank">Microsoft
|
||||
Web Optimization - Bundling</a> is used to provide JavaScript, CSS and LESS
|
||||
minification and bundling.
|
||||
</div>
|
||||
<a href="http://www.asp.net/" target="_blank">Microsoft ASP.NET MVC Framework</a>
|
||||
<div class="pageMenuBlurb">
|
||||
The Microsoft ASP.NET MVC Framework providers the Model-View-Controller pattern
|
||||
for ASP.NET which is implemented by this web application. Most of this web application's
|
||||
views are written in <a href="http://www.asp.net/web-pages/tutorials/basics/2-introduction-to-asp-net-web-programming-using-the-razor-syntax"
|
||||
target="_blank">C# Razor Syntax</a>. Web application start-up time is increase
|
||||
by pre-compiling all Razor views with <a href="http://razorgenerator.codeplex.com/"
|
||||
target="_blank">Razor Generator</a>.
|
||||
</div>
|
||||
<a href="http://www.asp.net/entity-framework" target="_blank">Microsoft .NET Entity
|
||||
Framework</a>
|
||||
<div class="pageMenuBlurb">
|
||||
The Microsoft .NET Entity Framework is the Object-Relational Mapping (ORM) toolset
|
||||
used by this web application.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea MicrosoftSQLServer">
|
||||
<a href="http://www.microsoft.com/sqlserver/" target="_blank">Microsoft SQL Server</a>
|
||||
<div class="pageMenuBlurb">
|
||||
Microsoft SQL Server is used for storage and querying of relational data.
|
||||
</div>
|
||||
<a href="http://msdn.microsoft.com/en-us/data/ff687142" target="_blank">Microsoft SQL
|
||||
Server Compact</a>
|
||||
<div class="pageMenuBlurb">
|
||||
Microsoft SQL Server Compact provides file-based relational data storage. It is
|
||||
used by this web application to store all logs and is available for plug-ins to
|
||||
use for additional storage.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea MicrosoftSilverlight">
|
||||
<a href="http://www.silverlight.net/" target="_blank">Microsoft Silverlight</a>
|
||||
<div class="pageMenuBlurb">
|
||||
Microsoft Silverlight is an application framework for writing and running rich Internet
|
||||
applications. The run-time environment for Silverlight is available as a plug-in
|
||||
for web browsers running under Microsoft Windows and Mac OS X. Silverlight supports
|
||||
multimedia, graphics and animation, and give developers support for CLI languages
|
||||
and development tools.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea SignalR">
|
||||
<a href="http://signalr.net/" target="_blank">SignalR</a><span class="licence"><a
|
||||
href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
SignalR is used extensively by this web application to provide real-time feedback
|
||||
to the client browser. This includes real-time log viewing, enrolment status, document
|
||||
import status and noticeboards.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea nuget">
|
||||
<a href="http://nuget.org/" target="_blank">nuget</a><span class="licence"><a href="http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
target="_blank">Apache License, Version 2.0</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
NuGet is a Visual Studio extension that makes it easy to install and update third-party
|
||||
libraries and tools in Visual Studio.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea T4MVC">
|
||||
<a href="http://t4mvc.codeplex.com/" target="_blank">T4MVC</a><span class="licence"><a
|
||||
href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License,
|
||||
Version 2.0</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
T4MVC is a T4 template for ASP.NET MVC apps that creates strongly typed helpers
|
||||
that eliminate the use of literal strings when referring the controllers, actions
|
||||
and views.
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<h2>
|
||||
SDK/Helpers</h2>
|
||||
<div class="pageMenuArea dotless">
|
||||
<a href="http://www.dotlesscss.org/" target="_blank">.less</a><span class="licence"><a
|
||||
href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License,
|
||||
Version 2.0</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
.less is a Microsoft .NET Framework port of the popular <a href="http://lesscss.org/"
|
||||
target="_blank">LESS JavaScript library</a>. LESS syntax adds features to the
|
||||
Cascading StyleSheet specification for developers to take advantage of. It is compiled
|
||||
to CSS for the client browser to consume.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea SpringNET">
|
||||
<a href="http://www.springframework.net/" target="_blank">Spring.net</a><span class="licence"><a
|
||||
href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License,
|
||||
Version 2.0</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
Spring.NET is an open source application framework that makes building enterprise
|
||||
.NET applications easier. In particular, this application makes use of <a href="http://www.springframework.net/doc-latest/reference/html/expressions.html"
|
||||
target="_blank">Spring Expression Evaluation</a>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea Quartz">
|
||||
<a href="http://quartznet.sourceforge.net/" target="_blank">Quartz.NET</a><span
|
||||
class="licence"><a href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache
|
||||
License, Version 2.0</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
Quartz.NET is a full-featured, open source job scheduling system that can be used
|
||||
from smallest apps to large scale enterprise systems. Quartz.NET is a pure .NET
|
||||
library written in C# and is a port of very popular open source Java job scheduling
|
||||
framework, <a href="http://www.quartz-scheduler.org/" target="_blank">Quartz</a>.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea iTextSharp">
|
||||
<a href="http://sourceforge.net/projects/itextsharp/" target="_blank">iTextSharp</a><span
|
||||
class="licence"><a href="http://opensource.org/licenses/AGPL-3.0" target="_blank">AGPL</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
iText# (iTextSharp) is a port of the iText open source java library for PDF generation
|
||||
written entirely in C# for the .NET platform.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea CrystalIcons">
|
||||
<a href="http://everaldo.com/crystal/" target="_blank">Crystal Project Icons</a><span
|
||||
class="licence"><a href="http://opensource.org/licenses/LGPL-2.1" target="_blank">LGPLv2.1</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
The Crystal Project produces a set of icons targeted towards Linux based operating
|
||||
system distributions.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea JsonNET">
|
||||
<a href="http://json.codeplex.com/" target="_blank">Json.NET</a><span class="licence"><a
|
||||
href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
While in most places the (Microsoft .NET Framework) built-in JSON Serializer is
|
||||
used, however on occasion (and where other frameworks require) Json.NET is used.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea LibTiff">
|
||||
<a href="http://bitmiracle.com/libtiff/" target="_blank">LibTiff.Net</a><span class="licence"><a
|
||||
href="http://bitmiracle.com/libtiff/help/license-and-copyright.aspx" target="_blank">Copyright</a>
|
||||
| <a href="http://opensource.org/licenses/BSD-3-Clause" target="_blank">New BSD</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
LibTiff.Net provides support for the Tag Image File Format (TIFF), a widely used
|
||||
format for storing image data.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea DotNetZip">
|
||||
<a href="http://dotnetzip.codeplex.com/" target="_blank">DotNetZip</a><span class="licence"><a
|
||||
href="http://opensource.org/licenses/MS-PL" target="_blank">Ms-PL</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
DotNetZip is an easy-to-use, FAST, FREE class library and toolset for manipulating
|
||||
zip files or folders.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea SharpSSH">
|
||||
<a href="http://www.tamirgal.com/blog/page/SharpSSH.aspx" target="_blank">SharpSSH</a><span
|
||||
class="licence"><a href="http://www.jcraft.com/jsch/LICENSE.txt" target="_blank">BSD-Style</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
SharpSSH is a pure .NET implementation of the SSH2 client protocol suite. It provides
|
||||
an API for communication with SSH servers and can be integrated into any .NET application.
|
||||
The library is a C# port of the <a href="http://www.jcraft.com/jsch/" target="_blank">
|
||||
JSch</a> project from JCraft Inc.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea ZXing">
|
||||
<a href="http://code.google.com/p/zxing/" target="_blank">ZXing</a><span class="licence"><a
|
||||
href="http://www.apache.org/licenses/LICENSE-2.0.html" target="_blank">Apache License,
|
||||
Version 2.0</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
ZXing (pronounced "zebra crossing") is an open-source, multi-format 1D/2D barcode
|
||||
image processing library implemented in Java, with ports to other languages.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea HtmlAgilityPack">
|
||||
<a href="http://htmlagilitypack.codeplex.com/" target="_blank">Html Agility Pack</a><span
|
||||
class="licence"><a href="http://opensource.org/licenses/MS-PL" target="_blank">Ms-PL</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
This is an agile HTML parser that builds a read/write DOM and supports plain XPATH
|
||||
or XSLT. It is a .NET code library that allows you to parse "out of the web" HTML
|
||||
files. The parser is very tolerant with "real world" malformed HTML.
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<h2>
|
||||
Web Client</h2>
|
||||
<div class="pageMenuArea jQuery">
|
||||
<a href="http://jquery.com/" target="_blank">jQuery</a><span class="licence"><a href="http://www.opensource.org/licenses/mit-license.php"
|
||||
target="_blank">MIT</a>/<a href="http://www.opensource.org/licenses/GPL-2.0" target="_blank">GPLv2</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
jQuery is used extensively by this web application to improve browser compatibility
|
||||
and speed up development by providing query mechanisms for the browsers document
|
||||
object model (DOM).
|
||||
</div>
|
||||
<div class="pageMenuAreaSub">
|
||||
<h3>
|
||||
Plugins:</h3>
|
||||
<div>
|
||||
<a href="http://github.com/jquery/jquery-color#readme" target="_blank">Color</a>
|
||||
- The main purpose of this plugin to animate color properties on elements using
|
||||
jQuery's .animate() <span class="licence"><a href="http://www.opensource.org/licenses/mit-license.php"
|
||||
target="_blank">MIT</a>/<a href="http://www.opensource.org/licenses/GPL-3.0" target="_blank">GPL</a></span>
|
||||
</div>
|
||||
@* <div>
|
||||
<a href="http://plugins.jquery.com/project/equal-height" target="_blank">Equal Height</a>
|
||||
- This plug-in makes HTML-elements equal height by adjusting their min-height CSS
|
||||
properties. <span class="licence"><a href="http://creativecommons.org/licenses/by/3.0/"
|
||||
target="_blank">Creative Commons 3.0 Attribution</a></span>
|
||||
</div>*@
|
||||
<div>
|
||||
<a href="http://www.timdown.co.uk/jshashtable/" target="_blank">jshashtable</a>
|
||||
- jshashtable is a JavaScript implementation of a hash table. It associates objects
|
||||
("keys") with other objects ("values"). <span class="licence"><a href="http://www.apache.org/licenses/LICENSE-2.0.html"
|
||||
target="_blank">Apache License, Version 2.0</a></span>
|
||||
</div>
|
||||
<div>
|
||||
<a href="http://code.google.com/p/jquery-numberformatter/" target="_blank">Number Formatter</a>
|
||||
- This plugin is a number formatting and parsing plugin for jQuery. <span class="licence">
|
||||
<a href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT</a></span>
|
||||
</div>
|
||||
<div>
|
||||
<a href="http://code.google.com/p/jquery-watermark/" target="_blank">Watermark</a>
|
||||
- This simple-to-use jQuery plugin adds watermark capability to HTML input and textarea
|
||||
elements. <span class="licence"><a href="http://www.opensource.org/licenses/mit-license.php"
|
||||
target="_blank">MIT</a>/<a href="http://www.opensource.org/licenses/GPL-2.0" target="_blank">GPL2</a></span>
|
||||
</div>
|
||||
<div>
|
||||
<a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/" target="_blank">
|
||||
Validation</a> - This jQuery plugin makes simple client-side form validation
|
||||
trivial, while offering lots of option for customization. <span class="licence"><a
|
||||
href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT</a>/<a
|
||||
href="http://www.opensource.org/licenses/GPL-3.0" target="_blank">GPL</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea jQueryUI">
|
||||
<a href="http://jqueryui.com/" target="_blank">jQuery UI</a><span class="licence"><a
|
||||
href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT</a>/<a
|
||||
href="http://www.opensource.org/licenses/GPL-2.0" target="_blank">GPL2</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
jQuery UI is used extensively by this web application to provide in-browser user
|
||||
interface widgets such as dialogs, date pickers and auto-complete drop-down menus.
|
||||
</div>
|
||||
<div class="pageMenuAreaSub">
|
||||
<h3>
|
||||
Plugins:</h3>
|
||||
<div>
|
||||
<a href="http://code.google.com/p/dynatree/" target="_blank">Dynatree</a> - Dynatree
|
||||
is a jQuery plugin that allows the creation of dynamic html tree view controls using
|
||||
JavaScript. <span class="licence"><a href="http://www.opensource.org/licenses/mit-license.php"
|
||||
target="_blank">MIT</a></span>
|
||||
</div>
|
||||
<div>
|
||||
<a href="http://isotope.metafizzy.co/" target="_blank">Isotope</a> - Isotope is
|
||||
a jQuery plugin which provides dynamic layout and transition functionality. <span
|
||||
class="licence"><a href="http://isotope.metafizzy.co/docs/license.html" target="_blank">
|
||||
non-commercial</a></span>
|
||||
</div>
|
||||
<div>
|
||||
<a href="http://code.google.com/p/jquery-timepicker/" target="_blank">TimePicker</a>
|
||||
- jQuery plugin that replaces a single text input with a set of pulldown menus to
|
||||
select hour, minute, and am/pm. <span class="licence"><a href="http://www.opensource.org/licenses/mit-license.php"
|
||||
target="_blank">MIT</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea Modernizr">
|
||||
<a href="http://modernizr.com/" target="_blank">Modernizr</a><span class="licence"><a
|
||||
href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT</a>/<a
|
||||
href="http://modernizr.com/license/" target="_blank">BSD-Style</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
Modernizr is an open-source JavaScript library that helps you build the next generation
|
||||
of HTML5 and CSS3-powered websites.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea knockoutjs">
|
||||
<a href="http://knockoutjs.com/" target="_blank">Knockout.js</a><span class="licence"><a
|
||||
href="http://www.opensource.org/licenses/mit-license.php" target="_blank">MIT</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
Knockout.js is used by this web application to provider Model-View-Controller (MVC)
|
||||
patterns to the client browser. It enables advanced dynamic layouts such as the
|
||||
real-time enrolment or document import status.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea HighchartsJS">
|
||||
<a href="http://www.highcharts.com/" target="_blank">Highcharts JS</a><span class="licence"><a
|
||||
href="http://creativecommons.org/licenses/by-nc/3.0/" target="_blank">CC 3.0 Attrib-NonCommercial</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
Highcharts JS is used by this web application to display in-browser dynamic charts.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea TinyMCE">
|
||||
<a href="http://www.tinymce.com/" target="_blank">TinyMCE</a><span class="licence"><a
|
||||
href="http://opensource.org/licenses/LGPL-2.1" target="_blank">LGPLv2.1</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
TinyMCE is a platform independent web based JavaScript HTML WYSIWYG editor control.
|
||||
TinyMCE has the ability to convert HTML TEXTAREA fields or other HTML elements to
|
||||
editor instances.
|
||||
</div>
|
||||
</div>
|
||||
<div class="pageMenuArea Shadowboxjs">
|
||||
<a href="http://www.shadowbox-js.com/" target="_blank">Shadowbox.js</a><span class="licence"><a
|
||||
href="http://www.shadowbox-js.com/LICENSE" target="_blank">Non-Commercial License
|
||||
v1.0</a></span>
|
||||
<div class="pageMenuBlurb">
|
||||
Shadowbox is a web-based media viewer application that supports all of the web's
|
||||
most popular media publishing formats. Shadowbox can showcase a wide assortment
|
||||
of media in all major browsers without navigating users away from the linking page.
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,945 @@
|
||||
#pragma warning disable 1591
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Disco.Web.Areas.Public.Views.Public
|
||||
{
|
||||
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.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Web;
|
||||
using Disco.Web.Extensions;
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Public/Views/Public/Credits.cshtml")]
|
||||
public class Credits : System.Web.Mvc.WebViewPage<dynamic>
|
||||
{
|
||||
public Credits()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 1 "..\..\Areas\Public\Views\Public\Credits.cshtml"
|
||||
|
||||
ViewBag.Title = "Credits";
|
||||
Html.BundleDeferred("~/Style/Credits");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<h2>\r\n Organisations</h2>\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"organisationCredits\"");
|
||||
|
||||
WriteLiteral(">\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"message\"");
|
||||
|
||||
WriteLiteral(">The development team would like to thank the following organisations\r\n fo" +
|
||||
"r their generous contributions:</span>\r\n <ul>\r\n <li><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.geelonghigh.vic.edu.au/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Geelong High School</a></li>\r\n <li><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.bellarinesc.vic.edu.au/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Bellarine Secondary\r\n College</a></li>\r\n </ul>\r\n</div>\r\n<hr />\r\n<t" +
|
||||
"able");
|
||||
|
||||
WriteLiteral(" id=\"pageMenu\"");
|
||||
|
||||
WriteLiteral(">\r\n <tr>\r\n <td>\r\n <h2>\r\n Platform</h2>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea MicrosoftNET\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.microsoft.com/net/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Microsoft .NET Framework</a>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n The Microsoft .NET Framework is the hosting virtual machin" +
|
||||
"e most of Disco runs on.\r\n Most of Disco\'s components are wri" +
|
||||
"tten in <a");
|
||||
|
||||
WriteLiteral(" href=\"http://msdn.microsoft.com/en-us/vstudio/hh388566.aspx\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">C#</a>.\r\n </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea MicrosoftASPNET\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.asp.net/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Microsoft ASP.NET Framework</a>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n The Microsoft ASP.NET Framework powers all Web features of" +
|
||||
" this web application.\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.nuget.org/packages/Microsoft.Web.Optimization\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Microsoft\r\n Web Optimization - Bundling</a> is used to pr" +
|
||||
"ovide JavaScript, CSS and LESS\r\n minification and bundling.\r\n" +
|
||||
" </div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.asp.net/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Microsoft ASP.NET MVC Framework</a>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
The Microsoft ASP.NET MVC Framework providers the Model-View-Controller pattern
|
||||
for ASP.NET which is implemented by this web application. Most of this web application's
|
||||
views are written in <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.asp.net/web-pages/tutorials/basics/2-introduction-to-asp-net-we" +
|
||||
"b-programming-using-the-razor-syntax\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">C# Razor Syntax</a>. Web application start-up time is increase\r\n " +
|
||||
" by pre-compiling all Razor views with <a");
|
||||
|
||||
WriteLiteral(" href=\"http://razorgenerator.codeplex.com/\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Razor Generator</a>.\r\n </div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.asp.net/entity-framework\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Microsoft .NET Entity\r\n Framework</a>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n The Microsoft .NET Entity Framework is the Object-Relation" +
|
||||
"al Mapping (ORM) toolset\r\n used by this web application.\r\n " +
|
||||
" </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea MicrosoftSQLServer\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.microsoft.com/sqlserver/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Microsoft SQL Server</a>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n Microsoft SQL Server is used for storage and querying of r" +
|
||||
"elational data.\r\n </div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://msdn.microsoft.com/en-us/data/ff687142\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Microsoft SQL\r\n Server Compact</a>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
Microsoft SQL Server Compact provides file-based relational data storage. It is
|
||||
used by this web application to store all logs and is available for plug-ins to
|
||||
use for additional storage.
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea MicrosoftSilverlight\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.silverlight.net/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Microsoft Silverlight</a>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
Microsoft Silverlight is an application framework for writing and running rich Internet
|
||||
applications. The run-time environment for Silverlight is available as a plug-in
|
||||
for web browsers running under Microsoft Windows and Mac OS X. Silverlight supports
|
||||
multimedia, graphics and animation, and give developers support for CLI languages
|
||||
and development tools.
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea SignalR\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://signalr.net/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">SignalR</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.opensource.org/licenses/mit-license.php" +
|
||||
"\" target=\"_blank\">MIT</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
SignalR is used extensively by this web application to provide real-time feedback
|
||||
to the client browser. This includes real-time log viewing, enrolment status, document
|
||||
import status and noticeboards.
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea nuget\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://nuget.org/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">nuget</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.apache.org/licenses/LICENSE-2.0.html\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Apache License, Version 2.0</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n NuGet is a Visual Studio extension that makes it easy to i" +
|
||||
"nstall and update third-party\r\n libraries and tools in Visual" +
|
||||
" Studio.\r\n </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea T4MVC\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://t4mvc.codeplex.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">T4MVC</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.apache.org/licenses/LICENSE-2.0.html\" t" +
|
||||
"arget=\"_blank\">Apache License,\r\n Version 2.0</a></span>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
T4MVC is a T4 template for ASP.NET MVC apps that creates strongly typed helpers
|
||||
that eliminate the use of literal strings when referring the controllers, actions
|
||||
and views.
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<h2>
|
||||
SDK/Helpers</h2>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea dotless\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.dotlesscss.org/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">.less</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.apache.org/licenses/LICENSE-2.0.html\" t" +
|
||||
"arget=\"_blank\">Apache License,\r\n Version 2.0</a></span>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n .less is a Microsoft .NET Framework port of the popular <a" +
|
||||
"");
|
||||
|
||||
WriteLiteral(" href=\"http://lesscss.org/\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(@">LESS JavaScript library</a>. LESS syntax adds features to the
|
||||
Cascading StyleSheet specification for developers to take advantage of. It is compiled
|
||||
to CSS for the client browser to consume.
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea SpringNET\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.springframework.net/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Spring.net</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.apache.org/licenses/LICENSE-2.0.html\" t" +
|
||||
"arget=\"_blank\">Apache License,\r\n Version 2.0</a></span>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n Spring.NET is an open source application framework that ma" +
|
||||
"kes building enterprise\r\n .NET applications easier. In partic" +
|
||||
"ular, this application makes use of <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.springframework.net/doc-latest/reference/html/expressions.html\"" +
|
||||
"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Spring Expression Evaluation</a>.\r\n </div>\r\n </div>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea Quartz\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://quartznet.sourceforge.net/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Quartz.NET</a><span\r\n class=\"licence\"><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.apache.org/licenses/LICENSE-2.0.html\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Apache\r\n License, Version 2.0</a></span>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
Quartz.NET is a full-featured, open source job scheduling system that can be used
|
||||
from smallest apps to large scale enterprise systems. Quartz.NET is a pure .NET
|
||||
library written in C# and is a port of very popular open source Java job scheduling
|
||||
framework, <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.quartz-scheduler.org/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Quartz</a>.\r\n </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea iTextSharp\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://sourceforge.net/projects/itextsharp/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">iTextSharp</a><span\r\n class=\"licence\"><a");
|
||||
|
||||
WriteLiteral(" href=\"http://opensource.org/licenses/AGPL-3.0\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">AGPL</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n iText# (iTextSharp) is a port of the iText open source jav" +
|
||||
"a library for PDF generation\r\n written entirely in C# for the" +
|
||||
" .NET platform.\r\n </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea CrystalIcons\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://everaldo.com/crystal/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Crystal Project Icons</a><span\r\n class=\"licence\"><a");
|
||||
|
||||
WriteLiteral(" href=\"http://opensource.org/licenses/LGPL-2.1\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">LGPLv2.1</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n The Crystal Project produces a set of icons targeted towar" +
|
||||
"ds Linux based operating\r\n system distributions.\r\n " +
|
||||
" </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea JsonNET\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://json.codeplex.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Json.NET</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.opensource.org/licenses/mit-license.php" +
|
||||
"\" target=\"_blank\">MIT</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
While in most places the (Microsoft .NET Framework) built-in JSON Serializer is
|
||||
used, however on occasion (and where other frameworks require) Json.NET is used.
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea LibTiff\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://bitmiracle.com/libtiff/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">LibTiff.Net</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://bitmiracle.com/libtiff/help/license-and-cop" +
|
||||
"yright.aspx\" target=\"_blank\">Copyright</a>\r\n | <a");
|
||||
|
||||
WriteLiteral(" href=\"http://opensource.org/licenses/BSD-3-Clause\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">New BSD</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n LibTiff.Net provides support for the Tag Image File Format" +
|
||||
" (TIFF), a widely used\r\n format for storing image data.\r\n " +
|
||||
" </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea DotNetZip\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://dotnetzip.codeplex.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">DotNetZip</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://opensource.org/licenses/MS-PL\" target=\"_bla" +
|
||||
"nk\">Ms-PL</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n DotNetZip is an easy-to-use, FAST, FREE class library and " +
|
||||
"toolset for manipulating\r\n zip files or folders.\r\n " +
|
||||
" </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea SharpSSH\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.tamirgal.com/blog/page/SharpSSH.aspx\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">SharpSSH</a><span\r\n class=\"licence\"><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.jcraft.com/jsch/LICENSE.txt\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">BSD-Style</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
SharpSSH is a pure .NET implementation of the SSH2 client protocol suite. It provides
|
||||
an API for communication with SSH servers and can be integrated into any .NET application.
|
||||
The library is a C# port of the <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.jcraft.com/jsch/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">\r\n JSch</a> project from JCraft Inc.\r\n </d" +
|
||||
"iv>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea ZXing\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://code.google.com/p/zxing/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">ZXing</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.apache.org/licenses/LICENSE-2.0.html\" t" +
|
||||
"arget=\"_blank\">Apache License,\r\n Version 2.0</a></span>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
ZXing (pronounced ""zebra crossing"") is an open-source, multi-format 1D/2D barcode
|
||||
image processing library implemented in Java, with ports to other languages.
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea HtmlAgilityPack\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://htmlagilitypack.codeplex.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Html Agility Pack</a><span\r\n class=\"licence\"><a");
|
||||
|
||||
WriteLiteral(" href=\"http://opensource.org/licenses/MS-PL\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Ms-PL</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
This is an agile HTML parser that builds a read/write DOM and supports plain XPATH
|
||||
or XSLT. It is a .NET code library that allows you to parse ""out of the web"" HTML
|
||||
files. The parser is very tolerant with ""real world"" malformed HTML.
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<h2>
|
||||
Web Client</h2>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea jQuery\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://jquery.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">jQuery</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/mit-license.php\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">MIT</a>/<a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/GPL-2.0\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">GPLv2</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
jQuery is used extensively by this web application to improve browser compatibility
|
||||
and speed up development by providing query mechanisms for the browsers document
|
||||
object model (DOM).
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuAreaSub\"");
|
||||
|
||||
WriteLiteral(">\r\n <h3>\r\n Plugins:</h3>\r\n " +
|
||||
" <div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://github.com/jquery/jquery-color#readme\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Color</a>\r\n - The main purpose of this plugin to animate " +
|
||||
"color properties on elements using\r\n jQuery\'s .animate() " +
|
||||
"<span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/mit-license.php\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">MIT</a>/<a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/GPL-3.0\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">GPL</a></span>\r\n </div>\r\n");
|
||||
|
||||
WriteLiteral("\r\n <div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.timdown.co.uk/jshashtable/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">jshashtable</a>\r\n - jshashtable is a JavaScript implement" +
|
||||
"ation of a hash table. It associates objects\r\n (\"keys\") w" +
|
||||
"ith other objects (\"values\"). <span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.apache.org/licenses/LICENSE-2.0.html\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Apache License, Version 2.0</a></span>\r\n </div>\r\n " +
|
||||
" <div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://code.google.com/p/jquery-numberformatter/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Number Formatter</a>\r\n - This plugin is a number formatti" +
|
||||
"ng and parsing plugin for jQuery. <span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/mit-license.php\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">MIT</a></span>\r\n </div>\r\n <div>\r\n " +
|
||||
" <a");
|
||||
|
||||
WriteLiteral(" href=\"http://code.google.com/p/jquery-watermark/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Watermark</a>\r\n - This simple-to-use jQuery plugin adds w" +
|
||||
"atermark capability to HTML input and textarea\r\n elements" +
|
||||
". <span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/mit-license.php\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">MIT</a>/<a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/GPL-2.0\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">GPL2</a></span>\r\n </div>\r\n <div>\r\n " +
|
||||
" <a");
|
||||
|
||||
WriteLiteral(" href=\"http://bassistance.de/jquery-plugins/jquery-plugin-validation/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">\r\n Validation</a> - This jQuery plugin makes simple c" +
|
||||
"lient-side form validation\r\n trivial, while offering lots" +
|
||||
" of option for customization. <span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral(@"><a
|
||||
href=""http://www.opensource.org/licenses/mit-license.php"" target=""_blank"">MIT</a>/<a
|
||||
href=""http://www.opensource.org/licenses/GPL-3.0"" target=""_blank"">GPL</a></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea jQueryUI\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://jqueryui.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">jQuery UI</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.opensource.org/licenses/mit-license.php" +
|
||||
"\" target=\"_blank\">MIT</a>/<a\r\n href=\"http://www.opensourc" +
|
||||
"e.org/licenses/GPL-2.0\" target=\"_blank\">GPL2</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n jQuery UI is used extensively by this web application to p" +
|
||||
"rovide in-browser user\r\n interface widgets such as dialogs, d" +
|
||||
"ate pickers and auto-complete drop-down menus.\r\n </div>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuAreaSub\"");
|
||||
|
||||
WriteLiteral(">\r\n <h3>\r\n Plugins:</h3>\r\n " +
|
||||
" <div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://code.google.com/p/dynatree/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Dynatree</a> - Dynatree\r\n is a jQuery plugin that allows " +
|
||||
"the creation of dynamic html tree view controls using\r\n J" +
|
||||
"avaScript. <span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/mit-license.php\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">MIT</a></span>\r\n </div>\r\n <div>\r\n " +
|
||||
" <a");
|
||||
|
||||
WriteLiteral(" href=\"http://isotope.metafizzy.co/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Isotope</a> - Isotope is\r\n a jQuery plugin which provides" +
|
||||
" dynamic layout and transition functionality. <span\r\n " +
|
||||
" class=\"licence\"><a");
|
||||
|
||||
WriteLiteral(" href=\"http://isotope.metafizzy.co/docs/license.html\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">\r\n non-commercial</a></span>\r\n " +
|
||||
" </div>\r\n <div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://code.google.com/p/jquery-timepicker/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">TimePicker</a>\r\n - jQuery plugin that replaces a single t" +
|
||||
"ext input with a set of pulldown menus to\r\n select hour, " +
|
||||
"minute, and am/pm. <span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.opensource.org/licenses/mit-license.php\"");
|
||||
|
||||
WriteLiteral("\r\n target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">MIT</a></span>\r\n </div>\r\n </div>\r\n " +
|
||||
"</div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea Modernizr\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://modernizr.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Modernizr</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.opensource.org/licenses/mit-license.php" +
|
||||
"\" target=\"_blank\">MIT</a>/<a\r\n href=\"http://modernizr.com" +
|
||||
"/license/\" target=\"_blank\">BSD-Style</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n Modernizr is an open-source JavaScript library that helps " +
|
||||
"you build the next generation\r\n of HTML5 and CSS3-powered web" +
|
||||
"sites.\r\n </div>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea knockoutjs\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://knockoutjs.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Knockout.js</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.opensource.org/licenses/mit-license.php" +
|
||||
"\" target=\"_blank\">MIT</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
Knockout.js is used by this web application to provider Model-View-Controller (MVC)
|
||||
patterns to the client browser. It enables advanced dynamic layouts such as the
|
||||
real-time enrolment or document import status.
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea HighchartsJS\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.highcharts.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Highcharts JS</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://creativecommons.org/licenses/by-nc/3.0/\" ta" +
|
||||
"rget=\"_blank\">CC 3.0 Attrib-NonCommercial</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(">\r\n Highcharts JS is used by this web application to display i" +
|
||||
"n-browser dynamic charts.\r\n </div>\r\n </div>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea TinyMCE\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.tinymce.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">TinyMCE</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://opensource.org/licenses/LGPL-2.1\" target=\"_" +
|
||||
"blank\">LGPLv2.1</a></span>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
TinyMCE is a platform independent web based JavaScript HTML WYSIWYG editor control.
|
||||
TinyMCE has the ability to convert HTML TEXTAREA fields or other HTML elements to
|
||||
editor instances.
|
||||
</div>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea Shadowboxjs\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"http://www.shadowbox-js.com/\"");
|
||||
|
||||
WriteLiteral(" target=\"_blank\"");
|
||||
|
||||
WriteLiteral(">Shadowbox.js</a><span");
|
||||
|
||||
WriteLiteral(" class=\"licence\"");
|
||||
|
||||
WriteLiteral("><a\r\n href=\"http://www.shadowbox-js.com/LICENSE\" target=\"_blan" +
|
||||
"k\">Non-Commercial License\r\n v1.0</a></span>\r\n " +
|
||||
"<div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
Shadowbox is a web-based media viewer application that supports all of the web's
|
||||
most popular media publishing formats. Shadowbox can showcase a wide assortment
|
||||
of media in all major browsers without navigating users away from the linking page.
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,29 @@
|
||||
@{
|
||||
ViewBag.Title = Html.ToBreadcrumb("Public Reports", null);
|
||||
}
|
||||
<table id="pageMenu">
|
||||
<tr>
|
||||
<td style="width: 50%">
|
||||
<div class="pageMenuArea">
|
||||
<h2>
|
||||
Technician Held Devices</h2>
|
||||
@Html.ActionLinkClass("Report", MVC.Public.UserHeldDevices.Index(), "report")
|
||||
<div class="pageMenuBlurb">
|
||||
Display users involved in current jobs where the user's device is held by the technicians.
|
||||
Also displays users which should report to the technicians to collect their device
|
||||
which is ready to be returned to them.
|
||||
</div>
|
||||
@Html.ActionLinkClass("Noticeboard", MVC.Public.UserHeldDevices.Noticeboard(), "noticeboard")
|
||||
<div class="pageMenuBlurb">
|
||||
Display a full-screen active noticeboard screen which lists users involved in current
|
||||
jobs where the user's device is held by the technicians. Also displays users which
|
||||
should report to the technicians to collect their device which is ready to be returned
|
||||
to them.
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td style="width: 50%">
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,115 @@
|
||||
#pragma warning disable 1591
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Disco.Web.Areas.Public.Views.Public
|
||||
{
|
||||
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.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Web;
|
||||
using Disco.Web.Extensions;
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Public/Views/Public/Index.cshtml")]
|
||||
public class Index : System.Web.Mvc.WebViewPage<dynamic>
|
||||
{
|
||||
public Index()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 1 "..\..\Areas\Public\Views\Public\Index.cshtml"
|
||||
|
||||
ViewBag.Title = Html.ToBreadcrumb("Public Reports", null);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<table");
|
||||
|
||||
WriteLiteral(" id=\"pageMenu\"");
|
||||
|
||||
WriteLiteral(">\r\n <tr>\r\n <td");
|
||||
|
||||
WriteLiteral(" style=\"width: 50%\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuArea\"");
|
||||
|
||||
WriteLiteral(">\r\n <h2>\r\n Technician Held Devices</h2>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 10 "..\..\Areas\Public\Views\Public\Index.cshtml"
|
||||
Write(Html.ActionLinkClass("Report", MVC.Public.UserHeldDevices.Index(), "report"));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
Display users involved in current jobs where the user's device is held by the technicians.
|
||||
Also displays users which should report to the technicians to collect their device
|
||||
which is ready to be returned to them.
|
||||
</div>
|
||||
");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 16 "..\..\Areas\Public\Views\Public\Index.cshtml"
|
||||
Write(Html.ActionLinkClass("Noticeboard", MVC.Public.UserHeldDevices.Noticeboard(), "noticeboard"));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"pageMenuBlurb\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
Display a full-screen active noticeboard screen which lists users involved in current
|
||||
jobs where the user's device is held by the technicians. Also displays users which
|
||||
should report to the technicians to collect their device which is ready to be returned
|
||||
to them.
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
<td");
|
||||
|
||||
WriteLiteral(" style=\"width: 50%\"");
|
||||
|
||||
WriteLiteral(">\r\n \r\n </td>\r\n </tr>\r\n</table>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,542 @@
|
||||
@{
|
||||
ViewBag.Title = "Licence";
|
||||
}
|
||||
<div id="licence">
|
||||
<h3 style="text-align: center;">
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE</h3>
|
||||
<p style="text-align: center;">
|
||||
Version 3, 19 November 2007</p>
|
||||
<p>
|
||||
Copyright © 2007 Free Software Foundation, Inc. <<a href="http://fsf.org/">http://fsf.org/</a>>
|
||||
<br />
|
||||
Everyone is permitted to copy and distribute verbatim copies of this license document,
|
||||
but changing it is not allowed.</p>
|
||||
<h3>
|
||||
<a name="preamble"></a>Preamble</h3>
|
||||
<p>
|
||||
The GNU Affero General Public License is a free, copyleft license for software and
|
||||
other kinds of works, specifically designed to ensure cooperation with the community
|
||||
in the case of network server software.</p>
|
||||
<p>
|
||||
The licenses for most software and other practical works are designed to take away
|
||||
your freedom to share and change the works. By contrast, our General Public Licenses
|
||||
are intended to guarantee your freedom to share and change all versions of a program--to
|
||||
make sure it remains free software for all its users.</p>
|
||||
<p>
|
||||
When we speak of free software, we are referring to freedom, not price. Our General
|
||||
Public Licenses are designed to make sure that you have the freedom to distribute
|
||||
copies of free software (and charge for them if you wish), that you receive source
|
||||
code or can get it if you want it, that you can change the software or use pieces
|
||||
of it in new free programs, and that you know you can do these things.</p>
|
||||
<p>
|
||||
Developers that use our General Public Licenses protect your rights with two steps:
|
||||
(1) assert copyright on the software, and (2) offer you this License which gives
|
||||
you legal permission to copy, distribute and/or modify the software.</p>
|
||||
<p>
|
||||
A secondary benefit of defending all users' freedom is that improvements made in
|
||||
alternate versions of the program, if they receive widespread use, become available
|
||||
for other developers to incorporate. Many developers of free software are heartened
|
||||
and encouraged by the resulting cooperation. However, in the case of software used
|
||||
on network servers, this result may fail to come about. The GNU General Public License
|
||||
permits making a modified version and letting the public access it on a server without
|
||||
ever releasing its source code to the public.</p>
|
||||
<p>
|
||||
The GNU Affero General Public License is designed specifically to ensure that, in
|
||||
such cases, the modified source code becomes available to the community. It requires
|
||||
the operator of a network server to provide the source code of the modified version
|
||||
running there to the users of that server. Therefore, public use of a modified version,
|
||||
on a publicly accessible server, gives the public access to the source code of the
|
||||
modified version.</p>
|
||||
<p>
|
||||
An older license, called the Affero General Public License and published by Affero,
|
||||
was designed to accomplish similar goals. This is a different license, not a version
|
||||
of the Affero GPL, but Affero has released a new version of the Affero GPL which
|
||||
permits relicensing under this license.</p>
|
||||
<p>
|
||||
The precise terms and conditions for copying, distribution and modification follow.</p>
|
||||
<h3>
|
||||
<a name="terms"></a>TERMS AND CONDITIONS</h3>
|
||||
<h4>
|
||||
<a name="section0"></a>0. Definitions.</h4>
|
||||
<p>
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.</p>
|
||||
<p>
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.</p>
|
||||
<p>
|
||||
"The Program" refers to any copyrightable work licensed under this License.
|
||||
Each licensee is addressed as "you". "Licensees" and "recipients"
|
||||
may be individuals or organizations.</p>
|
||||
<p>
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an exact copy.
|
||||
The resulting work is called a "modified version" of the earlier work
|
||||
or a work "based on" the earlier work.</p>
|
||||
<p>
|
||||
A "covered work" means either the unmodified Program or a work based on
|
||||
the Program.</p>
|
||||
<p>
|
||||
To "propagate" a work means to do anything with it that, without permission,
|
||||
would make you directly or secondarily liable for infringement under applicable
|
||||
copyright law, except executing it on a computer or modifying a private copy. Propagation
|
||||
includes copying, distribution (with or without modification), making available
|
||||
to the public, and in some countries other activities as well.</p>
|
||||
<p>
|
||||
To "convey" a work means any kind of propagation that enables other parties
|
||||
to make or receive copies. Mere interaction with a user through a computer network,
|
||||
with no transfer of a copy, is not conveying.</p>
|
||||
<p>
|
||||
An interactive user interface displays "Appropriate Legal Notices" to
|
||||
the extent that it includes a convenient and prominently visible feature that (1)
|
||||
displays an appropriate copyright notice, and (2) tells the user that there is no
|
||||
warranty for the work (except to the extent that warranties are provided), that
|
||||
licensees may convey the work under this License, and how to view a copy of this
|
||||
License. If the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.</p>
|
||||
<h4>
|
||||
<a name="section1"></a>1. Source Code.</h4>
|
||||
<p>
|
||||
The "source code" for a work means the preferred form of the work for
|
||||
making modifications to it. "Object code" means any non-source form of
|
||||
a work.</p>
|
||||
<p>
|
||||
A "Standard Interface" means an interface that either is an official standard
|
||||
defined by a recognized standards body, or, in the case of interfaces specified
|
||||
for a particular programming language, one that is widely used among developers
|
||||
working in that language.</p>
|
||||
<p>
|
||||
The "System Libraries" of an executable work include anything, other than
|
||||
the work as a whole, that (a) is included in the normal form of packaging a Major
|
||||
Component, but which is not part of that Major Component, and (b) serves only to
|
||||
enable use of the work with that Major Component, or to implement a Standard Interface
|
||||
for which an implementation is available to the public in source code form. A "Major
|
||||
Component", in this context, means a major essential component (kernel, window
|
||||
system, and so on) of the specific operating system (if any) on which the executable
|
||||
work runs, or a compiler used to produce the work, or an object code interpreter
|
||||
used to run it.</p>
|
||||
<p>
|
||||
The "Corresponding Source" for a work in object code form means all the
|
||||
source code needed to generate, install, and (for an executable work) run the object
|
||||
code and to modify the work, including scripts to control those activities. However,
|
||||
it does not include the work's System Libraries, or general-purpose tools or generally
|
||||
available free programs which are used unmodified in performing those activities
|
||||
but which are not part of the work. For example, Corresponding Source includes interface
|
||||
definition files associated with source files for the work, and the source code
|
||||
for shared libraries and dynamically linked subprograms that the work is specifically
|
||||
designed to require, such as by intimate data communication or control flow between
|
||||
those subprograms and other parts of the work.</p>
|
||||
<p>
|
||||
The Corresponding Source need not include anything that users can regenerate automatically
|
||||
from other parts of the Corresponding Source.</p>
|
||||
<p>
|
||||
The Corresponding Source for a work in source code form is that same work.</p>
|
||||
<h4>
|
||||
<a name="section2"></a>2. Basic Permissions.</h4>
|
||||
<p>
|
||||
All rights granted under this License are granted for the term of copyright on the
|
||||
Program, and are irrevocable provided the stated conditions are met. This License
|
||||
explicitly affirms your unlimited permission to run the unmodified Program. The
|
||||
output from running a covered work is covered by this License only if the output,
|
||||
given its content, constitutes a covered work. This License acknowledges your rights
|
||||
of fair use or other equivalent, as provided by copyright law.</p>
|
||||
<p>
|
||||
You may make, run and propagate covered works that you do not convey, without conditions
|
||||
so long as your license otherwise remains in force. You may convey covered works
|
||||
to others for the sole purpose of having them make modifications exclusively for
|
||||
you, or provide you with facilities for running those works, provided that you comply
|
||||
with the terms of this License in conveying all material for which you do not control
|
||||
copyright. Those thus making or running the covered works for you must do so exclusively
|
||||
on your behalf, under your direction and control, on terms that prohibit them from
|
||||
making any copies of your copyrighted material outside their relationship with you.</p>
|
||||
<p>
|
||||
Conveying under any other circumstances is permitted solely under the conditions
|
||||
stated below. Sublicensing is not allowed; section 10 makes it unnecessary.</p>
|
||||
<h4>
|
||||
<a name="section3"></a>3. Protecting Users' Legal Rights From Anti-Circumvention
|
||||
Law.</h4>
|
||||
<p>
|
||||
No covered work shall be deemed part of an effective technological measure under
|
||||
any applicable law fulfilling obligations under article 11 of the WIPO copyright
|
||||
treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention
|
||||
of such measures.</p>
|
||||
<p>
|
||||
When you convey a covered work, you waive any legal power to forbid circumvention
|
||||
of technological measures to the extent such circumvention is effected by exercising
|
||||
rights under this License with respect to the covered work, and you disclaim any
|
||||
intention to limit operation or modification of the work as a means of enforcing,
|
||||
against the work's users, your or third parties' legal rights to forbid circumvention
|
||||
of technological measures.</p>
|
||||
<h4>
|
||||
<a name="section4"></a>4. Conveying Verbatim Copies.</h4>
|
||||
<p>
|
||||
You may convey verbatim copies of the Program's source code as you receive it, in
|
||||
any medium, provided that you conspicuously and appropriately publish on each copy
|
||||
an appropriate copyright notice; keep intact all notices stating that this License
|
||||
and any non-permissive terms added in accord with section 7 apply to the code; keep
|
||||
intact all notices of the absence of any warranty; and give all recipients a copy
|
||||
of this License along with the Program.</p>
|
||||
<p>
|
||||
You may charge any price or no price for each copy that you convey, and you may
|
||||
offer support or warranty protection for a fee.</p>
|
||||
<h4>
|
||||
<a name="section5"></a>5. Conveying Modified Source Versions.</h4>
|
||||
<p>
|
||||
You may convey a work based on the Program, or the modifications to produce it from
|
||||
the Program, in the form of source code under the terms of section 4, provided that
|
||||
you also meet all of these conditions:</p>
|
||||
<ul>
|
||||
<li>a) The work must carry prominent notices stating that you modified it, and giving
|
||||
a relevant date.</li>
|
||||
<li>b) The work must carry prominent notices stating that it is released under this
|
||||
License and any conditions added under section 7. This requirement modifies the
|
||||
requirement in section 4 to "keep intact all notices".</li>
|
||||
<li>c) You must license the entire work, as a whole, under this License to anyone who
|
||||
comes into possession of a copy. This License will therefore apply, along with any
|
||||
applicable section 7 additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no permission to license
|
||||
the work in any other way, but it does not invalidate such permission if you have
|
||||
separately received it.</li>
|
||||
<li>d) If the work has interactive user interfaces, each must display Appropriate Legal
|
||||
Notices; however, if the Program has interactive interfaces that do not display
|
||||
Appropriate Legal Notices, your work need not make them do so.</li>
|
||||
</ul>
|
||||
<p>
|
||||
A compilation of a covered work with other separate and independent works, which
|
||||
are not by their nature extensions of the covered work, and which are not combined
|
||||
with it such as to form a larger program, in or on a volume of a storage or distribution
|
||||
medium, is called an "aggregate" if the compilation and its resulting
|
||||
copyright are not used to limit the access or legal rights of the compilation's
|
||||
users beyond what the individual works permit. Inclusion of a covered work in an
|
||||
aggregate does not cause this License to apply to the other parts of the aggregate.</p>
|
||||
<h4>
|
||||
<a name="section6"></a>6. Conveying Non-Source Forms.</h4>
|
||||
<p>
|
||||
You may convey a covered work in object code form under the terms of sections 4
|
||||
and 5, provided that you also convey the machine-readable Corresponding Source under
|
||||
the terms of this License, in one of these ways:</p>
|
||||
<ul>
|
||||
<li>a) Convey the object code in, or embodied in, a physical product (including a physical
|
||||
distribution medium), accompanied by the Corresponding Source fixed on a durable
|
||||
physical medium customarily used for software interchange.</li>
|
||||
<li>b) Convey the object code in, or embodied in, a physical product (including a physical
|
||||
distribution medium), accompanied by a written offer, valid for at least three years
|
||||
and valid for as long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a copy of the Corresponding
|
||||
Source for all the software in the product that is covered by this License, on a
|
||||
durable physical medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this conveying of source,
|
||||
or (2) access to copy the Corresponding Source from a network server at no charge.</li>
|
||||
<li>c) Convey individual copies of the object code with a copy of the written offer
|
||||
to provide the Corresponding Source. This alternative is allowed only occasionally
|
||||
and noncommercially, and only if you received the object code with such an offer,
|
||||
in accord with subsection 6b.</li>
|
||||
<li>d) Convey the object code by offering access from a designated place (gratis or
|
||||
for a charge), and offer equivalent access to the Corresponding Source in the same
|
||||
way through the same place at no further charge. You need not require recipients
|
||||
to copy the Corresponding Source along with the object code. If the place to copy
|
||||
the object code is a network server, the Corresponding Source may be on a different
|
||||
server (operated by you or a third party) that supports equivalent copying facilities,
|
||||
provided you maintain clear directions next to the object code saying where to find
|
||||
the Corresponding Source. Regardless of what server hosts the Corresponding Source,
|
||||
you remain obligated to ensure that it is available for as long as needed to satisfy
|
||||
these requirements.</li>
|
||||
<li>e) Convey the object code using peer-to-peer transmission, provided you inform other
|
||||
peers where the object code and Corresponding Source of the work are being offered
|
||||
to the general public at no charge under subsection 6d.</li>
|
||||
</ul>
|
||||
<p>
|
||||
A separable portion of the object code, whose source code is excluded from the Corresponding
|
||||
Source as a System Library, need not be included in conveying the object code work.</p>
|
||||
<p>
|
||||
A "User Product" is either (1) a "consumer product", which means
|
||||
any tangible personal property which is normally used for personal, family, or household
|
||||
purposes, or (2) anything designed or sold for incorporation into a dwelling. In
|
||||
determining whether a product is a consumer product, doubtful cases shall be resolved
|
||||
in favor of coverage. For a particular product received by a particular user, "normally
|
||||
used" refers to a typical or common use of that class of product, regardless
|
||||
of the status of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product is a consumer
|
||||
product regardless of whether the product has substantial commercial, industrial
|
||||
or non-consumer uses, unless such uses represent the only significant mode of use
|
||||
of the product.</p>
|
||||
<p>
|
||||
"Installation Information" for a User Product means any methods, procedures,
|
||||
authorization keys, or other information required to install and execute modified
|
||||
versions of a covered work in that User Product from a modified version of its Corresponding
|
||||
Source. The information must suffice to ensure that the continued functioning of
|
||||
the modified object code is in no case prevented or interfered with solely because
|
||||
modification has been made.</p>
|
||||
<p>
|
||||
If you convey an object code work under this section in, or with, or specifically
|
||||
for use in, a User Product, and the conveying occurs as part of a transaction in
|
||||
which the right of possession and use of the User Product is transferred to the
|
||||
recipient in perpetuity or for a fixed term (regardless of how the transaction is
|
||||
characterized), the Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply if neither
|
||||
you nor any third party retains the ability to install modified object code on the
|
||||
User Product (for example, the work has been installed in ROM).</p>
|
||||
<p>
|
||||
The requirement to provide Installation Information does not include a requirement
|
||||
to continue to provide support service, warranty, or updates for a work that has
|
||||
been modified or installed by the recipient, or for the User Product in which it
|
||||
has been modified or installed. Access to a network may be denied when the modification
|
||||
itself materially and adversely affects the operation of the network or violates
|
||||
the rules and protocols for communication across the network.</p>
|
||||
<p>
|
||||
Corresponding Source conveyed, and Installation Information provided, in accord
|
||||
with this section must be in a format that is publicly documented (and with an implementation
|
||||
available to the public in source code form), and must require no special password
|
||||
or key for unpacking, reading or copying.</p>
|
||||
<h4>
|
||||
<a name="section7"></a>7. Additional Terms.</h4>
|
||||
<p>
|
||||
"Additional permissions" are terms that supplement the terms of this License
|
||||
by making exceptions from one or more of its conditions. Additional permissions
|
||||
that are applicable to the entire Program shall be treated as though they were included
|
||||
in this License, to the extent that they are valid under applicable law. If additional
|
||||
permissions apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by this License
|
||||
without regard to the additional permissions.</p>
|
||||
<p>
|
||||
When you convey a copy of a covered work, you may at your option remove any additional
|
||||
permissions from that copy, or from any part of it. (Additional permissions may
|
||||
be written to require their own removal in certain cases when you modify the work.)
|
||||
You may place additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.</p>
|
||||
<p>
|
||||
Notwithstanding any other provision of this License, for material you add to a covered
|
||||
work, you may (if authorized by the copyright holders of that material) supplement
|
||||
the terms of this License with terms:</p>
|
||||
<ul>
|
||||
<li>a) Disclaiming warranty or limiting liability differently from the terms of sections
|
||||
15 and 16 of this License; or</li>
|
||||
<li>b) Requiring preservation of specified reasonable legal notices or author attributions
|
||||
in that material or in the Appropriate Legal Notices displayed by works containing
|
||||
it; or</li>
|
||||
<li>c) Prohibiting misrepresentation of the origin of that material, or requiring that
|
||||
modified versions of such material be marked in reasonable ways as different from
|
||||
the original version; or</li>
|
||||
<li>d) Limiting the use for publicity purposes of names of licensors or authors of the
|
||||
material; or</li>
|
||||
<li>e) Declining to grant rights under trademark law for use of some trade names, trademarks,
|
||||
or service marks; or</li>
|
||||
<li>f) Requiring indemnification of licensors and authors of that material by anyone
|
||||
who conveys the material (or modified versions of it) with contractual assumptions
|
||||
of liability to the recipient, for any liability that these contractual assumptions
|
||||
directly impose on those licensors and authors.</li>
|
||||
</ul>
|
||||
<p>
|
||||
All other non-permissive additional terms are considered "further restrictions"
|
||||
within the meaning of section 10. If the Program as you received it, or any part
|
||||
of it, contains a notice stating that it is governed by this License along with
|
||||
a term that is a further restriction, you may remove that term. If a license document
|
||||
contains a further restriction but permits relicensing or conveying under this License,
|
||||
you may add to a covered work material governed by the terms of that license document,
|
||||
provided that the further restriction does not survive such relicensing or conveying.</p>
|
||||
<p>
|
||||
If you add terms to a covered work in accord with this section, you must place,
|
||||
in the relevant source files, a statement of the additional terms that apply to
|
||||
those files, or a notice indicating where to find the applicable terms.</p>
|
||||
<p>
|
||||
Additional terms, permissive or non-permissive, may be stated in the form of a separately
|
||||
written license, or stated as exceptions; the above requirements apply either way.</p>
|
||||
<h4>
|
||||
<a name="section8"></a>8. Termination.</h4>
|
||||
<p>
|
||||
You may not propagate or modify a covered work except as expressly provided under
|
||||
this License. Any attempt otherwise to propagate or modify it is void, and will
|
||||
automatically terminate your rights under this License (including any patent licenses
|
||||
granted under the third paragraph of section 11).</p>
|
||||
<p>
|
||||
However, if you cease all violation of this License, then your license from a particular
|
||||
copyright holder is reinstated (a) provisionally, unless and until the copyright
|
||||
holder explicitly and finally terminates your license, and (b) permanently, if the
|
||||
copyright holder fails to notify you of the violation by some reasonable means prior
|
||||
to 60 days after the cessation.</p>
|
||||
<p>
|
||||
Moreover, your license from a particular copyright holder is reinstated permanently
|
||||
if the copyright holder notifies you of the violation by some reasonable means,
|
||||
this is the first time you have received notice of violation of this License (for
|
||||
any work) from that copyright holder, and you cure the violation prior to 30 days
|
||||
after your receipt of the notice.</p>
|
||||
<p>
|
||||
Termination of your rights under this section does not terminate the licenses of
|
||||
parties who have received copies or rights from you under this License. If your
|
||||
rights have been terminated and not permanently reinstated, you do not qualify to
|
||||
receive new licenses for the same material under section 10.</p>
|
||||
<h4>
|
||||
<a name="section9"></a>9. Acceptance Not Required for Having Copies.</h4>
|
||||
<p>
|
||||
You are not required to accept this License in order to receive or run a copy of
|
||||
the Program. Ancillary propagation of a covered work occurring solely as a consequence
|
||||
of using peer-to-peer transmission to receive a copy likewise does not require acceptance.
|
||||
However, nothing other than this License grants you permission to propagate or modify
|
||||
any covered work. These actions infringe copyright if you do not accept this License.
|
||||
Therefore, by modifying or propagating a covered work, you indicate your acceptance
|
||||
of this License to do so.</p>
|
||||
<h4>
|
||||
<a name="section10"></a>10. Automatic Licensing of Downstream Recipients.</h4>
|
||||
<p>
|
||||
Each time you convey a covered work, the recipient automatically receives a license
|
||||
from the original licensors, to run, modify and propagate that work, subject to
|
||||
this License. You are not responsible for enforcing compliance by third parties
|
||||
with this License.</p>
|
||||
<p>
|
||||
An "entity transaction" is a transaction transferring control of an organization,
|
||||
or substantially all assets of one, or subdividing an organization, or merging organizations.
|
||||
If propagation of a covered work results from an entity transaction, each party
|
||||
to that transaction who receives a copy of the work also receives whatever licenses
|
||||
to the work the party's predecessor in interest had or could give under the previous
|
||||
paragraph, plus a right to possession of the Corresponding Source of the work from
|
||||
the predecessor in interest, if the predecessor has it or can get it with reasonable
|
||||
efforts.</p>
|
||||
<p>
|
||||
You may not impose any further restrictions on the exercise of the rights granted
|
||||
or affirmed under this License. For example, you may not impose a license fee, royalty,
|
||||
or other charge for exercise of rights granted under this License, and you may not
|
||||
initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging
|
||||
that any patent claim is infringed by making, using, selling, offering for sale,
|
||||
or importing the Program or any portion of it.</p>
|
||||
<h4>
|
||||
<a name="section11"></a>11. Patents.</h4>
|
||||
<p>
|
||||
A "contributor" is a copyright holder who authorizes use under this License
|
||||
of the Program or a work on which the Program is based. The work thus licensed is
|
||||
called the contributor's "contributor version".</p>
|
||||
<p>
|
||||
A contributor's "essential patent claims" are all patent claims owned
|
||||
or controlled by the contributor, whether already acquired or hereafter acquired,
|
||||
that would be infringed by some manner, permitted by this License, of making, using,
|
||||
or selling its contributor version, but do not include claims that would be infringed
|
||||
only as a consequence of further modification of the contributor version. For purposes
|
||||
of this definition, "control" includes the right to grant patent sublicenses
|
||||
in a manner consistent with the requirements of this License.</p>
|
||||
<p>
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license
|
||||
under the contributor's essential patent claims, to make, use, sell, offer for sale,
|
||||
import and otherwise run, modify and propagate the contents of its contributor version.</p>
|
||||
<p>
|
||||
In the following three paragraphs, a "patent license" is any express agreement
|
||||
or commitment, however denominated, not to enforce a patent (such as an express
|
||||
permission to practice a patent or covenant not to sue for patent infringement).
|
||||
To "grant" such a patent license to a party means to make such an agreement
|
||||
or commitment not to enforce a patent against the party.</p>
|
||||
<p>
|
||||
If you convey a covered work, knowingly relying on a patent license, and the Corresponding
|
||||
Source of the work is not available for anyone to copy, free of charge and under
|
||||
the terms of this License, through a publicly available network server or other
|
||||
readily accessible means, then you must either (1) cause the Corresponding Source
|
||||
to be so available, or (2) arrange to deprive yourself of the benefit of the patent
|
||||
license for this particular work, or (3) arrange, in a manner consistent with the
|
||||
requirements of this License, to extend the patent license to downstream recipients.
|
||||
"Knowingly relying" means you have actual knowledge that, but for the
|
||||
patent license, your conveying the covered work in a country, or your recipient's
|
||||
use of the covered work in a country, would infringe one or more identifiable patents
|
||||
in that country that you have reason to believe are valid.</p>
|
||||
<p>
|
||||
If, pursuant to or in connection with a single transaction or arrangement, you convey,
|
||||
or propagate by procuring conveyance of, a covered work, and grant a patent license
|
||||
to some of the parties receiving the covered work authorizing them to use, propagate,
|
||||
modify or convey a specific copy of the covered work, then the patent license you
|
||||
grant is automatically extended to all recipients of the covered work and works
|
||||
based on it.</p>
|
||||
<p>
|
||||
A patent license is "discriminatory" if it does not include within the
|
||||
scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise
|
||||
of one or more of the rights that are specifically granted under this License. You
|
||||
may not convey a covered work if you are a party to an arrangement with a third
|
||||
party that is in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying the work, and
|
||||
under which the third party grants, to any of the parties who would receive the
|
||||
covered work from you, a discriminatory patent license (a) in connection with copies
|
||||
of the covered work conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that contain the covered
|
||||
work, unless you entered into that arrangement, or that patent license was granted,
|
||||
prior to 28 March 2007.</p>
|
||||
<p>
|
||||
Nothing in this License shall be construed as excluding or limiting any implied
|
||||
license or other defenses to infringement that may otherwise be available to you
|
||||
under applicable patent law.</p>
|
||||
<h4>
|
||||
<a name="section12"></a>12. No Surrender of Others' Freedom.</h4>
|
||||
<p>
|
||||
If conditions are imposed on you (whether by court order, agreement or otherwise)
|
||||
that contradict the conditions of this License, they do not excuse you from the
|
||||
conditions of this License. If you cannot convey a covered work so as to satisfy
|
||||
simultaneously your obligations under this License and any other pertinent obligations,
|
||||
then as a consequence you may not convey it at all. For example, if you agree to
|
||||
terms that obligate you to collect a royalty for further conveying from those to
|
||||
whom you convey the Program, the only way you could satisfy both those terms and
|
||||
this License would be to refrain entirely from conveying the Program.</p>
|
||||
<h4>
|
||||
<a name="section13"></a>13. Remote Network Interaction; Use with the GNU General
|
||||
Public License.</h4>
|
||||
<p>
|
||||
Notwithstanding any other provision of this License, if you modify the Program,
|
||||
your modified version must prominently offer all users interacting with it remotely
|
||||
through a computer network (if your version supports such interaction) an opportunity
|
||||
to receive the Corresponding Source of your version by providing access to the Corresponding
|
||||
Source from a network server at no charge, through some standard or customary means
|
||||
of facilitating copying of software. This Corresponding Source shall include the
|
||||
Corresponding Source for any work covered by version 3 of the GNU General Public
|
||||
License that is incorporated pursuant to the following paragraph.</p>
|
||||
<p>
|
||||
Notwithstanding any other provision of this License, you have permission to link
|
||||
or combine any covered work with a work licensed under version 3 of the GNU General
|
||||
Public License into a single combined work, and to convey the resulting work. The
|
||||
terms of this License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version 3 of the
|
||||
GNU General Public License.</p>
|
||||
<h4>
|
||||
<a name="section14"></a>14. Revised Versions of this License.</h4>
|
||||
<p>
|
||||
The Free Software Foundation may publish revised and/or new versions of the GNU
|
||||
Affero General Public License from time to time. Such new versions will be similar
|
||||
in spirit to the present version, but may differ in detail to address new problems
|
||||
or concerns.</p>
|
||||
<p>
|
||||
Each version is given a distinguishing version number. If the Program specifies
|
||||
that a certain numbered version of the GNU Affero General Public License "or
|
||||
any later version" applies to it, you have the option of following the terms
|
||||
and conditions either of that numbered version or of any later version published
|
||||
by the Free Software Foundation. If the Program does not specify a version number
|
||||
of the GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.</p>
|
||||
<p>
|
||||
If the Program specifies that a proxy can decide which future versions of the GNU
|
||||
Affero General Public License can be used, that proxy's public statement of acceptance
|
||||
of a version permanently authorizes you to choose that version for the Program.</p>
|
||||
<p>
|
||||
Later license versions may give you additional or different permissions. However,
|
||||
no additional obligations are imposed on any author or copyright holder as a result
|
||||
of your choosing to follow a later version.</p>
|
||||
<h4>
|
||||
<a name="section15"></a>15. Disclaimer of Warranty.</h4>
|
||||
<p>
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
|
||||
OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST
|
||||
OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>
|
||||
<h4>
|
||||
<a name="section16"></a>16. Limitation of Liability.</h4>
|
||||
<p>
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT
|
||||
HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED
|
||||
ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
|
||||
OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
|
||||
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
|
||||
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
|
||||
WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGES.</p>
|
||||
<h4>
|
||||
<a name="section17"></a>17. Interpretation of Sections 15 and 16.</h4>
|
||||
<p>
|
||||
If the disclaimer of warranty and limitation of liability provided above cannot
|
||||
be given local legal effect according to their terms, reviewing courts shall apply
|
||||
local law that most closely approximates an absolute waiver of all civil liability
|
||||
in connection with the Program, unless a warranty or assumption of liability accompanies
|
||||
a copy of the Program in return for a fee.</p>
|
||||
</div>
|
||||
@@ -0,0 +1,622 @@
|
||||
#pragma warning disable 1591
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Disco.Web.Areas.Public.Views.Public
|
||||
{
|
||||
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.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Web;
|
||||
using Disco.Web.Extensions;
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Public/Views/Public/Licence.cshtml")]
|
||||
public class Licence : System.Web.Mvc.WebViewPage<dynamic>
|
||||
{
|
||||
public Licence()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 1 "..\..\Areas\Public\Views\Public\Licence.cshtml"
|
||||
|
||||
ViewBag.Title = "Licence";
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"licence\"");
|
||||
|
||||
WriteLiteral(">\r\n<h3");
|
||||
|
||||
WriteLiteral(" style=\"text-align: center;\"");
|
||||
|
||||
WriteLiteral(">\r\n GNU AFFERO GENERAL PUBLIC LICENSE</h3>\r\n<p");
|
||||
|
||||
WriteLiteral(" style=\"text-align: center;\"");
|
||||
|
||||
WriteLiteral(">\r\n Version 3, 19 November 2007</p>\r\n<p>\r\n Copyright © 2007 Free Softw" +
|
||||
"are Foundation, Inc. <<a");
|
||||
|
||||
WriteLiteral(" href=\"http://fsf.org/\"");
|
||||
|
||||
WriteLiteral(">http://fsf.org/</a>>\r\n <br />\r\n Everyone is permitted to copy and distr" +
|
||||
"ibute verbatim copies of this license document,\r\n but changing it is not allo" +
|
||||
"wed.</p>\r\n<h3>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"preamble\"");
|
||||
|
||||
WriteLiteral("></a>Preamble</h3>\r\n<p>\r\n The GNU Affero General Public License is a free, cop" +
|
||||
"yleft license for software and\r\n other kinds of works, specifically designed " +
|
||||
"to ensure cooperation with the community\r\n in the case of network server soft" +
|
||||
"ware.</p>\r\n<p>\r\n The licenses for most software and other practical works are" +
|
||||
" designed to take away\r\n your freedom to share and change the works. By contr" +
|
||||
"ast, our General Public Licenses\r\n are intended to guarantee your freedom to " +
|
||||
"share and change all versions of a program--to\r\n make sure it remains free so" +
|
||||
"ftware for all its users.</p>\r\n<p>\r\n When we speak of free software, we are r" +
|
||||
"eferring to freedom, not price. Our General\r\n Public Licenses are designed to" +
|
||||
" make sure that you have the freedom to distribute\r\n copies of free software " +
|
||||
"(and charge for them if you wish), that you receive source\r\n code or can get " +
|
||||
"it if you want it, that you can change the software or use pieces\r\n of it in " +
|
||||
"new free programs, and that you know you can do these things.</p>\r\n<p>\r\n Deve" +
|
||||
"lopers that use our General Public Licenses protect your rights with two steps:\r" +
|
||||
"\n (1) assert copyright on the software, and (2) offer you this License which " +
|
||||
"gives\r\n you legal permission to copy, distribute and/or modify the software.<" +
|
||||
"/p>\r\n<p>\r\n A secondary benefit of defending all users\' freedom is that improv" +
|
||||
"ements made in\r\n alternate versions of the program, if they receive widesprea" +
|
||||
"d use, become available\r\n for other developers to incorporate. Many developer" +
|
||||
"s of free software are heartened\r\n and encouraged by the resulting cooperatio" +
|
||||
"n. However, in the case of software used\r\n on network servers, this result ma" +
|
||||
"y fail to come about. The GNU General Public License\r\n permits making a modif" +
|
||||
"ied version and letting the public access it on a server without\r\n ever relea" +
|
||||
"sing its source code to the public.</p>\r\n<p>\r\n The GNU Affero General Public " +
|
||||
"License is designed specifically to ensure that, in\r\n such cases, the modifie" +
|
||||
"d source code becomes available to the community. It requires\r\n the operator " +
|
||||
"of a network server to provide the source code of the modified version\r\n runn" +
|
||||
"ing there to the users of that server. Therefore, public use of a modified versi" +
|
||||
"on,\r\n on a publicly accessible server, gives the public access to the source " +
|
||||
"code of the\r\n modified version.</p>\r\n<p>\r\n An older license, called the Af" +
|
||||
"fero General Public License and published by Affero,\r\n was designed to accomp" +
|
||||
"lish similar goals. This is a different license, not a version\r\n of the Affer" +
|
||||
"o GPL, but Affero has released a new version of the Affero GPL which\r\n permit" +
|
||||
"s relicensing under this license.</p>\r\n<p>\r\n The precise terms and conditions" +
|
||||
" for copying, distribution and modification follow.</p>\r\n<h3>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"terms\"");
|
||||
|
||||
WriteLiteral("></a>TERMS AND CONDITIONS</h3>\r\n<h4>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"section0\"");
|
||||
|
||||
WriteLiteral("></a>0. Definitions.</h4>\r\n<p>\r\n "This License" refers to version 3 " +
|
||||
"of the GNU Affero General Public License.</p>\r\n<p>\r\n "Copyright" al" +
|
||||
"so means copyright-like laws that apply to other kinds of\r\n works, such as se" +
|
||||
"miconductor masks.</p>\r\n<p>\r\n "The Program" refers to any copyright" +
|
||||
"able work licensed under this License.\r\n Each licensee is addressed as "" +
|
||||
"you". "Licensees" and "recipients"\r\n may be individu" +
|
||||
"als or organizations.</p>\r\n<p>\r\n To "modify" a work means to copy f" +
|
||||
"rom or adapt all or part of the work\r\n in a fashion requiring copyright permi" +
|
||||
"ssion, other than the making of an exact copy.\r\n The resulting work is called" +
|
||||
" a "modified version" of the earlier work\r\n or a work "based o" +
|
||||
"n" the earlier work.</p>\r\n<p>\r\n A "covered work" means either " +
|
||||
"the unmodified Program or a work based on\r\n the Program.</p>\r\n<p>\r\n To &qu" +
|
||||
"ot;propagate" a work means to do anything with it that, without permission," +
|
||||
"\r\n would make you directly or secondarily liable for infringement under appli" +
|
||||
"cable\r\n copyright law, except executing it on a computer or modifying a priva" +
|
||||
"te copy. Propagation\r\n includes copying, distribution (with or without modifi" +
|
||||
"cation), making available\r\n to the public, and in some countries other activi" +
|
||||
"ties as well.</p>\r\n<p>\r\n To "convey" a work means any kind of propa" +
|
||||
"gation that enables other parties\r\n to make or receive copies. Mere interacti" +
|
||||
"on with a user through a computer network,\r\n with no transfer of a copy, is n" +
|
||||
"ot conveying.</p>\r\n<p>\r\n An interactive user interface displays "Appropr" +
|
||||
"iate Legal Notices" to\r\n the extent that it includes a convenient and pr" +
|
||||
"ominently visible feature that (1)\r\n displays an appropriate copyright notice" +
|
||||
", and (2) tells the user that there is no\r\n warranty for the work (except to " +
|
||||
"the extent that warranties are provided), that\r\n licensees may convey the wor" +
|
||||
"k under this License, and how to view a copy of this\r\n License. If the interf" +
|
||||
"ace presents a list of user commands or options, such as a\r\n menu, a prominen" +
|
||||
"t item in the list meets this criterion.</p>\r\n<h4>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"section1\"");
|
||||
|
||||
WriteLiteral("></a>1. Source Code.</h4>\r\n<p>\r\n The "source code" for a work means " +
|
||||
"the preferred form of the work for\r\n making modifications to it. "Object" +
|
||||
" code" means any non-source form of\r\n a work.</p>\r\n<p>\r\n A "Stan" +
|
||||
"dard Interface" means an interface that either is an official standard\r\n " +
|
||||
" defined by a recognized standards body, or, in the case of interfaces specified" +
|
||||
"\r\n for a particular programming language, one that is widely used among devel" +
|
||||
"opers\r\n working in that language.</p>\r\n<p>\r\n The "System Libraries&qu" +
|
||||
"ot; of an executable work include anything, other than\r\n the work as a whole," +
|
||||
" that (a) is included in the normal form of packaging a Major\r\n Component, bu" +
|
||||
"t which is not part of that Major Component, and (b) serves only to\r\n enable " +
|
||||
"use of the work with that Major Component, or to implement a Standard Interface\r" +
|
||||
"\n for which an implementation is available to the public in source code form." +
|
||||
" A "Major\r\n Component", in this context, means a major essential co" +
|
||||
"mponent (kernel, window\r\n system, and so on) of the specific operating system" +
|
||||
" (if any) on which the executable\r\n work runs, or a compiler used to produce " +
|
||||
"the work, or an object code interpreter\r\n used to run it.</p>\r\n<p>\r\n The &" +
|
||||
"quot;Corresponding Source" for a work in object code form means all the\r\n " +
|
||||
" source code needed to generate, install, and (for an executable work) run the " +
|
||||
"object\r\n code and to modify the work, including scripts to control those acti" +
|
||||
"vities. However,\r\n it does not include the work\'s System Libraries, or genera" +
|
||||
"l-purpose tools or generally\r\n available free programs which are used unmodif" +
|
||||
"ied in performing those activities\r\n but which are not part of the work. For " +
|
||||
"example, Corresponding Source includes interface\r\n definition files associate" +
|
||||
"d with source files for the work, and the source code\r\n for shared libraries " +
|
||||
"and dynamically linked subprograms that the work is specifically\r\n designed t" +
|
||||
"o require, such as by intimate data communication or control flow between\r\n t" +
|
||||
"hose subprograms and other parts of the work.</p>\r\n<p>\r\n The Corresponding So" +
|
||||
"urce need not include anything that users can regenerate automatically\r\n from" +
|
||||
" other parts of the Corresponding Source.</p>\r\n<p>\r\n The Corresponding Source" +
|
||||
" for a work in source code form is that same work.</p>\r\n<h4>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"section2\"");
|
||||
|
||||
WriteLiteral(@"></a>2. Basic Permissions.</h4>
|
||||
<p>
|
||||
All rights granted under this License are granted for the term of copyright on the
|
||||
Program, and are irrevocable provided the stated conditions are met. This License
|
||||
explicitly affirms your unlimited permission to run the unmodified Program. The
|
||||
output from running a covered work is covered by this License only if the output,
|
||||
given its content, constitutes a covered work. This License acknowledges your rights
|
||||
of fair use or other equivalent, as provided by copyright law.</p>
|
||||
<p>
|
||||
You may make, run and propagate covered works that you do not convey, without conditions
|
||||
so long as your license otherwise remains in force. You may convey covered works
|
||||
to others for the sole purpose of having them make modifications exclusively for
|
||||
you, or provide you with facilities for running those works, provided that you comply
|
||||
with the terms of this License in conveying all material for which you do not control
|
||||
copyright. Those thus making or running the covered works for you must do so exclusively
|
||||
on your behalf, under your direction and control, on terms that prohibit them from
|
||||
making any copies of your copyrighted material outside their relationship with you.</p>
|
||||
<p>
|
||||
Conveying under any other circumstances is permitted solely under the conditions
|
||||
stated below. Sublicensing is not allowed; section 10 makes it unnecessary.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section3\"");
|
||||
|
||||
WriteLiteral(@"></a>3. Protecting Users' Legal Rights From Anti-Circumvention
|
||||
Law.</h4>
|
||||
<p>
|
||||
No covered work shall be deemed part of an effective technological measure under
|
||||
any applicable law fulfilling obligations under article 11 of the WIPO copyright
|
||||
treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention
|
||||
of such measures.</p>
|
||||
<p>
|
||||
When you convey a covered work, you waive any legal power to forbid circumvention
|
||||
of technological measures to the extent such circumvention is effected by exercising
|
||||
rights under this License with respect to the covered work, and you disclaim any
|
||||
intention to limit operation or modification of the work as a means of enforcing,
|
||||
against the work's users, your or third parties' legal rights to forbid circumvention
|
||||
of technological measures.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section4\"");
|
||||
|
||||
WriteLiteral(@"></a>4. Conveying Verbatim Copies.</h4>
|
||||
<p>
|
||||
You may convey verbatim copies of the Program's source code as you receive it, in
|
||||
any medium, provided that you conspicuously and appropriately publish on each copy
|
||||
an appropriate copyright notice; keep intact all notices stating that this License
|
||||
and any non-permissive terms added in accord with section 7 apply to the code; keep
|
||||
intact all notices of the absence of any warranty; and give all recipients a copy
|
||||
of this License along with the Program.</p>
|
||||
<p>
|
||||
You may charge any price or no price for each copy that you convey, and you may
|
||||
offer support or warranty protection for a fee.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section5\"");
|
||||
|
||||
WriteLiteral("></a>5. Conveying Modified Source Versions.</h4>\r\n<p>\r\n You may convey a work " +
|
||||
"based on the Program, or the modifications to produce it from\r\n the Program, " +
|
||||
"in the form of source code under the terms of section 4, provided that\r\n you " +
|
||||
"also meet all of these conditions:</p>\r\n<ul>\r\n <li>a) The work must carry pro" +
|
||||
"minent notices stating that you modified it, and giving\r\n a relevant date" +
|
||||
".</li>\r\n <li>b) The work must carry prominent notices stating that it is rele" +
|
||||
"ased under this\r\n License and any conditions added under section 7. This " +
|
||||
"requirement modifies the\r\n requirement in section 4 to "keep intact " +
|
||||
"all notices".</li>\r\n <li>c) You must license the entire work, as a whole" +
|
||||
", under this License to anyone who\r\n comes into possession of a copy. Thi" +
|
||||
"s License will therefore apply, along with any\r\n applicable section 7 add" +
|
||||
"itional terms, to the whole of the work, and all its parts,\r\n regardless " +
|
||||
"of how they are packaged. This License gives no permission to license\r\n t" +
|
||||
"he work in any other way, but it does not invalidate such permission if you have" +
|
||||
"\r\n separately received it.</li>\r\n <li>d) If the work has interactive u" +
|
||||
"ser interfaces, each must display Appropriate Legal\r\n Notices; however, i" +
|
||||
"f the Program has interactive interfaces that do not display\r\n Appropriat" +
|
||||
"e Legal Notices, your work need not make them do so.</li>\r\n</ul>\r\n<p>\r\n A com" +
|
||||
"pilation of a covered work with other separate and independent works, which\r\n " +
|
||||
" are not by their nature extensions of the covered work, and which are not combi" +
|
||||
"ned\r\n with it such as to form a larger program, in or on a volume of a storag" +
|
||||
"e or distribution\r\n medium, is called an "aggregate" if the compila" +
|
||||
"tion and its resulting\r\n copyright are not used to limit the access or legal " +
|
||||
"rights of the compilation\'s\r\n users beyond what the individual works permit. " +
|
||||
"Inclusion of a covered work in an\r\n aggregate does not cause this License to " +
|
||||
"apply to the other parts of the aggregate.</p>\r\n<h4>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"section6\"");
|
||||
|
||||
WriteLiteral("></a>6. Conveying Non-Source Forms.</h4>\r\n<p>\r\n You may convey a covered work " +
|
||||
"in object code form under the terms of sections 4\r\n and 5, provided that you " +
|
||||
"also convey the machine-readable Corresponding Source under\r\n the terms of th" +
|
||||
"is License, in one of these ways:</p>\r\n<ul>\r\n <li>a) Convey the object code i" +
|
||||
"n, or embodied in, a physical product (including a physical\r\n distributio" +
|
||||
"n medium), accompanied by the Corresponding Source fixed on a durable\r\n p" +
|
||||
"hysical medium customarily used for software interchange.</li>\r\n <li>b) Conve" +
|
||||
"y the object code in, or embodied in, a physical product (including a physical\r\n" +
|
||||
" distribution medium), accompanied by a written offer, valid for at least" +
|
||||
" three years\r\n and valid for as long as you offer spare parts or customer" +
|
||||
" support for that product\r\n model, to give anyone who possesses the objec" +
|
||||
"t code either (1) a copy of the Corresponding\r\n Source for all the softwa" +
|
||||
"re in the product that is covered by this License, on a\r\n durable physica" +
|
||||
"l medium customarily used for software interchange, for a price no\r\n more" +
|
||||
" than your reasonable cost of physically performing this conveying of source,\r\n " +
|
||||
" or (2) access to copy the Corresponding Source from a network server at n" +
|
||||
"o charge.</li>\r\n <li>c) Convey individual copies of the object code with a co" +
|
||||
"py of the written offer\r\n to provide the Corresponding Source. This alter" +
|
||||
"native is allowed only occasionally\r\n and noncommercially, and only if yo" +
|
||||
"u received the object code with such an offer,\r\n in accord with subsectio" +
|
||||
"n 6b.</li>\r\n <li>d) Convey the object code by offering access from a designat" +
|
||||
"ed place (gratis or\r\n for a charge), and offer equivalent access to the C" +
|
||||
"orresponding Source in the same\r\n way through the same place at no furthe" +
|
||||
"r charge. You need not require recipients\r\n to copy the Corresponding Sou" +
|
||||
"rce along with the object code. If the place to copy\r\n the object code is" +
|
||||
" a network server, the Corresponding Source may be on a different\r\n serve" +
|
||||
"r (operated by you or a third party) that supports equivalent copying facilities" +
|
||||
",\r\n provided you maintain clear directions next to the object code saying" +
|
||||
" where to find\r\n the Corresponding Source. Regardless of what server host" +
|
||||
"s the Corresponding Source,\r\n you remain obligated to ensure that it is a" +
|
||||
"vailable for as long as needed to satisfy\r\n these requirements.</li>\r\n " +
|
||||
" <li>e) Convey the object code using peer-to-peer transmission, provided you inf" +
|
||||
"orm other\r\n peers where the object code and Corresponding Source of the w" +
|
||||
"ork are being offered\r\n to the general public at no charge under subsecti" +
|
||||
"on 6d.</li>\r\n</ul>\r\n<p>\r\n A separable portion of the object code, whose sourc" +
|
||||
"e code is excluded from the Corresponding\r\n Source as a System Library, need " +
|
||||
"not be included in conveying the object code work.</p>\r\n<p>\r\n A "User Pr" +
|
||||
"oduct" is either (1) a "consumer product", which means\r\n any t" +
|
||||
"angible personal property which is normally used for personal, family, or househ" +
|
||||
"old\r\n purposes, or (2) anything designed or sold for incorporation into a dwe" +
|
||||
"lling. In\r\n determining whether a product is a consumer product, doubtful cas" +
|
||||
"es shall be resolved\r\n in favor of coverage. For a particular product receive" +
|
||||
"d by a particular user, "normally\r\n used" refers to a typical or co" +
|
||||
"mmon use of that class of product, regardless\r\n of the status of the particul" +
|
||||
"ar user or of the way in which the particular user\r\n actually uses, or expect" +
|
||||
"s or is expected to use, the product. A product is a consumer\r\n product regar" +
|
||||
"dless of whether the product has substantial commercial, industrial\r\n or non-" +
|
||||
"consumer uses, unless such uses represent the only significant mode of use\r\n " +
|
||||
"of the product.</p>\r\n<p>\r\n "Installation Information" for a User Pr" +
|
||||
"oduct means any methods, procedures,\r\n authorization keys, or other informati" +
|
||||
"on required to install and execute modified\r\n versions of a covered work in t" +
|
||||
"hat User Product from a modified version of its Corresponding\r\n Source. The i" +
|
||||
"nformation must suffice to ensure that the continued functioning of\r\n the mod" +
|
||||
"ified object code is in no case prevented or interfered with solely because\r\n " +
|
||||
" modification has been made.</p>\r\n<p>\r\n If you convey an object code work und" +
|
||||
"er this section in, or with, or specifically\r\n for use in, a User Product, an" +
|
||||
"d the conveying occurs as part of a transaction in\r\n which the right of posse" +
|
||||
"ssion and use of the User Product is transferred to the\r\n recipient in perpet" +
|
||||
"uity or for a fixed term (regardless of how the transaction is\r\n characterize" +
|
||||
"d), the Corresponding Source conveyed under this section must be accompanied\r\n " +
|
||||
" by the Installation Information. But this requirement does not apply if neithe" +
|
||||
"r\r\n you nor any third party retains the ability to install modified object co" +
|
||||
"de on the\r\n User Product (for example, the work has been installed in ROM).</" +
|
||||
"p>\r\n<p>\r\n The requirement to provide Installation Information does not includ" +
|
||||
"e a requirement\r\n to continue to provide support service, warranty, or update" +
|
||||
"s for a work that has\r\n been modified or installed by the recipient, or for t" +
|
||||
"he User Product in which it\r\n has been modified or installed. Access to a net" +
|
||||
"work may be denied when the modification\r\n itself materially and adversely af" +
|
||||
"fects the operation of the network or violates\r\n the rules and protocols for " +
|
||||
"communication across the network.</p>\r\n<p>\r\n Corresponding Source conveyed, a" +
|
||||
"nd Installation Information provided, in accord\r\n with this section must be i" +
|
||||
"n a format that is publicly documented (and with an implementation\r\n availabl" +
|
||||
"e to the public in source code form), and must require no special password\r\n " +
|
||||
"or key for unpacking, reading or copying.</p>\r\n<h4>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"section7\"");
|
||||
|
||||
WriteLiteral("></a>7. Additional Terms.</h4>\r\n<p>\r\n "Additional permissions" are t" +
|
||||
"erms that supplement the terms of this License\r\n by making exceptions from on" +
|
||||
"e or more of its conditions. Additional permissions\r\n that are applicable to " +
|
||||
"the entire Program shall be treated as though they were included\r\n in this Li" +
|
||||
"cense, to the extent that they are valid under applicable law. If additional\r\n " +
|
||||
" permissions apply only to part of the Program, that part may be used separatel" +
|
||||
"y\r\n under those permissions, but the entire Program remains governed by this " +
|
||||
"License\r\n without regard to the additional permissions.</p>\r\n<p>\r\n When yo" +
|
||||
"u convey a copy of a covered work, you may at your option remove any additional\r" +
|
||||
"\n permissions from that copy, or from any part of it. (Additional permissions" +
|
||||
" may\r\n be written to require their own removal in certain cases when you modi" +
|
||||
"fy the work.)\r\n You may place additional permissions on material, added by yo" +
|
||||
"u to a covered work,\r\n for which you have or can give appropriate copyright p" +
|
||||
"ermission.</p>\r\n<p>\r\n Notwithstanding any other provision of this License, fo" +
|
||||
"r material you add to a covered\r\n work, you may (if authorized by the copyrig" +
|
||||
"ht holders of that material) supplement\r\n the terms of this License with term" +
|
||||
"s:</p>\r\n<ul>\r\n <li>a) Disclaiming warranty or limiting liability differently " +
|
||||
"from the terms of sections\r\n 15 and 16 of this License; or</li>\r\n <li>" +
|
||||
"b) Requiring preservation of specified reasonable legal notices or author attrib" +
|
||||
"utions\r\n in that material or in the Appropriate Legal Notices displayed b" +
|
||||
"y works containing\r\n it; or</li>\r\n <li>c) Prohibiting misrepresentatio" +
|
||||
"n of the origin of that material, or requiring that\r\n modified versions o" +
|
||||
"f such material be marked in reasonable ways as different from\r\n the orig" +
|
||||
"inal version; or</li>\r\n <li>d) Limiting the use for publicity purposes of nam" +
|
||||
"es of licensors or authors of the\r\n material; or</li>\r\n <li>e) Declini" +
|
||||
"ng to grant rights under trademark law for use of some trade names, trademarks,\r" +
|
||||
"\n or service marks; or</li>\r\n <li>f) Requiring indemnification of lice" +
|
||||
"nsors and authors of that material by anyone\r\n who conveys the material (" +
|
||||
"or modified versions of it) with contractual assumptions\r\n of liability t" +
|
||||
"o the recipient, for any liability that these contractual assumptions\r\n d" +
|
||||
"irectly impose on those licensors and authors.</li>\r\n</ul>\r\n<p>\r\n All other n" +
|
||||
"on-permissive additional terms are considered "further restrictions"\r\n" +
|
||||
" within the meaning of section 10. If the Program as you received it, or any " +
|
||||
"part\r\n of it, contains a notice stating that it is governed by this License a" +
|
||||
"long with\r\n a term that is a further restriction, you may remove that term. I" +
|
||||
"f a license document\r\n contains a further restriction but permits relicensing" +
|
||||
" or conveying under this License,\r\n you may add to a covered work material go" +
|
||||
"verned by the terms of that license document,\r\n provided that the further res" +
|
||||
"triction does not survive such relicensing or conveying.</p>\r\n<p>\r\n If you ad" +
|
||||
"d terms to a covered work in accord with this section, you must place,\r\n in t" +
|
||||
"he relevant source files, a statement of the additional terms that apply to\r\n " +
|
||||
" those files, or a notice indicating where to find the applicable terms.</p>\r\n<p" +
|
||||
">\r\n Additional terms, permissive or non-permissive, may be stated in the form" +
|
||||
" of a separately\r\n written license, or stated as exceptions; the above requir" +
|
||||
"ements apply either way.</p>\r\n<h4>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"section8\"");
|
||||
|
||||
WriteLiteral(@"></a>8. Termination.</h4>
|
||||
<p>
|
||||
You may not propagate or modify a covered work except as expressly provided under
|
||||
this License. Any attempt otherwise to propagate or modify it is void, and will
|
||||
automatically terminate your rights under this License (including any patent licenses
|
||||
granted under the third paragraph of section 11).</p>
|
||||
<p>
|
||||
However, if you cease all violation of this License, then your license from a particular
|
||||
copyright holder is reinstated (a) provisionally, unless and until the copyright
|
||||
holder explicitly and finally terminates your license, and (b) permanently, if the
|
||||
copyright holder fails to notify you of the violation by some reasonable means prior
|
||||
to 60 days after the cessation.</p>
|
||||
<p>
|
||||
Moreover, your license from a particular copyright holder is reinstated permanently
|
||||
if the copyright holder notifies you of the violation by some reasonable means,
|
||||
this is the first time you have received notice of violation of this License (for
|
||||
any work) from that copyright holder, and you cure the violation prior to 30 days
|
||||
after your receipt of the notice.</p>
|
||||
<p>
|
||||
Termination of your rights under this section does not terminate the licenses of
|
||||
parties who have received copies or rights from you under this License. If your
|
||||
rights have been terminated and not permanently reinstated, you do not qualify to
|
||||
receive new licenses for the same material under section 10.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section9\"");
|
||||
|
||||
WriteLiteral(@"></a>9. Acceptance Not Required for Having Copies.</h4>
|
||||
<p>
|
||||
You are not required to accept this License in order to receive or run a copy of
|
||||
the Program. Ancillary propagation of a covered work occurring solely as a consequence
|
||||
of using peer-to-peer transmission to receive a copy likewise does not require acceptance.
|
||||
However, nothing other than this License grants you permission to propagate or modify
|
||||
any covered work. These actions infringe copyright if you do not accept this License.
|
||||
Therefore, by modifying or propagating a covered work, you indicate your acceptance
|
||||
of this License to do so.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section10\"");
|
||||
|
||||
WriteLiteral("></a>10. Automatic Licensing of Downstream Recipients.</h4>\r\n<p>\r\n Each time y" +
|
||||
"ou convey a covered work, the recipient automatically receives a license\r\n fr" +
|
||||
"om the original licensors, to run, modify and propagate that work, subject to\r\n " +
|
||||
" this License. You are not responsible for enforcing compliance by third parti" +
|
||||
"es\r\n with this License.</p>\r\n<p>\r\n An "entity transaction" is a " +
|
||||
"transaction transferring control of an organization,\r\n or substantially all a" +
|
||||
"ssets of one, or subdividing an organization, or merging organizations.\r\n If " +
|
||||
"propagation of a covered work results from an entity transaction, each party\r\n " +
|
||||
" to that transaction who receives a copy of the work also receives whatever lic" +
|
||||
"enses\r\n to the work the party\'s predecessor in interest had or could give und" +
|
||||
"er the previous\r\n paragraph, plus a right to possession of the Corresponding " +
|
||||
"Source of the work from\r\n the predecessor in interest, if the predecessor has" +
|
||||
" it or can get it with reasonable\r\n efforts.</p>\r\n<p>\r\n You may not impose" +
|
||||
" any further restrictions on the exercise of the rights granted\r\n or affirmed" +
|
||||
" under this License. For example, you may not impose a license fee, royalty,\r\n " +
|
||||
" or other charge for exercise of rights granted under this License, and you may" +
|
||||
" not\r\n initiate litigation (including a cross-claim or counterclaim in a laws" +
|
||||
"uit) alleging\r\n that any patent claim is infringed by making, using, selling," +
|
||||
" offering for sale,\r\n or importing the Program or any portion of it.</p>\r\n<h4" +
|
||||
">\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"section11\"");
|
||||
|
||||
WriteLiteral("></a>11. Patents.</h4>\r\n<p>\r\n A "contributor" is a copyright holder " +
|
||||
"who authorizes use under this License\r\n of the Program or a work on which the" +
|
||||
" Program is based. The work thus licensed is\r\n called the contributor\'s "" +
|
||||
";contributor version".</p>\r\n<p>\r\n A contributor\'s "essential patent" +
|
||||
" claims" are all patent claims owned\r\n or controlled by the contributor," +
|
||||
" whether already acquired or hereafter acquired,\r\n that would be infringed by" +
|
||||
" some manner, permitted by this License, of making, using,\r\n or selling its c" +
|
||||
"ontributor version, but do not include claims that would be infringed\r\n only " +
|
||||
"as a consequence of further modification of the contributor version. For purpose" +
|
||||
"s\r\n of this definition, "control" includes the right to grant paten" +
|
||||
"t sublicenses\r\n in a manner consistent with the requirements of this License." +
|
||||
"</p>\r\n<p>\r\n Each contributor grants you a non-exclusive, worldwide, royalty-f" +
|
||||
"ree patent license\r\n under the contributor\'s essential patent claims, to make" +
|
||||
", use, sell, offer for sale,\r\n import and otherwise run, modify and propagate" +
|
||||
" the contents of its contributor version.</p>\r\n<p>\r\n In the following three p" +
|
||||
"aragraphs, a "patent license" is any express agreement\r\n or commitm" +
|
||||
"ent, however denominated, not to enforce a patent (such as an express\r\n permi" +
|
||||
"ssion to practice a patent or covenant not to sue for patent infringement).\r\n " +
|
||||
" To "grant" such a patent license to a party means to make such an agr" +
|
||||
"eement\r\n or commitment not to enforce a patent against the party.</p>\r\n<p>\r\n " +
|
||||
" If you convey a covered work, knowingly relying on a patent license, and the " +
|
||||
"Corresponding\r\n Source of the work is not available for anyone to copy, free " +
|
||||
"of charge and under\r\n the terms of this License, through a publicly available" +
|
||||
" network server or other\r\n readily accessible means, then you must either (1)" +
|
||||
" cause the Corresponding Source\r\n to be so available, or (2) arrange to depri" +
|
||||
"ve yourself of the benefit of the patent\r\n license for this particular work, " +
|
||||
"or (3) arrange, in a manner consistent with the\r\n requirements of this Licens" +
|
||||
"e, to extend the patent license to downstream recipients.\r\n "Knowingly r" +
|
||||
"elying" means you have actual knowledge that, but for the\r\n patent licen" +
|
||||
"se, your conveying the covered work in a country, or your recipient\'s\r\n use o" +
|
||||
"f the covered work in a country, would infringe one or more identifiable patents" +
|
||||
"\r\n in that country that you have reason to believe are valid.</p>\r\n<p>\r\n I" +
|
||||
"f, pursuant to or in connection with a single transaction or arrangement, you co" +
|
||||
"nvey,\r\n or propagate by procuring conveyance of, a covered work, and grant a " +
|
||||
"patent license\r\n to some of the parties receiving the covered work authorizin" +
|
||||
"g them to use, propagate,\r\n modify or convey a specific copy of the covered w" +
|
||||
"ork, then the patent license you\r\n grant is automatically extended to all rec" +
|
||||
"ipients of the covered work and works\r\n based on it.</p>\r\n<p>\r\n A patent l" +
|
||||
"icense is "discriminatory" if it does not include within the\r\n scop" +
|
||||
"e of its coverage, prohibits the exercise of, or is conditioned on the non-exerc" +
|
||||
"ise\r\n of one or more of the rights that are specifically granted under this L" +
|
||||
"icense. You\r\n may not convey a covered work if you are a party to an arrangem" +
|
||||
"ent with a third\r\n party that is in the business of distributing software, un" +
|
||||
"der which you make payment\r\n to the third party based on the extent of your a" +
|
||||
"ctivity of conveying the work, and\r\n under which the third party grants, to a" +
|
||||
"ny of the parties who would receive the\r\n covered work from you, a discrimina" +
|
||||
"tory patent license (a) in connection with copies\r\n of the covered work conve" +
|
||||
"yed by you (or copies made from those copies), or (b) primarily\r\n for and in " +
|
||||
"connection with specific products or compilations that contain the covered\r\n " +
|
||||
"work, unless you entered into that arrangement, or that patent license was grant" +
|
||||
"ed,\r\n prior to 28 March 2007.</p>\r\n<p>\r\n Nothing in this License shall be " +
|
||||
"construed as excluding or limiting any implied\r\n license or other defenses to" +
|
||||
" infringement that may otherwise be available to you\r\n under applicable paten" +
|
||||
"t law.</p>\r\n<h4>\r\n <a");
|
||||
|
||||
WriteLiteral(" name=\"section12\"");
|
||||
|
||||
WriteLiteral(@"></a>12. No Surrender of Others' Freedom.</h4>
|
||||
<p>
|
||||
If conditions are imposed on you (whether by court order, agreement or otherwise)
|
||||
that contradict the conditions of this License, they do not excuse you from the
|
||||
conditions of this License. If you cannot convey a covered work so as to satisfy
|
||||
simultaneously your obligations under this License and any other pertinent obligations,
|
||||
then as a consequence you may not convey it at all. For example, if you agree to
|
||||
terms that obligate you to collect a royalty for further conveying from those to
|
||||
whom you convey the Program, the only way you could satisfy both those terms and
|
||||
this License would be to refrain entirely from conveying the Program.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section13\"");
|
||||
|
||||
WriteLiteral(@"></a>13. Remote Network Interaction; Use with the GNU General
|
||||
Public License.</h4>
|
||||
<p>
|
||||
Notwithstanding any other provision of this License, if you modify the Program,
|
||||
your modified version must prominently offer all users interacting with it remotely
|
||||
through a computer network (if your version supports such interaction) an opportunity
|
||||
to receive the Corresponding Source of your version by providing access to the Corresponding
|
||||
Source from a network server at no charge, through some standard or customary means
|
||||
of facilitating copying of software. This Corresponding Source shall include the
|
||||
Corresponding Source for any work covered by version 3 of the GNU General Public
|
||||
License that is incorporated pursuant to the following paragraph.</p>
|
||||
<p>
|
||||
Notwithstanding any other provision of this License, you have permission to link
|
||||
or combine any covered work with a work licensed under version 3 of the GNU General
|
||||
Public License into a single combined work, and to convey the resulting work. The
|
||||
terms of this License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version 3 of the
|
||||
GNU General Public License.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section14\"");
|
||||
|
||||
WriteLiteral(@"></a>14. Revised Versions of this License.</h4>
|
||||
<p>
|
||||
The Free Software Foundation may publish revised and/or new versions of the GNU
|
||||
Affero General Public License from time to time. Such new versions will be similar
|
||||
in spirit to the present version, but may differ in detail to address new problems
|
||||
or concerns.</p>
|
||||
<p>
|
||||
Each version is given a distinguishing version number. If the Program specifies
|
||||
that a certain numbered version of the GNU Affero General Public License "or
|
||||
any later version" applies to it, you have the option of following the terms
|
||||
and conditions either of that numbered version or of any later version published
|
||||
by the Free Software Foundation. If the Program does not specify a version number
|
||||
of the GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.</p>
|
||||
<p>
|
||||
If the Program specifies that a proxy can decide which future versions of the GNU
|
||||
Affero General Public License can be used, that proxy's public statement of acceptance
|
||||
of a version permanently authorizes you to choose that version for the Program.</p>
|
||||
<p>
|
||||
Later license versions may give you additional or different permissions. However,
|
||||
no additional obligations are imposed on any author or copyright holder as a result
|
||||
of your choosing to follow a later version.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section15\"");
|
||||
|
||||
WriteLiteral(@"></a>15. Disclaimer of Warranty.</h4>
|
||||
<p>
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
||||
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE
|
||||
OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST
|
||||
OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section16\"");
|
||||
|
||||
WriteLiteral(@"></a>16. Limitation of Liability.</h4>
|
||||
<p>
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT
|
||||
HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED
|
||||
ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
|
||||
OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM
|
||||
(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR
|
||||
LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
|
||||
WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
|
||||
THE POSSIBILITY OF SUCH DAMAGES.</p>
|
||||
<h4>
|
||||
<a");
|
||||
|
||||
WriteLiteral(" name=\"section17\"");
|
||||
|
||||
WriteLiteral(@"></a>17. Interpretation of Sections 15 and 16.</h4>
|
||||
<p>
|
||||
If the disclaimer of warranty and limitation of liability provided above cannot
|
||||
be given local legal effect according to their terms, reviewing courts shall apply
|
||||
local law that most closely approximates an absolute waiver of all civil liability
|
||||
in connection with the Program, unless a warranty or assumption of liability accompanies
|
||||
a copy of the Program in return for a fee.</p>
|
||||
</div>");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,42 @@
|
||||
@{
|
||||
Html.BundleDeferred("~/Style/Site");
|
||||
Html.BundleDeferred("~/ClientScripts/Core");
|
||||
}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<title>Disco - @CommonHelpers.BreadcrumbsTitle(ViewBag.Title)</title>
|
||||
@Html.BundleRenderDeferred()
|
||||
@RenderSection("head", false)
|
||||
</head>
|
||||
<body class="layout">
|
||||
<div class="page">
|
||||
<header>
|
||||
<div class="clearfix">
|
||||
<div id="heading">
|
||||
<a href="@Url.Action(MVC.Public.Public.Index())">
|
||||
<img src="@Links.ClientSource.Style.Images.Heading_png" alt="DISCO - ICT Asset Management" /></a>
|
||||
</div>
|
||||
<div id="headerMenu">
|
||||
</div>
|
||||
</div>
|
||||
<nav>
|
||||
<ul id="menu">
|
||||
<li>@Html.ActionLink("Public Reports", MVC.Public.Public.Index())</li>
|
||||
<li class="sep"></li>
|
||||
<li style="margin-left: 10px;">@Html.ActionLink("Disco Administration", MVC.Job.Index(), accesskey: "1")</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<div id="layout_PageHeading">@CommonHelpers.Breadcrumbs(ViewBag.Title)</div>
|
||||
<section id="layout_Page">
|
||||
@RenderBody()
|
||||
</section>
|
||||
<footer>
|
||||
Disco v@(Disco.Web.DiscoApplication.Version) @@ @(Disco.Web.DiscoApplication.OrganisationName) | @Html.ActionLink("Credits", MVC.Public.Public.Credits()) | @Html.ActionLink("Licence", MVC.Public.Public.Licence())
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,242 @@
|
||||
#pragma warning disable 1591
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Disco.Web.Areas.Public.Views.Shared
|
||||
{
|
||||
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.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Web;
|
||||
using Disco.Web.Extensions;
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Public/Views/Shared/_Layout.cshtml")]
|
||||
public class Layout : System.Web.Mvc.WebViewPage<dynamic>
|
||||
{
|
||||
public Layout()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 1 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
|
||||
Html.BundleDeferred("~/Style/Site");
|
||||
Html.BundleDeferred("~/ClientScripts/Core");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta");
|
||||
|
||||
WriteLiteral(" charset=\"utf-8\"");
|
||||
|
||||
WriteLiteral(" />\r\n <meta");
|
||||
|
||||
WriteLiteral(" http-equiv=\"X-UA-Compatible\"");
|
||||
|
||||
WriteLiteral(" content=\"IE=edge\"");
|
||||
|
||||
WriteLiteral(" />\r\n <title>Disco - ");
|
||||
|
||||
|
||||
#line 10 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(CommonHelpers.BreadcrumbsTitle(ViewBag.Title));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</title>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 11 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.BundleRenderDeferred());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 12 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(RenderSection("head", false));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n</head>\r\n<body");
|
||||
|
||||
WriteLiteral(" class=\"layout\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"page\"");
|
||||
|
||||
WriteLiteral(">\r\n <header>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"clearfix\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"heading\"");
|
||||
|
||||
WriteLiteral(">\r\n <a");
|
||||
|
||||
WriteAttribute("href", Tuple.Create(" href=\"", 535), Tuple.Create("\"", 580)
|
||||
|
||||
#line 19 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 542), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Public.Public.Index())
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 542), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">\r\n <img");
|
||||
|
||||
WriteAttribute("src", Tuple.Create(" src=\"", 612), Tuple.Create("\"", 662)
|
||||
|
||||
#line 20 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 618), Tuple.Create<System.Object, System.Int32>(Links.ClientSource.Style.Images.Heading_png
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 618), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" alt=\"DISCO - ICT Asset Management\"");
|
||||
|
||||
WriteLiteral(" /></a>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"headerMenu\"");
|
||||
|
||||
WriteLiteral(">\r\n </div>\r\n </div>\r\n <nav>\r\n " +
|
||||
" <ul");
|
||||
|
||||
WriteLiteral(" id=\"menu\"");
|
||||
|
||||
WriteLiteral(">\r\n <li>");
|
||||
|
||||
|
||||
#line 27 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Public Reports", MVC.Public.Public.Index()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n <li");
|
||||
|
||||
WriteLiteral(" class=\"sep\"");
|
||||
|
||||
WriteLiteral("></li>\r\n <li");
|
||||
|
||||
WriteLiteral(" style=\"margin-left: 10px;\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 29 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Disco Administration", MVC.Job.Index(), accesskey: "1"));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</li>\r\n </ul>\r\n </nav>\r\n </header>\r\n <div" +
|
||||
"");
|
||||
|
||||
WriteLiteral(" id=\"layout_PageHeading\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 33 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(CommonHelpers.Breadcrumbs(ViewBag.Title));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</div>\r\n <section");
|
||||
|
||||
WriteLiteral(" id=\"layout_Page\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 35 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(RenderBody());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </section>\r\n <footer>\r\n Disco v");
|
||||
|
||||
|
||||
#line 38 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(Disco.Web.DiscoApplication.Version);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
WriteLiteral("@ ");
|
||||
|
||||
|
||||
#line 38 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(Disco.Web.DiscoApplication.OrganisationName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" | ");
|
||||
|
||||
|
||||
#line 38 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Credits", MVC.Public.Public.Credits()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" | ");
|
||||
|
||||
|
||||
#line 38 "..\..\Areas\Public\Views\Shared\_Layout.cshtml"
|
||||
Write(Html.ActionLink("Licence", MVC.Public.Public.Licence()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </footer>\r\n </div>\r\n</body>\r\n</html>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,77 @@
|
||||
@model IEnumerable<Disco.Web.Areas.Public.Models.UserHeldDevices.UserHeldDeviceModel>
|
||||
@{
|
||||
ViewBag.Title = Html.ToBreadcrumb("Public Reports", MVC.Public.Public.Index(), "Technician Held Devices", null);
|
||||
Html.BundleDeferred("~/Style/Public/UserHeldDevices");
|
||||
}
|
||||
<div class="clearfix page">
|
||||
<div class="column1">
|
||||
@{
|
||||
var DevicesInProcess = Model.Where(i => !i.ReadyForReturn && !i.WaitingForUserAction).ToArray();
|
||||
}
|
||||
<h2>
|
||||
In Process (@DevicesInProcess.Length)</h2>
|
||||
<table class="dataTable">
|
||||
@foreach (var item in DevicesInProcess)
|
||||
{
|
||||
<tr>
|
||||
<td class="userId">
|
||||
@item.UserId
|
||||
</td>
|
||||
<td class="userDisplayName">
|
||||
@item.UserDisplayName@{
|
||||
if (!string.IsNullOrEmpty(item.EstimatedReturnTime))
|
||||
{
|
||||
<span class="smallMessage">(Expected: @item.EstimatedReturnTime)</span>
|
||||
}
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
<div class="column2">
|
||||
@{
|
||||
var WaitingForUserActionJobs = Model.Where(i => i.WaitingForUserAction).ToArray();
|
||||
}
|
||||
<h2>
|
||||
Waiting for User Action (@WaitingForUserActionJobs.Length)</h2>
|
||||
<table class="dataTable">
|
||||
@foreach (var item in WaitingForUserActionJobs)
|
||||
{
|
||||
<tr>
|
||||
<td class="userId">
|
||||
@item.UserId
|
||||
</td>
|
||||
<td class="userDisplayName">
|
||||
@item.UserDisplayName
|
||||
</td>
|
||||
<td class="timestamp@(item.IsAlert ? " Alert" : string.Empty)">
|
||||
Since @item.WaitingForUserActionSince
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
<hr />
|
||||
@{
|
||||
var DevicesReadyForReturn = Model.Where(i => i.ReadyForReturn && !i.WaitingForUserAction).ToArray();
|
||||
}
|
||||
<h2>
|
||||
Ready for Return (@DevicesReadyForReturn.Length)</h2>
|
||||
<table class="dataTable">
|
||||
@foreach (var item in DevicesReadyForReturn)
|
||||
{
|
||||
<tr>
|
||||
<td class="userId">
|
||||
@item.UserId
|
||||
</td>
|
||||
<td class="userDisplayName">
|
||||
@item.UserDisplayName
|
||||
</td>
|
||||
<td class="timestamp@(item.IsAlert ? " Alert" : string.Empty)">
|
||||
Ready @item.ReadyForReturnSince
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,396 @@
|
||||
#pragma warning disable 1591
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Disco.Web.Areas.Public.Views.UserHeldDevices
|
||||
{
|
||||
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.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Web;
|
||||
using Disco.Web.Extensions;
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Public/Views/UserHeldDevices/Index.cshtml")]
|
||||
public class Index : System.Web.Mvc.WebViewPage<IEnumerable<Disco.Web.Areas.Public.Models.UserHeldDevices.UserHeldDeviceModel>>
|
||||
{
|
||||
public Index()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
ViewBag.Title = Html.ToBreadcrumb("Public Reports", MVC.Public.Public.Index(), "Technician Held Devices", null);
|
||||
Html.BundleDeferred("~/Style/Public/UserHeldDevices");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<div");
|
||||
|
||||
WriteLiteral(" class=\"clearfix page\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"column1\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 8 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 8 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
var DevicesInProcess = Model.Where(i => !i.ReadyForReturn && !i.WaitingForUserAction).ToArray();
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <h2>\r\n In Process (");
|
||||
|
||||
|
||||
#line 12 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(DevicesInProcess.Length);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(")</h2>\r\n <table");
|
||||
|
||||
WriteLiteral(" class=\"dataTable\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 14 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 14 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
foreach (var item in DevicesInProcess)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <tr>\r\n <td");
|
||||
|
||||
WriteLiteral(" class=\"userId\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 18 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.UserId);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n <td");
|
||||
|
||||
WriteLiteral(" class=\"userDisplayName\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 21 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.UserDisplayName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 21 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
if (!string.IsNullOrEmpty(item.EstimatedReturnTime))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">(Expected: ");
|
||||
|
||||
|
||||
#line 24 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.EstimatedReturnTime);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(")</span>\r\n");
|
||||
|
||||
|
||||
#line 25 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n");
|
||||
|
||||
|
||||
#line 29 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </table>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"column2\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 33 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 33 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
var WaitingForUserActionJobs = Model.Where(i => i.WaitingForUserAction).ToArray();
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <h2>\r\n Waiting for User Action (");
|
||||
|
||||
|
||||
#line 37 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(WaitingForUserActionJobs.Length);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(")</h2>\r\n <table");
|
||||
|
||||
WriteLiteral(" class=\"dataTable\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 39 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 39 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
foreach (var item in WaitingForUserActionJobs)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <tr>\r\n <td");
|
||||
|
||||
WriteLiteral(" class=\"userId\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 43 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.UserId);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n <td");
|
||||
|
||||
WriteLiteral(" class=\"userDisplayName\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 46 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.UserDisplayName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n <td");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 1816), Tuple.Create("\"", 1874)
|
||||
, Tuple.Create(Tuple.Create("", 1824), Tuple.Create("timestamp", 1824), true)
|
||||
|
||||
#line 48 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 1833), Tuple.Create<System.Object, System.Int32>(item.IsAlert ? " Alert" : string.Empty
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 1833), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">\r\n Since ");
|
||||
|
||||
|
||||
#line 49 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.WaitingForUserActionSince);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n");
|
||||
|
||||
|
||||
#line 52 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </table>\r\n <hr />\r\n");
|
||||
|
||||
|
||||
#line 55 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 55 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
var DevicesReadyForReturn = Model.Where(i => i.ReadyForReturn && !i.WaitingForUserAction).ToArray();
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <h2>\r\n Ready for Return (");
|
||||
|
||||
|
||||
#line 59 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(DevicesReadyForReturn.Length);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(")</h2>\r\n <table");
|
||||
|
||||
WriteLiteral(" class=\"dataTable\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 61 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 61 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
foreach (var item in DevicesReadyForReturn)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <tr>\r\n <td");
|
||||
|
||||
WriteLiteral(" class=\"userId\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 65 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.UserId);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n <td");
|
||||
|
||||
WriteLiteral(" class=\"userDisplayName\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 68 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.UserDisplayName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n <td");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 2641), Tuple.Create("\"", 2699)
|
||||
, Tuple.Create(Tuple.Create("", 2649), Tuple.Create("timestamp", 2649), true)
|
||||
|
||||
#line 70 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 2658), Tuple.Create<System.Object, System.Int32>(item.IsAlert ? " Alert" : string.Empty
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 2658), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">\r\n Ready ");
|
||||
|
||||
|
||||
#line 71 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
Write(item.ReadyForReturnSince);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n");
|
||||
|
||||
|
||||
#line 74 "..\..\Areas\Public\Views\UserHeldDevices\Index.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </table>\r\n </div>\r\n</div>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,494 @@
|
||||
@{
|
||||
Layout = null;
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/jQuery-SignalR");
|
||||
Html.BundleDeferred("~/ClientScripts/Core");
|
||||
Html.BundleDeferred("~/Style/Public/UserHeldDevicesNoticeboard");
|
||||
}
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<title>Disco - Technician Held Devices</title>
|
||||
@Html.BundleRenderDeferred()
|
||||
</head>
|
||||
<body>
|
||||
<div id="page">
|
||||
<header id="mainHeader">
|
||||
Technician Held Devices
|
||||
</header>
|
||||
<section id="mainSection">
|
||||
<div id="inProcess" class="list">
|
||||
<h3>
|
||||
In Process <span id="inProcessCount"></span>
|
||||
</h3>
|
||||
<div class="content">
|
||||
<ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="readyForReturn" class="list">
|
||||
<h3>
|
||||
Ready for Return <span id="readyForReturnCount"></span>
|
||||
</h3>
|
||||
<div class="content">
|
||||
<ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div id="waitingForUserAction" class="list">
|
||||
<h3>
|
||||
Waiting for User Action <span id="waitingForUserActionCount"></span>
|
||||
</h3>
|
||||
<div class="content">
|
||||
<ul>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<footer>
|
||||
</footer>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
// Resizing
|
||||
$(function () {
|
||||
var $inProcess = $('#inProcess');
|
||||
var $inProcessContent = $inProcess.find('.content');
|
||||
var $inProcessHeader = $inProcess.find('.h3');
|
||||
var $readyForReturn = $('#readyForReturn');
|
||||
var $readyForReturnContent = $readyForReturn.find('.content');
|
||||
var $readyForReturnHeader = $readyForReturn.find('.h3');
|
||||
var $waitingForUserAction = $('#waitingForUserAction');
|
||||
var $waitingForUserActionContent = $waitingForUserAction.find('.content');
|
||||
var $waitingForUserActionHeader = $waitingForUserAction.find('.h3');
|
||||
var $mainSection = $('#mainSection');
|
||||
var $mainHeader = $('#mainHeader');
|
||||
var $mainFooter = $('#mainFooter');
|
||||
|
||||
var onResize = function () {
|
||||
var width = $mainSection.width();
|
||||
var height = $(window).height() - $mainHeader.outerHeight() - $mainFooter.outerHeight() - 25;
|
||||
|
||||
$inProcess.height(height);
|
||||
$inProcess.width((width * .28) - 11);
|
||||
$inProcessContent.height(height - $inProcessHeader.outerHeight() - 56);
|
||||
|
||||
$readyForReturn.height(height);
|
||||
$readyForReturn.width((width * .36) - 11);
|
||||
$readyForReturnContent.height(height - $readyForReturnHeader.outerHeight() - 56);
|
||||
|
||||
$waitingForUserAction.height(height);
|
||||
$waitingForUserAction.width((width * .36) - 11);
|
||||
$waitingForUserActionContent.height(height - $waitingForUserActionHeader.outerHeight() - 56);
|
||||
};
|
||||
|
||||
$(window).resize(onResize);
|
||||
onResize();
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
// Hide Mouse Mouse
|
||||
$(function () {
|
||||
var mouseVisible = true;
|
||||
var mouseHideToken;
|
||||
var documentBody = $('body');
|
||||
|
||||
var hideMouse = function () {
|
||||
if (mouseVisible) {
|
||||
documentBody.css('cursor', 'none');
|
||||
mouseVisible = false;
|
||||
}
|
||||
};
|
||||
var showMouse = function () {
|
||||
if (!mouseVisible) {
|
||||
documentBody.css('cursor', 'auto');
|
||||
mouseVisible = true;
|
||||
}
|
||||
};
|
||||
|
||||
$(document).mousemove(function () {
|
||||
showMouse();
|
||||
if (mouseHideToken)
|
||||
window.clearTimeout(mouseHideToken);
|
||||
mouseHideToken = window.setTimeout(hideMouse, 2000);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var models = {};
|
||||
var modelsInProcessSorted = [];
|
||||
var modelsInProcessCount = 0;
|
||||
var modelsReadyForReturnSorted = [];
|
||||
var modelsReadyForReturnCount = 0;
|
||||
var modelsWaitingForUserActionSorted = [];
|
||||
var modelsWaitingForUserActionCount = 0;
|
||||
var $inProcess = $('#inProcess');
|
||||
var $inProcessContent = $inProcess.find('.content ul');
|
||||
var $readyForReturn = $('#readyForReturn');
|
||||
var $readyForReturnContent = $readyForReturn.find('.content ul');
|
||||
var $waitingForUserAction = $('#waitingForUserAction');
|
||||
var $waitingForUserActionContent = $waitingForUserAction.find('.content ul');
|
||||
var modelsInProcessIndexOffset = 0;
|
||||
var scrollInProcessToken = null;
|
||||
var modelsReadyForReturnIndexOffset = 0;
|
||||
var scrollReadyForReturnToken = null;
|
||||
var modelsWaitingForUserActionIndexOffset = 0;
|
||||
var scrollWaitingForUserActionToken = null;
|
||||
var scrollSpeed = 3000;
|
||||
var persistantConnection = null;
|
||||
var filterDeviceAddressInclude;
|
||||
var filterDeviceAddressExclude;
|
||||
var filterDeviceProfileInclude;
|
||||
var filterDeviceProfileExclude;
|
||||
|
||||
var getParameterByName = function (name) {
|
||||
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
|
||||
var regexS = "[\\?&]" + name + "=([^&#]*)";
|
||||
var regex = new RegExp(regexS);
|
||||
var results = regex.exec(window.location.search);
|
||||
if (results == null)
|
||||
return "";
|
||||
else
|
||||
return decodeURIComponent(results[1].replace(/\+/g, " "));
|
||||
}
|
||||
|
||||
var buildFilters = function () {
|
||||
var deviceAddressInclude = getParameterByName('deviceAddressInclude');
|
||||
if (deviceAddressInclude) {
|
||||
filterDeviceAddressInclude = {};
|
||||
var split = deviceAddressInclude.split(",");
|
||||
for (var i = 0; i < split.length; i++) {
|
||||
filterDeviceAddressInclude[split[i].toLowerCase()] = true;
|
||||
}
|
||||
} else {
|
||||
var deviceAddressExclude = getParameterByName('deviceAddressExclude');
|
||||
if (deviceAddressExclude) {
|
||||
filterDeviceAddressExclude = {};
|
||||
var split = deviceAddressExclude.split(",");
|
||||
for (var i = 0; i < split.length; i++) {
|
||||
filterDeviceAddressExclude[split[i].toLowerCase()] = true;
|
||||
}
|
||||
} else {
|
||||
var deviceProfileInclude = getParameterByName('deviceProfileInclude');
|
||||
if (deviceProfileInclude) {
|
||||
filterDeviceProfileInclude = {};
|
||||
var deviceProfileIncludeSplit = deviceProfileInclude.split(",");
|
||||
for (var i = 0; i < deviceProfileIncludeSplit.length; i++) {
|
||||
filterDeviceProfileInclude[parseInt(deviceProfileIncludeSplit[i])] = true;
|
||||
}
|
||||
} else {
|
||||
var deviceProfileExclude = getParameterByName('deviceProfileExclude');
|
||||
if (deviceProfileExclude) {
|
||||
filterDeviceProfileExclude = {};
|
||||
var deviceProfileExcludeSplit = deviceProfileExclude.split(",");
|
||||
for (var i = 0; i < deviceProfileExcludeSplit.length; i++) {
|
||||
filterDeviceProfileExclude[parseInt(deviceProfileExcludeSplit[i])] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
var calculateFilter = function (model) {
|
||||
if (model) {
|
||||
if (filterDeviceAddressInclude) {
|
||||
return (filterDeviceAddressInclude[model.DeviceAddress.toLowerCase()] == true)
|
||||
}
|
||||
if (filterDeviceAddressExclude) {
|
||||
return (!filterDeviceAddressExclude[model.DeviceAddress.toLowerCase()])
|
||||
}
|
||||
if (filterDeviceProfileInclude) {
|
||||
return (filterDeviceProfileInclude[model.DeviceProfileId] == true)
|
||||
}
|
||||
if (filterDeviceProfileExclude) {
|
||||
return (!filterDeviceProfileExclude[model.DeviceProfileId])
|
||||
}
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
var sortModels = function () {
|
||||
modelsInProcessSorted = [];
|
||||
modelsReadyForReturnSorted = [];
|
||||
modelsWaitingForUserActionSorted = [];
|
||||
var modelSortFunc = function (a, b) {
|
||||
if (a.UserId.toUpperCase() == b.UserId.toUpperCase()) {
|
||||
return 0;
|
||||
} else {
|
||||
if (a.UserId.toUpperCase() < b.UserId.toUpperCase()) {
|
||||
return -1
|
||||
} else {
|
||||
return 1
|
||||
}
|
||||
}
|
||||
};
|
||||
for (var key in models) {
|
||||
var model = models[key];
|
||||
if (model) {
|
||||
if (model.WaitingForUserAction) {
|
||||
modelsWaitingForUserActionSorted.push(model);
|
||||
} else {
|
||||
if (model.ReadyForReturn) {
|
||||
modelsReadyForReturnSorted.push(model);
|
||||
} else {
|
||||
modelsInProcessSorted.push(model);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
modelsReadyForReturnSorted = modelsReadyForReturnSorted.sort(modelSortFunc);
|
||||
modelsInProcessSorted = modelsInProcessSorted.sort(modelSortFunc);
|
||||
modelsWaitingForUserActionSorted = modelsWaitingForUserActionSorted.sort(modelSortFunc);
|
||||
|
||||
if (modelsInProcessSorted.length != modelsInProcessCount) {
|
||||
modelsInProcessCount = modelsInProcessSorted.length;
|
||||
$('#inProcessCount').text('(' + modelsInProcessCount + ')');
|
||||
}
|
||||
if (modelsReadyForReturnSorted.length != modelsReadyForReturnCount) {
|
||||
modelsReadyForReturnCount = modelsReadyForReturnSorted.length;
|
||||
$('#readyForReturnCount').text('(' + modelsReadyForReturnCount + ')');
|
||||
}
|
||||
if (modelsWaitingForUserActionSorted.length != modelsWaitingForUserActionCount) {
|
||||
modelsWaitingForUserActionCount = modelsWaitingForUserActionSorted.length;
|
||||
$('#waitingForUserActionCount').text('(' + modelsWaitingForUserActionCount + ')');
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
var scrollReadyForReturn = function () {
|
||||
$readyForReturnContent.find('li').last().detach().prependTo($readyForReturnContent).hide().slideDown('slow');
|
||||
modelsReadyForReturnIndexOffset++;
|
||||
if (modelsReadyForReturnIndexOffset >= modelsReadyForReturnSorted.length) {
|
||||
modelsReadyForReturnIndexOffset = 0;
|
||||
}
|
||||
scrollReadyForReturnToken = window.setTimeout(scrollReadyForReturn, scrollSpeed);
|
||||
};
|
||||
var updateScrollReadyForReturn = function () {
|
||||
var containerHeight = $readyForReturn.find('.content').height();
|
||||
var contentHeight = $readyForReturnContent.height();
|
||||
if (containerHeight >= contentHeight && scrollReadyForReturnToken) {
|
||||
window.clearTimeout(scrollReadyForReturnToken);
|
||||
return;
|
||||
}
|
||||
if (containerHeight < contentHeight && scrollReadyForReturnToken == null) {
|
||||
scrollReadyForReturnToken = window.setTimeout(scrollReadyForReturn, scrollSpeed);
|
||||
}
|
||||
};
|
||||
var scrollInProcess = function () {
|
||||
$inProcessContent.find('li').last().detach().prependTo($inProcessContent).hide().slideDown('slow');
|
||||
modelsInProcessIndexOffset++;
|
||||
if (modelsInProcessIndexOffset >= modelsInProcessSorted.length) {
|
||||
modelsInProcessIndexOffset = 0;
|
||||
}
|
||||
scrollInProcessToken = window.setTimeout(scrollInProcess, scrollSpeed);
|
||||
};
|
||||
var updateScrollInProcess = function () {
|
||||
var containerHeight = $inProcess.find('.content').height();
|
||||
var contentHeight = $inProcessContent.height();
|
||||
if (containerHeight >= contentHeight && scrollInProcessToken) {
|
||||
window.clearTimeout(scrollInProcessToken);
|
||||
return;
|
||||
}
|
||||
if (containerHeight < contentHeight && scrollInProcessToken == null) {
|
||||
scrollInProcessToken = window.setTimeout(scrollInProcess, scrollSpeed);
|
||||
}
|
||||
};
|
||||
var scrollWaitingForUserAction = function () {
|
||||
$waitingForUserActionContent.find('li').last().detach().prependTo($waitingForUserActionContent).hide().slideDown('slow');
|
||||
modelsInProcessIndexOffset++;
|
||||
if (modelsWaitingForUserActionIndexOffset >= modelsWaitingForUserActionSorted.length) {
|
||||
modelsWaitingForUserActionIndexOffset = 0;
|
||||
}
|
||||
scrollWaitingForUserActionToken = window.setTimeout(scrollWaitingForUserAction, scrollSpeed);
|
||||
};
|
||||
var updateScrollWaitingForUserAction = function () {
|
||||
var containerHeight = $waitingForUserAction.find('.content').height();
|
||||
var contentHeight = $waitingForUserActionContent.height();
|
||||
if (containerHeight >= contentHeight && scrollWaitingForUserActionToken) {
|
||||
window.clearTimeout(scrollWaitingForUserActionToken);
|
||||
return;
|
||||
}
|
||||
if (containerHeight < contentHeight && scrollWaitingForUserActionToken == null) {
|
||||
scrollWaitingForUserActionToken = window.setTimeout(scrollWaitingForUserAction, scrollSpeed);
|
||||
}
|
||||
};
|
||||
|
||||
var modelInsertIndex = function (model) {
|
||||
sortModels();
|
||||
var findIndex = function (model, array, offset) {
|
||||
for (var i = 0; i < array.length; i++) {
|
||||
if (model.UserId == array[i].UserId) {
|
||||
var index = i + offset;
|
||||
if (index > (array.length - 1)) {
|
||||
index = index - (array.length - 1);
|
||||
}
|
||||
return index;
|
||||
}
|
||||
};
|
||||
};
|
||||
if (model.WaitingForUserAction) {
|
||||
return findIndex(model, modelsWaitingForUserActionSorted, modelsWaitingForUserActionIndexOffset);
|
||||
} else {
|
||||
if (model.ReadyForReturn) {
|
||||
return findIndex(model, modelsReadyForReturnSorted, modelsReadyForReturnIndexOffset);
|
||||
} else {
|
||||
return findIndex(model, modelsInProcessSorted, modelsInProcessIndexOffset);
|
||||
}
|
||||
}
|
||||
}
|
||||
var modelInsert = function (model) {
|
||||
var index = modelInsertIndex(model);
|
||||
var insertTo = function (model, host) {
|
||||
var hostLi = host.children('li');
|
||||
if (hostLi.length == 0 || hostLi.length < index) {
|
||||
host.append(model.htmlLi);
|
||||
} else {
|
||||
if (index == 0) {
|
||||
host.prepend(model.htmlLi);
|
||||
} else {
|
||||
$(hostLi.get(index - 1)).after(model.htmlLi);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (model.WaitingForUserAction) {
|
||||
insertTo(model, $waitingForUserActionContent);
|
||||
window.setTimeout(updateScrollWaitingForUserAction, 100);
|
||||
} else {
|
||||
if (model.ReadyForReturn) {
|
||||
insertTo(model, $readyForReturnContent);
|
||||
window.setTimeout(updateScrollReadyForReturn, 100);
|
||||
} else {
|
||||
insertTo(model, $inProcessContent);
|
||||
window.setTimeout(updateScrollInProcess, 100);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var removeModel = function (model) {
|
||||
if (model) {
|
||||
if (model.updateAtToken) {
|
||||
window.clearTimeout(model.updateAtToken);
|
||||
};
|
||||
model.htmlLi.slideUp('fast', function () {
|
||||
model.htmlLi.remove();
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
var scheduleModelUpdate = function (model) {
|
||||
if (model.updateAtToken) {
|
||||
window.clearTimeout(model.updateAtToken);
|
||||
};
|
||||
if (model.UpdateAt) {
|
||||
if (typeof model.UpdateAt == 'string' && model.UpdateAt.indexOf('\/Date(') == 0) {
|
||||
model.UpdateAt = new Date(parseInt(model.UpdateAt.substr(6)));
|
||||
}
|
||||
var nowMilliseconds = new Date().getTime();
|
||||
var updateAtMilliseconds = (model.UpdateAt - nowMilliseconds);
|
||||
if (updateAtMilliseconds > 0) {
|
||||
model.updateAtToken = window.setTimeout(function () { updatedModel(model.UserId); }, updateAtMilliseconds);
|
||||
} else {
|
||||
model.UpdateAt = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
var processModel = function (id, model, init) {
|
||||
if (!calculateFilter(model)) {
|
||||
removeModel(models[id]);
|
||||
delete models[id];
|
||||
sortModels();
|
||||
} else {
|
||||
var existing = models[id];
|
||||
models[id] = model;
|
||||
|
||||
// Add
|
||||
model.htmlContent = $('<div>').text(model.UserId + ' - ' + model.UserDisplayName);
|
||||
if (!model.ReadyForReturn && model.EstimatedReturnTime) {
|
||||
model.htmlContent.append($('<span class="small">').text(' (Expected: ' + model.EstimatedReturnTime + ')'));
|
||||
}
|
||||
if (model.WaitingForUserAction) {
|
||||
model.htmlContent.append($('<span class="small">').text(' (Since ' + model.WaitingForUserActionSince + ')'));
|
||||
} else {
|
||||
if (model.ReadyForReturn && model.ReadyForReturnSince) {
|
||||
model.htmlContent.append($('<span class="small">').text(' (Ready ' + model.ReadyForReturnSince + ')'));
|
||||
}
|
||||
}
|
||||
|
||||
if (existing) {
|
||||
if (existing.ReadyForReturn != model.ReadyForReturn || existing.WaitingForUserAction != model.WaitingForUserAction) {
|
||||
removeModel(existing);
|
||||
model.htmlLi = $('<li>').html(model.htmlContent).data('ModelId', id).hide();
|
||||
modelInsert(model);
|
||||
if (init) {
|
||||
model.htmlLi.fadeIn();
|
||||
} else {
|
||||
model.htmlLi.slideDown();
|
||||
}
|
||||
} else {
|
||||
if (existing.updateAtToken) {
|
||||
window.clearTimeout(existing.updateAtToken);
|
||||
};
|
||||
model.htmlLi = existing.htmlLi;
|
||||
model.htmlLi.slideUp('fast', function () {
|
||||
model.htmlLi.html(model.htmlContent).slideDown();
|
||||
});
|
||||
}
|
||||
} else {
|
||||
model.htmlLi = $('<li>').html(model.htmlContent).data('ModelId', id).hide();
|
||||
modelInsert(model);
|
||||
if (init) {
|
||||
model.htmlLi.fadeIn();
|
||||
} else {
|
||||
model.htmlLi.slideDown('slow');
|
||||
}
|
||||
}
|
||||
if (model.htmlLi && model.IsAlert) {
|
||||
model.htmlLi.addClass('alert');
|
||||
}
|
||||
scheduleModelUpdate(model);
|
||||
}
|
||||
};
|
||||
|
||||
var updatedModel = function (id) {
|
||||
var UserId = id.toString();
|
||||
$.getJSON('@(Url.Action(MVC.Public.UserHeldDevices.UserHeldDevice()))', { id: UserId }, function (data) {
|
||||
processModel(UserId, data, false);
|
||||
});
|
||||
};
|
||||
|
||||
var connectionError = function () {
|
||||
if (persistantConnection) {
|
||||
persistantConnection.stop();
|
||||
persistantConnection = null;
|
||||
window.setTimeout(function () {
|
||||
window.location.href = '@(Url.Action(MVC.Public.UserHeldDevices.Noticeboard()))';
|
||||
}, 10000);
|
||||
}
|
||||
}
|
||||
|
||||
var init = function () {
|
||||
buildFilters();
|
||||
persistantConnection = $.connection('@(Url.Content("~/Public/UserHeldDevices/Notifications"))');
|
||||
persistantConnection.received(updatedModel);
|
||||
persistantConnection.error(connectionError);
|
||||
persistantConnection.start(function () {
|
||||
$.getJSON('@(Url.Action(MVC.Public.UserHeldDevices.UserHeldDevices()))', null, function (data) {
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
processModel(data[i].UserId, data[i], true);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
init();
|
||||
|
||||
});
|
||||
</script>
|
||||
<div id="mainFooter">
|
||||
<img style="width: 32px; height: 32px; margin-top: -5px; margin-bottom: -15px;" src="@Links.ClientSource.Style.Images.Icon32_png" alt="Disco Logo" />
|
||||
powered by Disco
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,502 @@
|
||||
#pragma warning disable 1591
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Disco.Web.Areas.Public.Views.UserHeldDevices
|
||||
{
|
||||
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.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Web;
|
||||
using Disco.Web.Extensions;
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Public/Views/UserHeldDevices/Noticeboard.cshtml")]
|
||||
public class Noticeboard : System.Web.Mvc.WebViewPage<dynamic>
|
||||
{
|
||||
public Noticeboard()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 1 "..\..\Areas\Public\Views\UserHeldDevices\Noticeboard.cshtml"
|
||||
|
||||
Layout = null;
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/jQuery-SignalR");
|
||||
Html.BundleDeferred("~/ClientScripts/Core");
|
||||
Html.BundleDeferred("~/Style/Public/UserHeldDevicesNoticeboard");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <meta");
|
||||
|
||||
WriteLiteral(" charset=\"utf-8\"");
|
||||
|
||||
WriteLiteral(" />\r\n <meta");
|
||||
|
||||
WriteLiteral(" http-equiv=\"X-UA-Compatible\"");
|
||||
|
||||
WriteLiteral(" content=\"IE=edge\"");
|
||||
|
||||
WriteLiteral(" />\r\n <title>Disco - Technician Held Devices</title>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 13 "..\..\Areas\Public\Views\UserHeldDevices\Noticeboard.cshtml"
|
||||
Write(Html.BundleRenderDeferred());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n</head>\r\n<body>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"page\"");
|
||||
|
||||
WriteLiteral(">\r\n <header");
|
||||
|
||||
WriteLiteral(" id=\"mainHeader\"");
|
||||
|
||||
WriteLiteral(">\r\n Technician Held Devices\r\n </header>\r\n <section");
|
||||
|
||||
WriteLiteral(" id=\"mainSection\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"inProcess\"");
|
||||
|
||||
WriteLiteral(" class=\"list\"");
|
||||
|
||||
WriteLiteral(">\r\n <h3>\r\n In Process <span");
|
||||
|
||||
WriteLiteral(" id=\"inProcessCount\"");
|
||||
|
||||
WriteLiteral("></span>\r\n </h3>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"content\"");
|
||||
|
||||
WriteLiteral(">\r\n <ul>\r\n </ul>\r\n </div>\r\n " +
|
||||
" </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"readyForReturn\"");
|
||||
|
||||
WriteLiteral(" class=\"list\"");
|
||||
|
||||
WriteLiteral(">\r\n <h3>\r\n Ready for Return <span");
|
||||
|
||||
WriteLiteral(" id=\"readyForReturnCount\"");
|
||||
|
||||
WriteLiteral("></span>\r\n </h3>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"content\"");
|
||||
|
||||
WriteLiteral(">\r\n <ul>\r\n </ul>\r\n </div>\r\n " +
|
||||
" </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"waitingForUserAction\"");
|
||||
|
||||
WriteLiteral(" class=\"list\"");
|
||||
|
||||
WriteLiteral(">\r\n <h3>\r\n Waiting for User Action <span");
|
||||
|
||||
WriteLiteral(" id=\"waitingForUserActionCount\"");
|
||||
|
||||
WriteLiteral("></span>\r\n </h3>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"content\"");
|
||||
|
||||
WriteLiteral(">\r\n <ul>\r\n </ul>\r\n </div>\r\n " +
|
||||
" </div>\r\n </section>\r\n <footer>\r\n </footer>\r\n " +
|
||||
"</div>\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n // Resizing\r\n $(function () {\r\n var $inProcess = $(\'" +
|
||||
"#inProcess\');\r\n var $inProcessContent = $inProcess.find(\'.content\');\r" +
|
||||
"\n var $inProcessHeader = $inProcess.find(\'.h3\');\r\n var $re" +
|
||||
"adyForReturn = $(\'#readyForReturn\');\r\n var $readyForReturnContent = $" +
|
||||
"readyForReturn.find(\'.content\');\r\n var $readyForReturnHeader = $ready" +
|
||||
"ForReturn.find(\'.h3\');\r\n var $waitingForUserAction = $(\'#waitingForUs" +
|
||||
"erAction\');\r\n var $waitingForUserActionContent = $waitingForUserActio" +
|
||||
"n.find(\'.content\');\r\n var $waitingForUserActionHeader = $waitingForUs" +
|
||||
"erAction.find(\'.h3\');\r\n var $mainSection = $(\'#mainSection\');\r\n " +
|
||||
" var $mainHeader = $(\'#mainHeader\');\r\n var $mainFooter = $(\'#mai" +
|
||||
"nFooter\');\r\n\r\n var onResize = function () {\r\n var widt" +
|
||||
"h = $mainSection.width();\r\n var height = $(window).height() - $ma" +
|
||||
"inHeader.outerHeight() - $mainFooter.outerHeight() - 25;\r\n\r\n $inP" +
|
||||
"rocess.height(height);\r\n $inProcess.width((width * .28) - 11);\r\n " +
|
||||
" $inProcessContent.height(height - $inProcessHeader.outerHeight() " +
|
||||
"- 56);\r\n\r\n $readyForReturn.height(height);\r\n $read" +
|
||||
"yForReturn.width((width * .36) - 11);\r\n $readyForReturnContent.he" +
|
||||
"ight(height - $readyForReturnHeader.outerHeight() - 56);\r\n\r\n $wai" +
|
||||
"tingForUserAction.height(height);\r\n $waitingForUserAction.width((" +
|
||||
"width * .36) - 11);\r\n $waitingForUserActionContent.height(height " +
|
||||
"- $waitingForUserActionHeader.outerHeight() - 56);\r\n };\r\n\r\n " +
|
||||
" $(window).resize(onResize);\r\n onResize();\r\n });\r\n </scrip" +
|
||||
"t>\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
// Hide Mouse Mouse
|
||||
$(function () {
|
||||
var mouseVisible = true;
|
||||
var mouseHideToken;
|
||||
var documentBody = $('body');
|
||||
|
||||
var hideMouse = function () {
|
||||
if (mouseVisible) {
|
||||
documentBody.css('cursor', 'none');
|
||||
mouseVisible = false;
|
||||
}
|
||||
};
|
||||
var showMouse = function () {
|
||||
if (!mouseVisible) {
|
||||
documentBody.css('cursor', 'auto');
|
||||
mouseVisible = true;
|
||||
}
|
||||
};
|
||||
|
||||
$(document).mousemove(function () {
|
||||
showMouse();
|
||||
if (mouseHideToken)
|
||||
window.clearTimeout(mouseHideToken);
|
||||
mouseHideToken = window.setTimeout(hideMouse, 2000);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n var models = {};\r\n var modelsI" +
|
||||
"nProcessSorted = [];\r\n var modelsInProcessCount = 0;\r\n var" +
|
||||
" modelsReadyForReturnSorted = [];\r\n var modelsReadyForReturnCount = 0" +
|
||||
";\r\n var modelsWaitingForUserActionSorted = [];\r\n var model" +
|
||||
"sWaitingForUserActionCount = 0;\r\n var $inProcess = $(\'#inProcess\');\r\n" +
|
||||
" var $inProcessContent = $inProcess.find(\'.content ul\');\r\n " +
|
||||
" var $readyForReturn = $(\'#readyForReturn\');\r\n var $readyForReturnCon" +
|
||||
"tent = $readyForReturn.find(\'.content ul\');\r\n var $waitingForUserActi" +
|
||||
"on = $(\'#waitingForUserAction\');\r\n var $waitingForUserActionContent =" +
|
||||
" $waitingForUserAction.find(\'.content ul\');\r\n var modelsInProcessInde" +
|
||||
"xOffset = 0;\r\n var scrollInProcessToken = null;\r\n var mode" +
|
||||
"lsReadyForReturnIndexOffset = 0;\r\n var scrollReadyForReturnToken = nu" +
|
||||
"ll;\r\n var modelsWaitingForUserActionIndexOffset = 0;\r\n var" +
|
||||
" scrollWaitingForUserActionToken = null;\r\n var scrollSpeed = 3000;\r\n " +
|
||||
" var persistantConnection = null;\r\n var filterDeviceAddress" +
|
||||
"Include;\r\n var filterDeviceAddressExclude;\r\n var filterDev" +
|
||||
"iceProfileInclude;\r\n var filterDeviceProfileExclude;\r\n \r\n " +
|
||||
" var getParameterByName = function (name) {\r\n name = na" +
|
||||
"me.replace(/[\\[]/, \"\\\\\\[\").replace(/[\\]]/, \"\\\\\\]\");\r\n var regexS " +
|
||||
"= \"[\\\\?&]\" + name + \"=([^&#]*)\";\r\n var regex = new RegExp(regexS)" +
|
||||
";\r\n var results = regex.exec(window.location.search);\r\n " +
|
||||
" if (results == null)\r\n return \"\";\r\n else" +
|
||||
"\r\n return decodeURIComponent(results[1].replace(/\\+/g, \" \"));" +
|
||||
"\r\n }\r\n\r\n var buildFilters = function () {\r\n " +
|
||||
" var deviceAddressInclude = getParameterByName(\'deviceAddressInclude\');\r\n " +
|
||||
" if (deviceAddressInclude) {\r\n filterDeviceAddressInc" +
|
||||
"lude = {};\r\n var split = deviceAddressInclude.split(\",\");\r\n " +
|
||||
" for (var i = 0; i < split.length; i++) {\r\n " +
|
||||
" filterDeviceAddressInclude[split[i].toLowerCase()] = true;\r\n " +
|
||||
" }\r\n } else {\r\n var deviceAddressExclude = " +
|
||||
"getParameterByName(\'deviceAddressExclude\');\r\n if (deviceAddre" +
|
||||
"ssExclude) {\r\n filterDeviceAddressExclude = {};\r\n " +
|
||||
" var split = deviceAddressExclude.split(\",\");\r\n " +
|
||||
" for (var i = 0; i < split.length; i++) {\r\n filt" +
|
||||
"erDeviceAddressExclude[split[i].toLowerCase()] = true;\r\n " +
|
||||
"}\r\n } else {\r\n var deviceProfileInclud" +
|
||||
"e = getParameterByName(\'deviceProfileInclude\');\r\n if (dev" +
|
||||
"iceProfileInclude) {\r\n filterDeviceProfileInclude = {" +
|
||||
"};\r\n var deviceProfileIncludeSplit = deviceProfileInc" +
|
||||
"lude.split(\",\");\r\n for (var i = 0; i < deviceProfileI" +
|
||||
"ncludeSplit.length; i++) {\r\n filterDeviceProfileI" +
|
||||
"nclude[parseInt(deviceProfileIncludeSplit[i])] = true;\r\n " +
|
||||
" }\r\n } else {\r\n var deviceP" +
|
||||
"rofileExclude = getParameterByName(\'deviceProfileExclude\');\r\n " +
|
||||
" if (deviceProfileExclude) {\r\n filterDevi" +
|
||||
"ceProfileExclude = {};\r\n var deviceProfileExclude" +
|
||||
"Split = deviceProfileExclude.split(\",\");\r\n for (v" +
|
||||
"ar i = 0; i < deviceProfileExcludeSplit.length; i++) {\r\n " +
|
||||
" filterDeviceProfileExclude[parseInt(deviceProfileExcludeSplit[i])] =" +
|
||||
" true;\r\n }\r\n }\r\n " +
|
||||
" }\r\n }\r\n }\r\n }\r\n " +
|
||||
" var calculateFilter = function (model) {\r\n if (model) {" +
|
||||
"\r\n if (filterDeviceAddressInclude) {\r\n " +
|
||||
" return (filterDeviceAddressInclude[model.DeviceAddress.toLowerCase()] == true)\r" +
|
||||
"\n }\r\n if (filterDeviceAddressExclude) {\r\n " +
|
||||
" return (!filterDeviceAddressExclude[model.DeviceAddress.t" +
|
||||
"oLowerCase()])\r\n }\r\n if (filterDeviceProfi" +
|
||||
"leInclude) {\r\n return (filterDeviceProfileInclude[model.D" +
|
||||
"eviceProfileId] == true)\r\n }\r\n if (filterD" +
|
||||
"eviceProfileExclude) {\r\n return (!filterDeviceProfileExcl" +
|
||||
"ude[model.DeviceProfileId])\r\n }\r\n return t" +
|
||||
"rue;\r\n }\r\n return false;\r\n }\r\n\r\n " +
|
||||
" var sortModels = function () {\r\n modelsInProcessSorted = [];" +
|
||||
"\r\n modelsReadyForReturnSorted = [];\r\n modelsWaitin" +
|
||||
"gForUserActionSorted = [];\r\n var modelSortFunc = function (a, b) " +
|
||||
"{\r\n if (a.UserId.toUpperCase() == b.UserId.toUpperCase()) {\r\n" +
|
||||
" return 0;\r\n } else {\r\n " +
|
||||
" if (a.UserId.toUpperCase() < b.UserId.toUpperCase()) {\r\n " +
|
||||
" return -1\r\n } else {\r\n " +
|
||||
" return 1\r\n }\r\n }\r\n " +
|
||||
" };\r\n for (var key in models) {\r\n var model =" +
|
||||
" models[key];\r\n if (model) {\r\n if (mod" +
|
||||
"el.WaitingForUserAction) {\r\n modelsWaitingForUserActi" +
|
||||
"onSorted.push(model);\r\n } else {\r\n " +
|
||||
" if (model.ReadyForReturn) {\r\n modelsReadyFor" +
|
||||
"ReturnSorted.push(model);\r\n } else {\r\n " +
|
||||
" modelsInProcessSorted.push(model);\r\n " +
|
||||
" }\r\n }\r\n }\r\n }\r\n " +
|
||||
" modelsReadyForReturnSorted = modelsReadyForReturnSorted.sort(modelSortF" +
|
||||
"unc);\r\n modelsInProcessSorted = modelsInProcessSorted.sort(modelS" +
|
||||
"ortFunc);\r\n modelsWaitingForUserActionSorted = modelsWaitingForUs" +
|
||||
"erActionSorted.sort(modelSortFunc);\r\n\r\n if (modelsInProcessSorted" +
|
||||
".length != modelsInProcessCount) {\r\n modelsInProcessCount = m" +
|
||||
"odelsInProcessSorted.length;\r\n $(\'#inProcessCount\').text(\'(\' " +
|
||||
"+ modelsInProcessCount + \')\');\r\n }\r\n if (modelsRea" +
|
||||
"dyForReturnSorted.length != modelsReadyForReturnCount) {\r\n mo" +
|
||||
"delsReadyForReturnCount = modelsReadyForReturnSorted.length;\r\n " +
|
||||
" $(\'#readyForReturnCount\').text(\'(\' + modelsReadyForReturnCount + \')\');\r\n " +
|
||||
" }\r\n if (modelsWaitingForUserActionSorted.length != mode" +
|
||||
"lsWaitingForUserActionCount) {\r\n modelsWaitingForUserActionCo" +
|
||||
"unt = modelsWaitingForUserActionSorted.length;\r\n $(\'#waitingF" +
|
||||
"orUserActionCount\').text(\'(\' + modelsWaitingForUserActionCount + \')\');\r\n " +
|
||||
" }\r\n\r\n };\r\n\r\n var scrollReadyForReturn = function (" +
|
||||
") {\r\n $readyForReturnContent.find(\'li\').last().detach().prependTo" +
|
||||
"($readyForReturnContent).hide().slideDown(\'slow\');\r\n modelsReadyF" +
|
||||
"orReturnIndexOffset++;\r\n if (modelsReadyForReturnIndexOffset >= m" +
|
||||
"odelsReadyForReturnSorted.length) {\r\n modelsReadyForReturnInd" +
|
||||
"exOffset = 0;\r\n }\r\n scrollReadyForReturnToken = wi" +
|
||||
"ndow.setTimeout(scrollReadyForReturn, scrollSpeed);\r\n };\r\n " +
|
||||
" var updateScrollReadyForReturn = function () {\r\n var containerHe" +
|
||||
"ight = $readyForReturn.find(\'.content\').height();\r\n var contentHe" +
|
||||
"ight = $readyForReturnContent.height();\r\n if (containerHeight >= " +
|
||||
"contentHeight && scrollReadyForReturnToken) {\r\n window.clearT" +
|
||||
"imeout(scrollReadyForReturnToken);\r\n return;\r\n " +
|
||||
" }\r\n if (containerHeight < contentHeight && scrollReadyForReturnT" +
|
||||
"oken == null) {\r\n scrollReadyForReturnToken = window.setTimeo" +
|
||||
"ut(scrollReadyForReturn, scrollSpeed);\r\n }\r\n };\r\n " +
|
||||
" var scrollInProcess = function () {\r\n $inProcessContent.fi" +
|
||||
"nd(\'li\').last().detach().prependTo($inProcessContent).hide().slideDown(\'slow\');\r" +
|
||||
"\n modelsInProcessIndexOffset++;\r\n if (modelsInProc" +
|
||||
"essIndexOffset >= modelsInProcessSorted.length) {\r\n modelsInP" +
|
||||
"rocessIndexOffset = 0;\r\n }\r\n scrollInProcessToken " +
|
||||
"= window.setTimeout(scrollInProcess, scrollSpeed);\r\n };\r\n " +
|
||||
"var updateScrollInProcess = function () {\r\n var containerHeight =" +
|
||||
" $inProcess.find(\'.content\').height();\r\n var contentHeight = $inP" +
|
||||
"rocessContent.height();\r\n if (containerHeight >= contentHeight &&" +
|
||||
" scrollInProcessToken) {\r\n window.clearTimeout(scrollInProces" +
|
||||
"sToken);\r\n return;\r\n }\r\n if (co" +
|
||||
"ntainerHeight < contentHeight && scrollInProcessToken == null) {\r\n " +
|
||||
" scrollInProcessToken = window.setTimeout(scrollInProcess, scrollSpeed);\r\n " +
|
||||
" }\r\n };\r\n var scrollWaitingForUserAction = f" +
|
||||
"unction () {\r\n $waitingForUserActionContent.find(\'li\').last().det" +
|
||||
"ach().prependTo($waitingForUserActionContent).hide().slideDown(\'slow\');\r\n " +
|
||||
" modelsInProcessIndexOffset++;\r\n if (modelsWaitingForUser" +
|
||||
"ActionIndexOffset >= modelsWaitingForUserActionSorted.length) {\r\n " +
|
||||
" modelsWaitingForUserActionIndexOffset = 0;\r\n }\r\n " +
|
||||
" scrollWaitingForUserActionToken = window.setTimeout(scrollWaitingForUserActi" +
|
||||
"on, scrollSpeed);\r\n };\r\n var updateScrollWaitingForUserAct" +
|
||||
"ion = function () {\r\n var containerHeight = $waitingForUserAction" +
|
||||
".find(\'.content\').height();\r\n var contentHeight = $waitingForUser" +
|
||||
"ActionContent.height();\r\n if (containerHeight >= contentHeight &&" +
|
||||
" scrollWaitingForUserActionToken) {\r\n window.clearTimeout(scr" +
|
||||
"ollWaitingForUserActionToken);\r\n return;\r\n }\r\n" +
|
||||
" if (containerHeight < contentHeight && scrollWaitingForUserActio" +
|
||||
"nToken == null) {\r\n scrollWaitingForUserActionToken = window." +
|
||||
"setTimeout(scrollWaitingForUserAction, scrollSpeed);\r\n }\r\n " +
|
||||
" };\r\n\r\n var modelInsertIndex = function (model) {\r\n " +
|
||||
" sortModels();\r\n var findIndex = function (model, array, offset)" +
|
||||
" {\r\n for (var i = 0; i < array.length; i++) {\r\n " +
|
||||
" if (model.UserId == array[i].UserId) {\r\n va" +
|
||||
"r index = i + offset;\r\n if (index > (array.length - 1" +
|
||||
")) {\r\n index = index - (array.length - 1);\r\n " +
|
||||
" }\r\n return index;\r\n " +
|
||||
" }\r\n };\r\n };\r\n if (" +
|
||||
"model.WaitingForUserAction) {\r\n return findIndex(model, model" +
|
||||
"sWaitingForUserActionSorted, modelsWaitingForUserActionIndexOffset);\r\n " +
|
||||
" } else {\r\n if (model.ReadyForReturn) {\r\n " +
|
||||
" return findIndex(model, modelsReadyForReturnSorted, modelsReadyForRetur" +
|
||||
"nIndexOffset);\r\n } else {\r\n return fin" +
|
||||
"dIndex(model, modelsInProcessSorted, modelsInProcessIndexOffset);\r\n " +
|
||||
" }\r\n }\r\n }\r\n var modelInsert = functi" +
|
||||
"on (model) {\r\n var index = modelInsertIndex(model);\r\n " +
|
||||
" var insertTo = function (model, host) {\r\n var hostLi = ho" +
|
||||
"st.children(\'li\');\r\n if (hostLi.length == 0 || hostLi.length " +
|
||||
"< index) {\r\n host.append(model.htmlLi);\r\n " +
|
||||
" } else {\r\n if (index == 0) {\r\n " +
|
||||
" host.prepend(model.htmlLi);\r\n } else {\r\n " +
|
||||
" $(hostLi.get(index - 1)).after(model.htmlLi);\r\n " +
|
||||
" }\r\n }\r\n }\r\n if (model.Wa" +
|
||||
"itingForUserAction) {\r\n insertTo(model, $waitingForUserAction" +
|
||||
"Content);\r\n window.setTimeout(updateScrollWaitingForUserActio" +
|
||||
"n, 100);\r\n } else {\r\n if (model.ReadyForReturn" +
|
||||
") {\r\n insertTo(model, $readyForReturnContent);\r\n " +
|
||||
" window.setTimeout(updateScrollReadyForReturn, 100);\r\n " +
|
||||
" } else {\r\n insertTo(model, $inProcessContent);\r\n " +
|
||||
" window.setTimeout(updateScrollInProcess, 100);\r\n " +
|
||||
" }\r\n }\r\n }\r\n\r\n var removeModel = " +
|
||||
"function (model) {\r\n if (model) {\r\n if (model." +
|
||||
"updateAtToken) {\r\n window.clearTimeout(model.updateAtToke" +
|
||||
"n);\r\n };\r\n model.htmlLi.slideUp(\'fast\', fu" +
|
||||
"nction () {\r\n model.htmlLi.remove();\r\n " +
|
||||
" });\r\n }\r\n };\r\n\r\n var scheduleModelUpdate =" +
|
||||
" function (model) {\r\n if (model.updateAtToken) {\r\n " +
|
||||
" window.clearTimeout(model.updateAtToken);\r\n };\r\n " +
|
||||
" if (model.UpdateAt) {\r\n if (typeof model.UpdateAt == \'str" +
|
||||
"ing\' && model.UpdateAt.indexOf(\'\\/Date(\') == 0) {\r\n model" +
|
||||
".UpdateAt = new Date(parseInt(model.UpdateAt.substr(6)));\r\n }" +
|
||||
"\r\n var nowMilliseconds = new Date().getTime();\r\n " +
|
||||
" var updateAtMilliseconds = (model.UpdateAt - nowMilliseconds);\r\n " +
|
||||
" if (updateAtMilliseconds > 0) {\r\n model.update" +
|
||||
"AtToken = window.setTimeout(function () { updatedModel(model.UserId); }, updateA" +
|
||||
"tMilliseconds);\r\n } else {\r\n model.Upd" +
|
||||
"ateAt = null;\r\n }\r\n }\r\n };\r\n\r\n " +
|
||||
" var processModel = function (id, model, init) {\r\n if (!cal" +
|
||||
"culateFilter(model)) {\r\n removeModel(models[id]);\r\n " +
|
||||
" delete models[id];\r\n sortModels();\r\n " +
|
||||
" } else {\r\n var existing = models[id];\r\n m" +
|
||||
"odels[id] = model;\r\n\r\n // Add\r\n model.html" +
|
||||
"Content = $(\'<div>\').text(model.UserId + \' - \' + model.UserDisplayName);\r\n " +
|
||||
" if (!model.ReadyForReturn && model.EstimatedReturnTime) {\r\n " +
|
||||
" model.htmlContent.append($(\'<span class=\"small\">\').text(\' (Expe" +
|
||||
"cted: \' + model.EstimatedReturnTime + \')\'));\r\n }\r\n " +
|
||||
" if (model.WaitingForUserAction) {\r\n model.htmlCo" +
|
||||
"ntent.append($(\'<span class=\"small\">\').text(\' (Since \' + model.WaitingForUserAct" +
|
||||
"ionSince + \')\'));\r\n } else {\r\n if (mod" +
|
||||
"el.ReadyForReturn && model.ReadyForReturnSince) {\r\n m" +
|
||||
"odel.htmlContent.append($(\'<span class=\"small\">\').text(\' (Ready \' + model.ReadyF" +
|
||||
"orReturnSince + \')\'));\r\n }\r\n }\r\n\r\n " +
|
||||
" if (existing) {\r\n if (existing.ReadyForRe" +
|
||||
"turn != model.ReadyForReturn || existing.WaitingForUserAction != model.WaitingFo" +
|
||||
"rUserAction) {\r\n removeModel(existing);\r\n " +
|
||||
" model.htmlLi = $(\'<li>\').html(model.htmlContent).data(\'ModelId\'," +
|
||||
" id).hide();\r\n modelInsert(model);\r\n " +
|
||||
" if (init) {\r\n model.htmlLi.fadeIn();\r\n" +
|
||||
" } else {\r\n model.html" +
|
||||
"Li.slideDown();\r\n }\r\n } else {" +
|
||||
"\r\n if (existing.updateAtToken) {\r\n " +
|
||||
" window.clearTimeout(existing.updateAtToken);\r\n " +
|
||||
" };\r\n model.htmlLi = existing.htmlLi;\r\n " +
|
||||
" model.htmlLi.slideUp(\'fast\', function () {\r\n " +
|
||||
" model.htmlLi.html(model.htmlContent).slideDown();\r\n " +
|
||||
" });\r\n }\r\n } else {\r\n " +
|
||||
" model.htmlLi = $(\'<li>\').html(model.htmlContent).data(\'Mode" +
|
||||
"lId\', id).hide();\r\n modelInsert(model);\r\n " +
|
||||
" if (init) {\r\n model.htmlLi.fadeIn();\r\n " +
|
||||
" } else {\r\n model.htmlLi.slideDown(\'s" +
|
||||
"low\');\r\n }\r\n }\r\n if" +
|
||||
" (model.htmlLi && model.IsAlert) {\r\n model.htmlLi.addClas" +
|
||||
"s(\'alert\');\r\n }\r\n scheduleModelUpdate(mode" +
|
||||
"l);\r\n }\r\n };\r\n\r\n var updatedModel = functio" +
|
||||
"n (id) {\r\n var UserId = id.toString();\r\n $.getJSON" +
|
||||
"(\'");
|
||||
|
||||
|
||||
#line 457 "..\..\Areas\Public\Views\UserHeldDevices\Noticeboard.cshtml"
|
||||
Write(Url.Action(MVC.Public.UserHeldDevices.UserHeldDevice()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"', { id: UserId }, function (data) {
|
||||
processModel(UserId, data, false);
|
||||
});
|
||||
};
|
||||
|
||||
var connectionError = function () {
|
||||
if (persistantConnection) {
|
||||
persistantConnection.stop();
|
||||
persistantConnection = null;
|
||||
window.setTimeout(function () {
|
||||
window.location.href = '");
|
||||
|
||||
|
||||
#line 467 "..\..\Areas\Public\Views\UserHeldDevices\Noticeboard.cshtml"
|
||||
Write(Url.Action(MVC.Public.UserHeldDevices.Noticeboard()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\';\r\n }, 10000);\r\n }\r\n }\r\n\r\n " +
|
||||
" var init = function () {\r\n buildFilters();\r\n pe" +
|
||||
"rsistantConnection = $.connection(\'");
|
||||
|
||||
|
||||
#line 474 "..\..\Areas\Public\Views\UserHeldDevices\Noticeboard.cshtml"
|
||||
Write(Url.Content("~/Public/UserHeldDevices/Notifications"));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\');\r\n persistantConnection.received(updatedModel);\r\n " +
|
||||
" persistantConnection.error(connectionError);\r\n persistantConnec" +
|
||||
"tion.start(function () {\r\n $.getJSON(\'");
|
||||
|
||||
|
||||
#line 478 "..\..\Areas\Public\Views\UserHeldDevices\Noticeboard.cshtml"
|
||||
Write(Url.Action(MVC.Public.UserHeldDevices.UserHeldDevices()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"', null, function (data) {
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
processModel(data[i].UserId, data[i], true);
|
||||
}
|
||||
});
|
||||
});
|
||||
};
|
||||
init();
|
||||
|
||||
});
|
||||
</script>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" id=\"mainFooter\"");
|
||||
|
||||
WriteLiteral(">\r\n <img");
|
||||
|
||||
WriteLiteral(" style=\"width: 32px; height: 32px; margin-top: -5px; margin-bottom: -15px;\"");
|
||||
|
||||
WriteAttribute("src", Tuple.Create(" src=\"", 23515), Tuple.Create("\"", 23564)
|
||||
|
||||
#line 490 "..\..\Areas\Public\Views\UserHeldDevices\Noticeboard.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 23521), Tuple.Create<System.Object, System.Int32>(Links.ClientSource.Style.Images.Icon32_png
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 23521), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" alt=\"Disco Logo\"");
|
||||
|
||||
WriteLiteral(" />\r\n powered by Disco\r\n </div>\r\n</body>\r\n</html>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,62 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<configuration>
|
||||
<configSections>
|
||||
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
|
||||
</sectionGroup>
|
||||
</configSections>
|
||||
|
||||
<system.web.webPages.razor>
|
||||
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
|
||||
<pages pageBaseType="System.Web.Mvc.WebViewPage">
|
||||
<namespaces>
|
||||
<add namespace="Disco.Models.Repository" />
|
||||
<add namespace="Disco.BI.Extensions" />
|
||||
<add namespace="Disco.Web" />
|
||||
<add namespace="Disco.Web.Extensions" />
|
||||
<add namespace="System.Web.Mvc" />
|
||||
<add namespace="System.Web.Mvc.Ajax" />
|
||||
<add namespace="System.Web.Mvc.Html" />
|
||||
<add namespace="System.Web.Routing" />
|
||||
</namespaces>
|
||||
</pages>
|
||||
</system.web.webPages.razor>
|
||||
|
||||
<appSettings>
|
||||
<add key="webpages:Enabled" value="false" />
|
||||
</appSettings>
|
||||
|
||||
<system.web>
|
||||
<httpHandlers>
|
||||
<add path="*" verb="*" type="System.Web.HttpNotFoundHandler"/>
|
||||
</httpHandlers>
|
||||
|
||||
<!--
|
||||
Enabling request validation in view pages would cause validation to occur
|
||||
after the input has already been processed by the controller. By default
|
||||
MVC performs request validation before a controller processes the input.
|
||||
To change this behavior apply the ValidateInputAttribute to a
|
||||
controller or action.
|
||||
-->
|
||||
<pages
|
||||
validateRequest="false"
|
||||
pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
|
||||
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
|
||||
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
|
||||
<controls>
|
||||
<add assembly="System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
|
||||
</controls>
|
||||
</pages>
|
||||
</system.web>
|
||||
|
||||
<system.webServer>
|
||||
<validation validateIntegratedModeConfiguration="false" />
|
||||
|
||||
<handlers>
|
||||
<remove name="BlockViewHandler"/>
|
||||
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
|
||||
</handlers>
|
||||
</system.webServer>
|
||||
</configuration>
|
||||
@@ -0,0 +1,3 @@
|
||||
@{
|
||||
Layout = "~/Areas/Public/Views/Shared/_Layout.cshtml";
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
#pragma warning disable 1591
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.17929
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace Disco.Web.Areas.Public.Views
|
||||
{
|
||||
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.BI.Extensions;
|
||||
using Disco.Models.Repository;
|
||||
using Disco.Web;
|
||||
using Disco.Web.Extensions;
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Areas/Public/Views/_ViewStart.cshtml")]
|
||||
public class ViewStart : System.Web.Mvc.ViewStartPage
|
||||
{
|
||||
public ViewStart()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 1 "..\..\Areas\Public\Views\_ViewStart.cshtml"
|
||||
|
||||
Layout = "~/Areas/Public/Views/Shared/_Layout.cshtml";
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
Reference in New Issue
Block a user