Permissions & Authorization for Users #24

Initial Release; Includes Database and MVC refactoring
This commit is contained in:
Gary Sharp
2013-10-10 19:13:16 +11:00
parent 172ce5524a
commit a099d68915
458 changed files with 40221 additions and 12130 deletions
+185 -90
View File
@@ -2,7 +2,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.18033
// Runtime Version:4.0.30319.18051
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -28,12 +28,14 @@ namespace Disco.Web.Views.Job
using System.Web.WebPages;
using Disco.BI.Extensions;
using Disco.Models.Repository;
using Disco.Services.Authorization;
using Disco.Services.Web;
using Disco.Web;
using Disco.Web.Extensions;
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
[System.Web.WebPages.PageVirtualPathAttribute("~/Views/Job/Index.cshtml")]
public partial class Index : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.IndexModel>
public partial class Index : Disco.Services.Web.WebViewPage<Disco.Web.Models.Job.IndexModel>
{
public Index()
{
@@ -44,7 +46,11 @@ namespace Disco.Web.Views.Job
#line 2 "..\..\Views\Job\Index.cshtml"
ViewBag.Title = "Jobs";
Html.BundleDeferred("~/ClientScripts/Modules/Highcharts");
if (Authorization.Has(Claims.Job.ShowDailyChart))
{
Html.BundleDeferred("~/ClientScripts/Modules/Highcharts");
}
#line default
@@ -53,118 +59,176 @@ WriteLiteral("\r\n<div");
WriteLiteral(" class=\"clearfix columnHost\"");
WriteLiteral(">\r\n <div");
WriteLiteral(" class=\"column50\"");
WriteLiteral(">\r\n <h2>Search Jobs</h2>\r\n");
WriteLiteral(" ");
WriteLiteral(">\r\n");
#line 9 "..\..\Views\Job\Index.cshtml"
Write(Html.Partial(MVC.Shared.Views._SearchDialog, "jobs"));
#line 11 "..\..\Views\Job\Index.cshtml"
#line default
#line hidden
#line 11 "..\..\Views\Job\Index.cshtml"
if (Authorization.Has(Claims.Job.Search))
{
#line default
#line hidden
WriteLiteral("\r\n </div>\r\n <div");
WriteLiteral(" <div");
WriteLiteral(" class=\"column50\"");
WriteLiteral(">\r\n <h2>Daily Opened &amp; Closed Jobs</h2>\r\n <div");
WriteLiteral(">\r\n <h2>Search Jobs</h2>\r\n");
WriteLiteral(" ");
#line 15 "..\..\Views\Job\Index.cshtml"
Write(Html.Partial(MVC.Shared.Views._SearchDialog, "jobs"));
#line default
#line hidden
WriteLiteral("\r\n </div>\r\n");
#line 17 "..\..\Views\Job\Index.cshtml"
}
#line default
#line hidden
WriteLiteral(" ");
#line 18 "..\..\Views\Job\Index.cshtml"
if (Authorization.Has(Claims.Job.ShowDailyChart))
{
#line default
#line hidden
WriteLiteral(" <div");
WriteLiteral(" class=\"column50\"");
WriteLiteral(">\r\n <h2>Daily Opened &amp; Closed Jobs</h2>\r\n <div");
WriteLiteral(" id=\"chartHostJobDailyOpenedClosed\"");
WriteLiteral(" style=\"height: 175px;\"");
WriteLiteral(">\r\n </div>\r\n");
WriteLiteral(">\r\n </div>\r\n");
#line 15 "..\..\Views\Job\Index.cshtml"
#line 24 "..\..\Views\Job\Index.cshtml"
#line default
#line hidden
#line 15 "..\..\Views\Job\Index.cshtml"
var jsonData = new HtmlString(Json.Encode(Model.DailyOpenedClosedStatistics));
#line 24 "..\..\Views\Job\Index.cshtml"
var jsonData = new HtmlString(Json.Encode(Model.DailyOpenedClosedStatistics));
#line default
#line hidden
WriteLiteral("\r\n <script");
WriteLiteral("\r\n <script");
WriteLiteral(" type=\"text/javascript\"");
WriteLiteral(">\r\n (function () {\r\n var chartData;\r\n\r\n " +
"function buildChart() {\r\n $(function () {\r\n\r\n " +
" var data = chartData;\r\n\r\n var dataTotalOpenJobs =" +
" [];\r\n var dataOpenedJobs = [];\r\n " +
"var dataClosedJobs = [];\r\n for (var i = 0; i < data.lengt" +
"h; i++) {\r\n var dataItem = data[i];\r\n " +
" var dataItemDate = new Date(parseInt(dataItem.Timestamp.substr(6, da" +
"taItem.Timestamp.length - 8))).getTime(); // $.datepicker.parseDate(\'yy-mm-dd\', " +
"dataItem.Timestamp.substr(0, 10)).getTime();\r\n dataTo" +
"talOpenJobs.push([dataItemDate, dataItem.TotalJobs]);\r\n " +
" dataOpenedJobs.push([dataItemDate, dataItem.OpenedJobs]);\r\n " +
" dataClosedJobs.push([dataItemDate, dataItem.ClosedJobs]);\r\n " +
" }\r\n Highcharts.setOptions({\r\n " +
" global: {\r\n useUTC: false\r\n " +
" }\r\n });\r\n new H" +
"ighcharts.Chart({\r\n chart: {\r\n " +
" renderTo: \'chartHostJobDailyOpenedClosed\',\r\n " +
" height: 175,\r\n animation: false\r\n " +
" },\r\n colors: [\'#BBBBBB\', \'#005fab\', " +
"\'#DB761D\'],\r\n title: {\r\n " +
" text: null\r\n },\r\n plotO" +
"ptions: {\r\n series: {\r\n " +
" marker: {\r\n radius: 3\r\n " +
" },\r\n animation: f" +
"alse\r\n }\r\n },\r\n " +
" legend: {\r\n align: \'left\',\r\n" +
" verticalAlign: \'top\',\r\n " +
" y: 0,\r\n floating: true,\r\n " +
" borderWidth: 0\r\n },\r\n " +
" xAxis: {\r\n type: \'datetime\',\r\n " +
" tickInterval: 7 * 24 * 3600 * 1000, // week\r\n " +
" tickWidth: 1,\r\n gridLineWidt" +
"h: 1,\r\n dateTimeLabelFormats: {\r\n " +
" week: \'%e %b\'\r\n }\r\n " +
" },\r\n yAxis: [{\r\n " +
" title: {\r\n text: null\r\n " +
" },\r\n labels: {\r\n " +
" enabled: false\r\n },\r\n " +
" min: 0\r\n }, {\r\n " +
" title: {\r\n text: null" +
"\r\n },\r\n labels: {\r" +
"\n enabled: false\r\n " +
" },\r\n min: 0\r\n }]," +
"\r\n series: [{\r\n name: " +
"\'Total Open Jobs\',\r\n data: dataTotalOpenJobs,\r\n " +
" yAxis: 1\r\n }, {\r\n " +
" name: \'Closed Jobs\',\r\n " +
"data: dataClosedJobs\r\n }, {\r\n " +
" name: \'Opened Jobs\',\r\n data: dataOpenedJo" +
"bs\r\n }],\r\n credits: {\r\n " +
" enabled: false\r\n }\r\n " +
" });\r\n });\r\n }\r\n " +
" chartData = $.parseJSON(\'");
WriteLiteral(">\r\n (function () {\r\n var chartData;\r\n\r\n " +
" function buildChart() {\r\n $(function () {\r\n\r\n" +
" var data = chartData;\r\n\r\n " +
" var dataTotalOpenJobs = [];\r\n var dataOpenedJobs = [" +
"];\r\n var dataClosedJobs = [];\r\n " +
" for (var i = 0; i < data.length; i++) {\r\n v" +
"ar dataItem = data[i];\r\n var dataItemDate = new D" +
"ate(parseInt(dataItem.Timestamp.substr(6, dataItem.Timestamp.length - 8))).getTi" +
"me(); // $.datepicker.parseDate(\'yy-mm-dd\', dataItem.Timestamp.substr(0, 10)).ge" +
"tTime();\r\n dataTotalOpenJobs.push([dataItemDate, " +
"dataItem.TotalJobs]);\r\n dataOpenedJobs.push([data" +
"ItemDate, dataItem.OpenedJobs]);\r\n dataClosedJobs" +
".push([dataItemDate, dataItem.ClosedJobs]);\r\n }\r\n " +
" Highcharts.setOptions({\r\n " +
" global: {\r\n useUTC: false\r\n " +
" }\r\n });\r\n n" +
"ew Highcharts.Chart({\r\n chart: {\r\n " +
" renderTo: \'chartHostJobDailyOpenedClosed\',\r\n " +
" height: 175,\r\n animation" +
": false\r\n },\r\n col" +
"ors: [\'#BBBBBB\', \'#005fab\', \'#DB761D\'],\r\n title: " +
"{\r\n text: null\r\n " +
" },\r\n plotOptions: {\r\n " +
" series: {\r\n marker: {\r\n " +
" radius: 3\r\n " +
" },\r\n animation: false\r\n " +
" }\r\n },\r\n " +
" legend: {\r\n align: \'left\',\r\n" +
" verticalAlign: \'top\',\r\n " +
" y: 0,\r\n floating: true,\r\n " +
" borderWidth: 0\r\n }" +
",\r\n xAxis: {\r\n " +
" type: \'datetime\',\r\n tickInterval: 7 * 24 * 3" +
"600 * 1000, // week\r\n tickWidth: 1,\r\n " +
" gridLineWidth: 1,\r\n " +
" dateTimeLabelFormats: {\r\n week: \'%e %b" +
"\'\r\n }\r\n },\r\n " +
" yAxis: [{\r\n tit" +
"le: {\r\n text: null\r\n " +
" },\r\n labels: {\r\n " +
" enabled: false\r\n }," +
"\r\n min: 0\r\n }," +
" {\r\n title: {\r\n " +
" text: null\r\n },\r\n " +
" labels: {\r\n enabled: fa" +
"lse\r\n },\r\n " +
" min: 0\r\n }],\r\n se" +
"ries: [{\r\n name: \'Total Open Jobs\',\r\n " +
" data: dataTotalOpenJobs,\r\n " +
" yAxis: 1\r\n }, {\r\n " +
" name: \'Closed Jobs\',\r\n data: da" +
"taClosedJobs\r\n }, {\r\n " +
" name: \'Opened Jobs\',\r\n data: dataOpen" +
"edJobs\r\n }],\r\n cre" +
"dits: {\r\n enabled: false\r\n " +
" }\r\n });\r\n });\r\n " +
" }\r\n chartData = $.parseJSON(\'");
#line 110 "..\..\Views\Job\Index.cshtml"
Write(jsonData);
#line 119 "..\..\Views\Job\Index.cshtml"
Write(jsonData);
#line default
#line hidden
WriteLiteral("\');\r\n buildChart();\r\n }());\r\n\r\n </script>\r\n <" +
"/div>\r\n</div>\r\n<h2>Open Jobs Awaiting Technician Action (");
WriteLiteral("\');\r\n buildChart();\r\n }());\r\n\r\n </sc" +
"ript>\r\n </div>\r\n");
#line 117 "..\..\Views\Job\Index.cshtml"
Write(Model.OpenJobs.Items.Count);
#line 125 "..\..\Views\Job\Index.cshtml"
}
#line default
#line hidden
WriteLiteral("</div>\r\n");
#line 127 "..\..\Views\Job\Index.cshtml"
if (Authorization.Has(Claims.Job.Lists.AwaitingTechnicianAction))
{
#line default
#line hidden
WriteLiteral(" <h2>Open Jobs Awaiting Technician Action (");
#line 129 "..\..\Views\Job\Index.cshtml"
Write(Model.OpenJobs.Items.Count);
#line default
@@ -172,17 +236,39 @@ WriteLiteral("\');\r\n buildChart();\r\n }());\r\n\r\n
WriteLiteral(")</h2>\r\n");
#line 118 "..\..\Views\Job\Index.cshtml"
#line 130 "..\..\Views\Job\Index.cshtml"
#line default
#line hidden
#line 130 "..\..\Views\Job\Index.cshtml"
Write(Html.Partial(MVC.Shared.Views._JobTable, Model.OpenJobs, new ViewDataDictionary()));
#line default
#line hidden
WriteLiteral("\r\n<h2>Long Running Jobs (");
#line 130 "..\..\Views\Job\Index.cshtml"
}
#line 119 "..\..\Views\Job\Index.cshtml"
Write(Model.LongRunningJobs.Items.Count);
#line default
#line hidden
#line 132 "..\..\Views\Job\Index.cshtml"
if (Authorization.Has(Claims.Job.Lists.LongRunningJobs))
{
#line default
#line hidden
WriteLiteral(" <h2>Long Running Jobs (");
#line 134 "..\..\Views\Job\Index.cshtml"
Write(Model.LongRunningJobs.Items.Count);
#line default
@@ -190,16 +276,25 @@ WriteLiteral("\r\n<h2>Long Running Jobs (");
WriteLiteral(")</h2>\r\n");
#line 120 "..\..\Views\Job\Index.cshtml"
#line 135 "..\..\Views\Job\Index.cshtml"
#line default
#line hidden
#line 135 "..\..\Views\Job\Index.cshtml"
Write(Html.Partial(MVC.Shared.Views._JobTable, Model.LongRunningJobs, new ViewDataDictionary()));
#line default
#line hidden
WriteLiteral("\r\n");
WriteLiteral("\r\n");
#line 135 "..\..\Views\Job\Index.cshtml"
}
#line default
#line hidden
}
}
}