Feature: User Create Job where Multiple Devices

This commit is contained in:
Gary Sharp
2013-06-24 19:03:35 +10:00
parent deb1f1c925
commit d52d4b6164
6 changed files with 780 additions and 376 deletions
@@ -15,11 +15,10 @@
} }
} }
// Create Job Button if (!document.DiscoFunctions) {
$('#buttonCreateJob').click(function () { document.DiscoFunctions = {};
var $this = $(this); }
var href = $this.attr('href'); document.DiscoFunctions.CreateOpenJobDialog = function (url) {
createJobDialog = $('<div>').attr('id', 'createJobDialog').width('100%').height('100%').appendTo(document.body); createJobDialog = $('<div>').attr('id', 'createJobDialog').width('100%').height('100%').appendTo(document.body);
createJobDialog.dialog({ createJobDialog.dialog({
@@ -38,9 +37,17 @@
buttons: {} buttons: {}
}); });
var iframe = $('<iframe>').attr({ 'src': href }).width('100%').height('100%').css('border', 'none').appendTo(createJobDialog); var iframe = $('<iframe>').attr({ 'src': url }).width('100%').height('100%').css('border', 'none').appendTo(createJobDialog);
createJobDialog[0].discoDialogMethods = dialogMethods; createJobDialog[0].discoDialogMethods = dialogMethods;
}
// Create Job Button
$('#buttonCreateJob').click(function () {
var $this = $(this);
var href = $this.attr('href');
document.DiscoFunctions.CreateOpenJobDialog(href);
return false; return false;
}); });
@@ -1,2 +1,2 @@
(function(n,t,i){n(function(){var r=null,u={close:function(){r.dialog("close")},setButtons:function(n){r&&r.dialog("option","buttons",n)}};n("#buttonCreateJob").click(function(){var f=n(this),e=f.attr("href"),o;return r=n("<div>").attr("id","createJobDialog").width("100%").height("100%").appendTo(i.body),r.dialog({resizable:!1,draggable:!1,modal:!0,autoOpen:!0,title:"Create Job",width:850,height:n(t).height()-50,close:function(){r.find("iframe").attr("src","about:blank"),r.dialog("destroy").remove(),r=null},buttons:{}}),o=n("<iframe>").attr({src:e}).width("100%").height("100%").css("border","none").appendTo(r),r[0].discoDialogMethods=u,!1})})})($,window,document); (function(n,t,i){n(function(){var r=null,u={close:function(){r.dialog("close")},setButtons:function(n){r&&r.dialog("option","buttons",n)}};i.DiscoFunctions||(i.DiscoFunctions={}),i.DiscoFunctions.CreateOpenJobDialog=function(f){r=n("<div>").attr("id","createJobDialog").width("100%").height("100%").appendTo(i.body),r.dialog({resizable:!1,draggable:!1,modal:!0,autoOpen:!0,title:"Create Job",width:850,height:n(t).height()-50,close:function(){r.find("iframe").attr("src","about:blank"),r.dialog("destroy").remove(),r=null},buttons:{}});var e=n("<iframe>").attr({src:f}).width("100%").height("100%").css("border","none").appendTo(r);r[0].discoDialogMethods=u},n("#buttonCreateJob").click(function(){var t=n(this),r=t.attr("href");return i.DiscoFunctions.CreateOpenJobDialog(r),!1})})})($,window,document);
//@ sourceMappingURL=Disco-CreateJob.min.js.map //@ sourceMappingURL=Disco-CreateJob.min.js.map
@@ -2,7 +2,7 @@
"version":3, "version":3,
"file":"Disco-CreateJob.min.js", "file":"Disco-CreateJob.min.js",
"lineCount":1, "lineCount":1,
"mappings":"CAGC,QAAS,CAACA,CAAC,CAAEC,CAAM,CAAEC,CAAZ,CAAsB,CAC5BF,CAAC,CAAC,QAAS,CAAA,CAAG,CACV,IAAIG,EAAkB,KAClBC,EAAgB,CAChB,KAAK,CAAEC,QAAS,CAAA,CAAG,CACfF,CAAeG,OAAO,CAAC,OAAD,CADP,CAElB,CACD,UAAU,CAAEC,QAAS,CAACC,CAAD,CAAU,CACvBL,C,EACAA,CAAeG,OAAO,CAAC,QAAQ,CAAE,SAAS,CAAEE,CAAtB,CAFC,CAJf,CADM,CAY1BR,CAAC,CAAC,kBAAD,CAAoBS,MAAM,CAAC,QAAS,CAAA,CAAG,CACpC,IAAIC,EAAQV,CAAC,CAAC,IAAD,EACTW,EAAOD,CAAKE,KAAK,CAAC,MAAD,EAoBjBC,CArBe,CAyBnB,OAtBAV,CAAgB,CAAEH,CAAC,CAAC,OAAD,CAASY,KAAK,CAAC,IAAI,CAAE,iBAAP,CAAyBE,MAAM,CAAC,MAAD,CAAQC,OAAO,CAAC,MAAD,CAAQC,SAAS,CAACd,CAAQe,KAAT,CAAe,CAE/Gd,CAAeG,OAAO,CAAC,CACnB,SAAS,CAAE,CAAA,CAAK,CAChB,SAAS,CAAE,CAAA,CAAK,CAChB,KAAK,CAAE,CAAA,CAAI,CACX,QAAQ,CAAE,CAAA,CAAI,CACd,KAAK,CAAE,YAAY,CACnB,KAAK,CAAE,GAAG,CACV,MAAM,CAAEN,CAAC,CAACC,CAAD,CAAQc,OAAO,CAAA,CAAG,CAAE,EAAE,CAC/B,KAAK,CAAEV,QAAS,CAAA,CAAG,CACfF,CAAee,KAAK,CAAC,QAAD,CAAUN,KAAK,CAAC,KAAK,CAAE,aAAR,CAAsB,CACzDT,CAAeG,OAAO,CAAC,SAAD,CAAWa,OAAO,CAAA,CAAE,CAC1ChB,CAAgB,CAAE,IAHH,CAIlB,CACD,OAAO,CAAE,CAAA,CAbU,CAAD,CAcpB,CAEEU,CAAO,CAAEb,CAAC,CAAC,UAAD,CAAYY,KAAK,CAAC,CAAE,GAAK,CAAED,CAAT,CAAD,CAAiBG,MAAM,CAAC,MAAD,CAAQC,OAAO,CAAC,MAAD,CAAQK,IAAI,CAAC,QAAQ,CAAE,MAAX,CAAkBJ,SAAS,CAACb,CAAD,C,CAE5GA,CAAgB,CAAA,CAAA,CAAEkB,mBAAoB,CAAEjB,CAAa,CAE9C,CAAA,CA1B6B,CAAb,CAbjB,CAAb,CAD2B,EA2C9B,CAACJ,CAAC,CAAEC,MAAM,CAAEC,QAAZ,CAAqB", "mappings":"CAGC,QAAS,CAACA,CAAC,CAAEC,CAAM,CAAEC,CAAZ,CAAsB,CAC5BF,CAAC,CAAC,QAAS,CAAA,CAAG,CACV,IAAIG,EAAkB,KAClBC,EAAgB,CAChB,KAAK,CAAEC,QAAS,CAAA,CAAG,CACfF,CAAeG,OAAO,CAAC,OAAD,CADP,CAElB,CACD,UAAU,CAAEC,QAAS,CAACC,CAAD,CAAU,CACvBL,C,EACAA,CAAeG,OAAO,CAAC,QAAQ,CAAE,SAAS,CAAEE,CAAtB,CAFC,CAJf,CADM,CAWrBN,CAAQO,e,GACTP,CAAQO,eAAgB,CAAE,CAAA,EAAE,CAEhCP,CAAQO,eAAeC,oBAAqB,CAAEC,QAAS,CAACC,CAAD,CAAM,CACzDT,CAAgB,CAAEH,CAAC,CAAC,OAAD,CAASa,KAAK,CAAC,IAAI,CAAE,iBAAP,CAAyBC,MAAM,CAAC,MAAD,CAAQC,OAAO,CAAC,MAAD,CAAQC,SAAS,CAACd,CAAQe,KAAT,CAAe,CAE/Gd,CAAeG,OAAO,CAAC,CACnB,SAAS,CAAE,CAAA,CAAK,CAChB,SAAS,CAAE,CAAA,CAAK,CAChB,KAAK,CAAE,CAAA,CAAI,CACX,QAAQ,CAAE,CAAA,CAAI,CACd,KAAK,CAAE,YAAY,CACnB,KAAK,CAAE,GAAG,CACV,MAAM,CAAEN,CAAC,CAACC,CAAD,CAAQc,OAAO,CAAA,CAAG,CAAE,EAAE,CAC/B,KAAK,CAAEV,QAAS,CAAA,CAAG,CACfF,CAAee,KAAK,CAAC,QAAD,CAAUL,KAAK,CAAC,KAAK,CAAE,aAAR,CAAsB,CACzDV,CAAeG,OAAO,CAAC,SAAD,CAAWa,OAAO,CAAA,CAAE,CAC1ChB,CAAgB,CAAE,IAHH,CAIlB,CACD,OAAO,CAAE,CAAA,CAbU,CAAD,CAcpB,CAEF,IAAIiB,EAASpB,CAAC,CAAC,UAAD,CAAYa,KAAK,CAAC,CAAE,GAAK,CAAED,CAAT,CAAD,CAAgBE,MAAM,CAAC,MAAD,CAAQC,OAAO,CAAC,MAAD,CAAQM,IAAI,CAAC,QAAQ,CAAE,MAAX,CAAkBL,SAAS,CAACb,CAAD,CAAiB,CAE5HA,CAAgB,CAAA,CAAA,CAAEmB,mBAAoB,CAAElB,CArBiB,C,CAyB7DJ,CAAC,CAAC,kBAAD,CAAoBuB,MAAM,CAAC,QAAS,CAAA,CAAG,CACpC,IAAIC,EAAQxB,CAAC,CAAC,IAAD,EACTyB,EAAOD,CAAKX,KAAK,CAAC,MAAD,CADF,CAKnB,OAFAX,CAAQO,eAAeC,oBAAoB,CAACe,CAAD,CAAM,CAE1C,CAAA,CAN6B,CAAb,CAxCjB,CAAb,CAD2B,EAkD9B,CAACzB,CAAC,CAAEC,MAAM,CAAEC,QAAZ,CAAqB",
"sources":["/ClientSource/Scripts/Modules/Disco-CreateJob/disco.createjob.js"], "sources":["/ClientSource/Scripts/Modules/Disco-CreateJob/disco.createjob.js"],
"names":["$","window","document","createJobDialog","dialogMethods","close","dialog","setButtons","buttons","click","$this","href","attr","iframe","width","height","appendTo","body","find","remove","css","discoDialogMethods"] "names":["$","window","document","createJobDialog","dialogMethods","close","dialog","setButtons","buttons","DiscoFunctions","CreateOpenJobDialog","document.DiscoFunctions.CreateOpenJobDialog","url","attr","width","height","appendTo","body","find","remove","iframe","css","discoDialogMethods","click","$this","href"]
} }
@@ -14,11 +14,10 @@
} }
} }
// Create Job Button if (!document.DiscoFunctions) {
$('#buttonCreateJob').click(function () { document.DiscoFunctions = {};
var $this = $(this); }
var href = $this.attr('href'); document.DiscoFunctions.CreateOpenJobDialog = function (url) {
createJobDialog = $('<div>').attr('id', 'createJobDialog').width('100%').height('100%').appendTo(document.body); createJobDialog = $('<div>').attr('id', 'createJobDialog').width('100%').height('100%').appendTo(document.body);
createJobDialog.dialog({ createJobDialog.dialog({
@@ -37,9 +36,17 @@
buttons: {} buttons: {}
}); });
var iframe = $('<iframe>').attr({ 'src': href }).width('100%').height('100%').css('border', 'none').appendTo(createJobDialog); var iframe = $('<iframe>').attr({ 'src': url }).width('100%').height('100%').css('border', 'none').appendTo(createJobDialog);
createJobDialog[0].discoDialogMethods = dialogMethods; createJobDialog[0].discoDialogMethods = dialogMethods;
}
// Create Job Button
$('#buttonCreateJob').click(function () {
var $this = $(this);
var href = $this.attr('href');
document.DiscoFunctions.CreateOpenJobDialog(href);
return false; return false;
}); });
+117 -6
View File
@@ -1,5 +1,9 @@
@model Disco.Web.Models.User.ShowModel @model Disco.Web.Models.User.ShowModel
@{
var currentDeviceAssignments = Model.User.DeviceUserAssignments.Where(dua => !dua.UnassignedDate.HasValue).OrderByDescending(dua => dua.AssignedDate).ToList();
}
<table id="User_Show_Subjects"> <table id="User_Show_Subjects">
<tbody>
<tr> <tr>
<td id="User_Show_Details"> <td id="User_Show_Details">
<div> <div>
@@ -85,7 +89,116 @@
@{ @{
Html.BundleDeferred("~/ClientScripts/Modules/Disco-CreateJob"); Html.BundleDeferred("~/ClientScripts/Modules/Disco-CreateJob");
} }
@Html.ActionLinkSmallButton("Create Job", MVC.Job.Create(Model.PrimaryDeviceSerialNumber, Model.User.Id), "buttonCreateJob") @Html.ActionLinkSmallButton("Create Job", MVC.Job.Create(Model.PrimaryDeviceSerialNumber, Model.User.Id), "User_Show_Details_Actions_CreateJob_Button")
@if (currentDeviceAssignments.Count > 1)
{
<div id="User_Show_Details_Actions_CreateJob_Dialog" class="dialog" title="Create Job for Which Device?">
<div class="clearfix">
<span class="ui-icon ui-icon-info" style="float: left; margin: 0 7px 20px 0;"></span>
Multiple devices are assigned to this user. Which device should be associated with this job?
</div>
<div>
<ul id="CreateJob_Assignments" class="none">
@foreach (var assignment in currentDeviceAssignments)
{
<li class="CreateJob_Assignment clearfix" data-createjoburl="@Url.Action(MVC.Job.Create(assignment.DeviceSerialNumber, Model.User.Id))">
<img class="CreateJob_Assignment_Image" alt="Model Image" src="@Url.Action(MVC.API.DeviceModel.Image(assignment.Device.DeviceModel.Id, assignment.Device.DeviceModel.ImageHash()))" />
<div class="CreateJob_Assignment_Details">
<table class="none">
<tbody>
<tr>
<td>Serial Number:
</td>
<td>
<span>@assignment.Device.SerialNumber</span> (<span>@assignment.Device.ComputerName</span>)
</td>
</tr>
<tr>
<td>Model:
</td>
<td>
<span>@assignment.Device.DeviceModel.ToString()</span>
</td>
</tr>
<tr>
<td>Asset:</td>
<td>
@if (!string.IsNullOrEmpty(assignment.Device.AssetNumber))
{
<span>@assignment.Device.AssetNumber</span>
}
else
{
<span class="smallMessage">Unknown</span>
}
</td>
</tr>
<tr>
<td>Assigned:</td>
<td>
<span>@CommonHelpers.FriendlyDate(assignment.AssignedDate)</span>
</td>
</tr>
</tbody>
</table>
</div>
</li>
}
</ul>
</div>
</div>
<script>
$(function () {
var button = $('#User_Show_Details_Actions_CreateJob_Button');
var buttonDialog = null;
button.click(function () {
if (!buttonDialog) {
buttonDialog = $('#User_Show_Details_Actions_CreateJob_Dialog').dialog({
resizable: false,
width: 400,
modal: true,
autoOpen: false,
buttons: {
Cancel: function () {
$(this).dialog("close");
}
}
});
dialogItems = buttonDialog.find('li.CreateJob_Assignment');
dialogItems.click(function () {
var $this = $(this);
buttonDialog.dialog("close");
var createJobUrl = $this.attr('data-createjoburl');
document.DiscoFunctions.CreateOpenJobDialog(createJobUrl);
});
}
buttonDialog.dialog('open');
return false;
});
});
</script>
}
else
{
<script>
$(function () {
$('#User_Show_Details_Actions_CreateJob_Button').click(function () {
var $this = $(this);
var href = $this.attr('href');
document.DiscoFunctions.CreateOpenJobDialog(href);
return false;
});
});
</script>
}
</div> </div>
</div> </div>
</td> </td>
@@ -93,12 +206,9 @@
<div> <div>
<div id="User_Show_AssignedDevices_Active"> <div id="User_Show_AssignedDevices_Active">
<h3>Current Device Assignments</h3> <h3>Current Device Assignments</h3>
@{ @if (currentDeviceAssignments.Count > 0)
var currentAssignments = Model.User.DeviceUserAssignments.Where(dua => !dua.UnassignedDate.HasValue).ToList();
}
@if (currentAssignments.Count > 0)
{ {
foreach (var assignment in currentAssignments) foreach (var assignment in currentDeviceAssignments)
{ {
<div class="User_Show_AssignedDevices_CurrentAssignment clearfix" data-deviceserialnumber="@assignment.DeviceSerialNumber"> <div class="User_Show_AssignedDevices_CurrentAssignment clearfix" data-deviceserialnumber="@assignment.DeviceSerialNumber">
<a href="@Url.Action(MVC.Device.Show(assignment.Device.SerialNumber))"> <a href="@Url.Action(MVC.Device.Show(assignment.Device.SerialNumber))">
@@ -154,4 +264,5 @@
</div> </div>
</td> </td>
</tr> </tr>
</tbody>
</table> </table>
@@ -40,11 +40,19 @@ namespace Disco.Web.Views.User.UserParts
} }
public override void Execute() public override void Execute()
{ {
WriteLiteral("<table");
#line 2 "..\..\Views\User\UserParts\_Subject.cshtml"
var currentDeviceAssignments = Model.User.DeviceUserAssignments.Where(dua => !dua.UnassignedDate.HasValue).OrderByDescending(dua => dua.AssignedDate).ToList();
#line default
#line hidden
WriteLiteral("\r\n<table");
WriteLiteral(" id=\"User_Show_Subjects\""); WriteLiteral(" id=\"User_Show_Subjects\"");
WriteLiteral(">\r\n <tr>\r\n <td"); WriteLiteral(">\r\n <tbody>\r\n <tr>\r\n <td");
WriteLiteral(" id=\"User_Show_Details\""); WriteLiteral(" id=\"User_Show_Details\"");
@@ -56,9 +64,9 @@ WriteLiteral(">\r\n <table");
WriteLiteral(" class=\"none verticalHeadings\""); WriteLiteral(" class=\"none verticalHeadings\"");
WriteLiteral(">\r\n <tr>\r\n <td><span>Username (" + WriteLiteral(">\r\n <tr>\r\n <td><span>Us" +
"Id):</span>\r\n </td>\r\n <td>" + "ername (Id):</span>\r\n </td>\r\n " +
"\r\n <h4"); " <td>\r\n <h4");
WriteLiteral(" id=\"User_Show_Details_Identity_Id\""); WriteLiteral(" id=\"User_Show_Details_Identity_Id\"");
@@ -67,15 +75,15 @@ WriteLiteral(" title=\"Username\"");
WriteLiteral(">"); WriteLiteral(">");
#line 12 "..\..\Views\User\UserParts\_Subject.cshtml" #line 16 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Model.User.Id); Write(Model.User.Id);
#line default #line default
#line hidden #line hidden
WriteLiteral("</h4>\r\n </td>\r\n </tr>\r\n" + WriteLiteral("</h4>\r\n </td>\r\n </tr>\r\n" +
" <tr>\r\n <td>Display Name:</td>\r\n " + " <tr>\r\n <td>Display Na" +
" <td><span"); "me:</td>\r\n <td><span");
WriteLiteral(" id=\"User_Show_Details_Identity_DisplayName\""); WriteLiteral(" id=\"User_Show_Details_Identity_DisplayName\"");
@@ -84,15 +92,15 @@ WriteLiteral(" title=\"Display Name\"");
WriteLiteral(">"); WriteLiteral(">");
#line 17 "..\..\Views\User\UserParts\_Subject.cshtml" #line 21 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Model.User.DisplayName); Write(Model.User.DisplayName);
#line default #line default
#line hidden #line hidden
WriteLiteral("</span></td>\r\n </tr>\r\n <tr>\r\n " + WriteLiteral("</span></td>\r\n </tr>\r\n <tr>" +
" <td>Given Name:</td>\r\n <td><spa" + "\r\n <td>Given Name:</td>\r\n " +
"n"); " <td><span");
WriteLiteral(" id=\"User_Show_Details_Identity_GivenName\""); WriteLiteral(" id=\"User_Show_Details_Identity_GivenName\"");
@@ -101,14 +109,15 @@ WriteLiteral(" title=\"Given Name\"");
WriteLiteral(">"); WriteLiteral(">");
#line 21 "..\..\Views\User\UserParts\_Subject.cshtml" #line 25 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Model.User.GivenName); Write(Model.User.GivenName);
#line default #line default
#line hidden #line hidden
WriteLiteral("</span></td>\r\n </tr>\r\n <tr>\r\n " + WriteLiteral("</span></td>\r\n </tr>\r\n <tr>" +
" <td>Surname:</td>\r\n <td><span"); "\r\n <td>Surname:</td>\r\n " +
" <td><span");
WriteLiteral(" id=\"User_Show_Details_Identity_Surname\""); WriteLiteral(" id=\"User_Show_Details_Identity_Surname\"");
@@ -117,14 +126,14 @@ WriteLiteral(" title=\"Surname\"");
WriteLiteral(">"); WriteLiteral(">");
#line 25 "..\..\Views\User\UserParts\_Subject.cshtml" #line 29 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Model.User.Surname); Write(Model.User.Surname);
#line default #line default
#line hidden #line hidden
WriteLiteral("</span></td>\r\n </tr>\r\n </table>\r\n " + WriteLiteral("</span></td>\r\n </tr>\r\n </table>" +
" </div>\r\n <div"); "\r\n </div>\r\n <div");
WriteLiteral(" id=\"User_Show_Details_Category\""); WriteLiteral(" id=\"User_Show_Details_Category\"");
@@ -144,14 +153,14 @@ WriteLiteral(" title=\"Type\"");
WriteLiteral(">"); WriteLiteral(">");
#line 34 "..\..\Views\User\UserParts\_Subject.cshtml" #line 38 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Model.User.Type); Write(Model.User.Type);
#line default #line default
#line hidden #line hidden
WriteLiteral("</span></td>\r\n </tr>\r\n </table>\r\n " + WriteLiteral("</span></td>\r\n </tr>\r\n </table>" +
" </div>\r\n <div"); "\r\n </div>\r\n <div");
WriteLiteral(" id=\"User_Show_Details_Attributes\""); WriteLiteral(" id=\"User_Show_Details_Attributes\"");
@@ -161,17 +170,17 @@ WriteLiteral(">\r\n <table");
WriteLiteral(" class=\"none verticalHeadings\""); WriteLiteral(" class=\"none verticalHeadings\"");
WriteLiteral(">\r\n <tr>\r\n <td>Email:</td>\r\n " + WriteLiteral(">\r\n <tr>\r\n <td>Email:</" +
" <td>\r\n"); "td>\r\n <td>\r\n");
#line 43 "..\..\Views\User\UserParts\_Subject.cshtml" #line 47 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default #line default
#line hidden #line hidden
#line 43 "..\..\Views\User\UserParts\_Subject.cshtml" #line 47 "..\..\Views\User\UserParts\_Subject.cshtml"
if (!string.IsNullOrEmpty(Model.User.EmailAddress)) if (!string.IsNullOrEmpty(Model.User.EmailAddress))
{ {
@@ -187,7 +196,7 @@ WriteLiteral(" title=\"Email Address [Update in Active Directory]\"");
WriteLiteral(">"); WriteLiteral(">");
#line 45 "..\..\Views\User\UserParts\_Subject.cshtml" #line 49 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Model.User.EmailAddress); Write(Model.User.EmailAddress);
@@ -196,7 +205,7 @@ WriteLiteral(">");
WriteLiteral("</span>\r\n"); WriteLiteral("</span>\r\n");
#line 46 "..\..\Views\User\UserParts\_Subject.cshtml" #line 50 "..\..\Views\User\UserParts\_Subject.cshtml"
} }
else else
{ {
@@ -211,7 +220,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">Unknown</span>\r\n"); WriteLiteral(">Unknown</span>\r\n");
#line 50 "..\..\Views\User\UserParts\_Subject.cshtml" #line 54 "..\..\Views\User\UserParts\_Subject.cshtml"
} }
@@ -222,13 +231,13 @@ WriteLiteral(" </td>\r\n </tr>
" <td>\r\n"); " <td>\r\n");
#line 56 "..\..\Views\User\UserParts\_Subject.cshtml" #line 60 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default #line default
#line hidden #line hidden
#line 56 "..\..\Views\User\UserParts\_Subject.cshtml" #line 60 "..\..\Views\User\UserParts\_Subject.cshtml"
if (!string.IsNullOrEmpty(Model.User.PhoneNumber)) if (!string.IsNullOrEmpty(Model.User.PhoneNumber))
{ {
@@ -244,7 +253,7 @@ WriteLiteral(" title=\"Phone Number [Update in Active Directory]\"");
WriteLiteral(">"); WriteLiteral(">");
#line 58 "..\..\Views\User\UserParts\_Subject.cshtml" #line 62 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Model.User.PhoneNumber); Write(Model.User.PhoneNumber);
@@ -253,7 +262,7 @@ WriteLiteral(">");
WriteLiteral("</span>\r\n"); WriteLiteral("</span>\r\n");
#line 59 "..\..\Views\User\UserParts\_Subject.cshtml" #line 63 "..\..\Views\User\UserParts\_Subject.cshtml"
} }
else else
{ {
@@ -268,7 +277,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">Unknown</span>\r\n"); WriteLiteral(">Unknown</span>\r\n");
#line 63 "..\..\Views\User\UserParts\_Subject.cshtml" #line 67 "..\..\Views\User\UserParts\_Subject.cshtml"
} }
@@ -286,7 +295,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" "); WriteLiteral(" ");
#line 69 "..\..\Views\User\UserParts\_Subject.cshtml" #line 73 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Html.DropDownList("User_Show_GenerateDocument", Model.DocumentTemplatesSelectListItems)); Write(Html.DropDownList("User_Show_GenerateDocument", Model.DocumentTemplatesSelectListItems));
@@ -296,11 +305,11 @@ WriteLiteral("\r\n <script");
WriteLiteral(" type=\"text/javascript\""); WriteLiteral(" type=\"text/javascript\"");
WriteLiteral(">\r\n $(function () {\r\n var gener" + WriteLiteral(">\r\n $(function () {\r\n v" +
"atePdfUrl = \'"); "ar generatePdfUrl = \'");
#line 72 "..\..\Views\User\UserParts\_Subject.cshtml" #line 76 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Url.Action(MVC.API.User.GeneratePdf(Model.User.Id, null))); Write(Url.Action(MVC.API.User.GeneratePdf(Model.User.Id, null)));
@@ -325,13 +334,13 @@ WriteLiteral(" id=\"User_Show_Details_Actions\"");
WriteLiteral(">\r\n"); WriteLiteral(">\r\n");
#line 85 "..\..\Views\User\UserParts\_Subject.cshtml" #line 89 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default #line default
#line hidden #line hidden
#line 85 "..\..\Views\User\UserParts\_Subject.cshtml" #line 89 "..\..\Views\User\UserParts\_Subject.cshtml"
Html.BundleDeferred("~/ClientScripts/Modules/Disco-CreateJob"); Html.BundleDeferred("~/ClientScripts/Modules/Disco-CreateJob");
@@ -343,13 +352,298 @@ WriteLiteral("\r\n");
WriteLiteral(" "); WriteLiteral(" ");
#line 88 "..\..\Views\User\UserParts\_Subject.cshtml" #line 92 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Html.ActionLinkSmallButton("Create Job", MVC.Job.Create(Model.PrimaryDeviceSerialNumber, Model.User.Id), "buttonCreateJob")); Write(Html.ActionLinkSmallButton("Create Job", MVC.Job.Create(Model.PrimaryDeviceSerialNumber, Model.User.Id), "User_Show_Details_Actions_CreateJob_Button"));
#line default #line default
#line hidden #line hidden
WriteLiteral("\r\n </div>\r\n </div>\r\n </td>\r\n <td"); WriteLiteral("\r\n");
#line 93 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 93 "..\..\Views\User\UserParts\_Subject.cshtml"
if (currentDeviceAssignments.Count > 1)
{
#line default
#line hidden
WriteLiteral(" <div");
WriteLiteral(" id=\"User_Show_Details_Actions_CreateJob_Dialog\"");
WriteLiteral(" class=\"dialog\"");
WriteLiteral(" title=\"Create Job for Which Device?\"");
WriteLiteral(">\r\n <div");
WriteLiteral(" class=\"clearfix\"");
WriteLiteral(">\r\n <span");
WriteLiteral(" class=\"ui-icon ui-icon-info\"");
WriteLiteral(" style=\"float: left; margin: 0 7px 20px 0;\"");
WriteLiteral(@"></span>
Multiple devices are assigned to this user. Which device should be associated with this job?
</div>
<div>
<ul");
WriteLiteral(" id=\"CreateJob_Assignments\"");
WriteLiteral(" class=\"none\"");
WriteLiteral(">\r\n");
#line 102 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 102 "..\..\Views\User\UserParts\_Subject.cshtml"
foreach (var assignment in currentDeviceAssignments)
{
#line default
#line hidden
WriteLiteral(" <li");
WriteLiteral(" class=\"CreateJob_Assignment clearfix\"");
WriteLiteral(" data-createjoburl=\"");
#line 104 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Url.Action(MVC.Job.Create(assignment.DeviceSerialNumber, Model.User.Id)));
#line default
#line hidden
WriteLiteral("\"");
WriteLiteral(">\r\n <img");
WriteLiteral(" class=\"CreateJob_Assignment_Image\"");
WriteLiteral(" alt=\"Model Image\"");
WriteAttribute("src", Tuple.Create(" src=\"", 6326), Tuple.Create("\"", 6447)
#line 105 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 6332), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(assignment.Device.DeviceModel.Id, assignment.Device.DeviceModel.ImageHash()))
#line default
#line hidden
, 6332), false)
);
WriteLiteral(" />\r\n <div");
WriteLiteral(" class=\"CreateJob_Assignment_Details\"");
WriteLiteral(">\r\n <table");
WriteLiteral(" class=\"none\"");
WriteLiteral(@">
<tbody>
<tr>
<td>Serial Number:
</td>
<td>
<span>");
#line 113 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.SerialNumber);
#line default
#line hidden
WriteLiteral("</span> (<span>");
#line 113 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.ComputerName);
#line default
#line hidden
WriteLiteral(@"</span>)
</td>
</tr>
<tr>
<td>Model:
</td>
<td>
<span>");
#line 120 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.DeviceModel.ToString());
#line default
#line hidden
WriteLiteral(@"</span>
</td>
</tr>
<tr>
<td>Asset:</td>
<td>
");
#line 126 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 126 "..\..\Views\User\UserParts\_Subject.cshtml"
if (!string.IsNullOrEmpty(assignment.Device.AssetNumber))
{
#line default
#line hidden
WriteLiteral(" <span>");
#line 128 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.AssetNumber);
#line default
#line hidden
WriteLiteral("</span>\r\n");
#line 129 "..\..\Views\User\UserParts\_Subject.cshtml"
}
else
{
#line default
#line hidden
WriteLiteral(" <span");
WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">Unknown</span>\r\n");
#line 133 "..\..\Views\User\UserParts\_Subject.cshtml"
}
#line default
#line hidden
WriteLiteral(@" </td>
</tr>
<tr>
<td>Assigned:</td>
<td>
<span>");
#line 139 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(CommonHelpers.FriendlyDate(assignment.AssignedDate));
#line default
#line hidden
WriteLiteral(@"</span>
</td>
</tr>
</tbody>
</table>
</div>
</li>
");
#line 146 "..\..\Views\User\UserParts\_Subject.cshtml"
}
#line default
#line hidden
WriteLiteral(" </ul>\r\n </div>" +
"\r\n </div>\r\n");
WriteLiteral(" <script>\r\n $(function " +
"() {\r\n var button = $(\'#User_Show_Details_Act" +
"ions_CreateJob_Button\');\r\n var buttonDialog =" +
" null;\r\n\r\n button.click(function () {\r\n " +
" if (!buttonDialog) {\r\n " +
" buttonDialog = $(\'#User_Show_Details_Actions_CreateJob_Dialo" +
"g\').dialog({\r\n resizable: false,\r" +
"\n width: 400,\r\n " +
" modal: true,\r\n " +
" autoOpen: false,\r\n bu" +
"ttons: {\r\n Cancel: function (" +
") {\r\n $(this).dialog(\"clo" +
"se\");\r\n }\r\n " +
" }\r\n });" +
"\r\n\r\n dialogItems = buttonDialog.find(" +
"\'li.CreateJob_Assignment\');\r\n\r\n dialo" +
"gItems.click(function () {\r\n var " +
"$this = $(this);\r\n\r\n buttonDialog" +
".dialog(\"close\");\r\n\r\n var createJ" +
"obUrl = $this.attr(\'data-createjoburl\');\r\n " +
" document.DiscoFunctions.CreateOpenJobDialog(createJobUrl);\r\n " +
" });\r\n }" +
"\r\n\r\n buttonDialog.dialog(\'open\');\r\n " +
" return false;\r\n " +
" });\r\n });\r\n </scr" +
"ipt>\r\n");
#line 186 "..\..\Views\User\UserParts\_Subject.cshtml"
}
else
{
#line default
#line hidden
WriteLiteral(@" <script>
$(function () {
$('#User_Show_Details_Actions_CreateJob_Button').click(function () {
var $this = $(this);
var href = $this.attr('href');
document.DiscoFunctions.CreateOpenJobDialog(href);
return false;
});
});
</script>
");
#line 201 "..\..\Views\User\UserParts\_Subject.cshtml"
}
#line default
#line hidden
WriteLiteral(" </div>\r\n </div>\r\n </td>\r\n " +
" <td");
WriteLiteral(" id=\"User_Show_AssignedDevices\""); WriteLiteral(" id=\"User_Show_AssignedDevices\"");
@@ -360,32 +654,16 @@ WriteLiteral(" id=\"User_Show_AssignedDevices_Active\"");
WriteLiteral(">\r\n <h3>Current Device Assignments</h3>\r\n"); WriteLiteral(">\r\n <h3>Current Device Assignments</h3>\r\n");
#line 96 "..\..\Views\User\UserParts\_Subject.cshtml" #line 209 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default #line default
#line hidden #line hidden
#line 96 "..\..\Views\User\UserParts\_Subject.cshtml" #line 209 "..\..\Views\User\UserParts\_Subject.cshtml"
if (currentDeviceAssignments.Count > 0)
var currentAssignments = Model.User.DeviceUserAssignments.Where(dua => !dua.UnassignedDate.HasValue).ToList();
#line default
#line hidden
WriteLiteral("\r\n");
#line 99 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default
#line hidden
#line 99 "..\..\Views\User\UserParts\_Subject.cshtml"
if (currentAssignments.Count > 0)
{ {
foreach (var assignment in currentAssignments) foreach (var assignment in currentDeviceAssignments)
{ {
@@ -398,7 +676,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment clearfix\"");
WriteLiteral(" data-deviceserialnumber=\""); WriteLiteral(" data-deviceserialnumber=\"");
#line 103 "..\..\Views\User\UserParts\_Subject.cshtml" #line 213 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.DeviceSerialNumber); Write(assignment.DeviceSerialNumber);
@@ -408,14 +686,14 @@ WriteLiteral("\"");
WriteLiteral(">\r\n <a"); WriteLiteral(">\r\n <a");
WriteAttribute("href", Tuple.Create(" href=\"", 5464), Tuple.Create("\"", 5531) WriteAttribute("href", Tuple.Create(" href=\"", 13160), Tuple.Create("\"", 13227)
#line 104 "..\..\Views\User\UserParts\_Subject.cshtml" #line 214 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 5471), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Device.Show(assignment.Device.SerialNumber)) , Tuple.Create(Tuple.Create("", 13167), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Device.Show(assignment.Device.SerialNumber))
#line default #line default
#line hidden #line hidden
, 5471), false) , 13167), false)
); );
WriteLiteral(">\r\n <img"); WriteLiteral(">\r\n <img");
@@ -424,14 +702,14 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Image\"");
WriteLiteral(" alt=\"Model Image\""); WriteLiteral(" alt=\"Model Image\"");
WriteAttribute("src", Tuple.Create(" src=\"", 5647), Tuple.Create("\"", 5768) WriteAttribute("src", Tuple.Create(" src=\"", 13347), Tuple.Create("\"", 13468)
#line 105 "..\..\Views\User\UserParts\_Subject.cshtml" #line 215 "..\..\Views\User\UserParts\_Subject.cshtml"
, Tuple.Create(Tuple.Create("", 5653), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(assignment.Device.DeviceModel.Id, assignment.Device.DeviceModel.ImageHash())) , Tuple.Create(Tuple.Create("", 13353), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(assignment.Device.DeviceModel.Id, assignment.Device.DeviceModel.ImageHash()))
#line default #line default
#line hidden #line hidden
, 5653), false) , 13353), false)
); );
WriteLiteral(" />\r\n </a>\r\n <div"); WriteLiteral(" />\r\n </a>\r\n <div");
@@ -455,7 +733,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_SerialNumber\
WriteLiteral(">"); WriteLiteral(">");
#line 114 "..\..\Views\User\UserParts\_Subject.cshtml" #line 224 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(Html.ActionLink(assignment.Device.SerialNumber, MVC.Device.Show(assignment.Device.SerialNumber))); Write(Html.ActionLink(assignment.Device.SerialNumber, MVC.Device.Show(assignment.Device.SerialNumber)));
@@ -464,7 +742,7 @@ WriteLiteral(">");
WriteLiteral("</span> (<span>"); WriteLiteral("</span> (<span>");
#line 114 "..\..\Views\User\UserParts\_Subject.cshtml" #line 224 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.ComputerName); Write(assignment.Device.ComputerName);
@@ -484,7 +762,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Model\"");
WriteLiteral(">"); WriteLiteral(">");
#line 121 "..\..\Views\User\UserParts\_Subject.cshtml" #line 231 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.DeviceModel.ToString()); Write(assignment.Device.DeviceModel.ToString());
@@ -499,13 +777,13 @@ WriteLiteral(@"</span>
"); ");
#line 127 "..\..\Views\User\UserParts\_Subject.cshtml" #line 237 "..\..\Views\User\UserParts\_Subject.cshtml"
#line default #line default
#line hidden #line hidden
#line 127 "..\..\Views\User\UserParts\_Subject.cshtml" #line 237 "..\..\Views\User\UserParts\_Subject.cshtml"
if (!string.IsNullOrEmpty(assignment.Device.AssetNumber)) if (!string.IsNullOrEmpty(assignment.Device.AssetNumber))
{ {
@@ -519,7 +797,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Asset\"");
WriteLiteral(">"); WriteLiteral(">");
#line 129 "..\..\Views\User\UserParts\_Subject.cshtml" #line 239 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(assignment.Device.AssetNumber); Write(assignment.Device.AssetNumber);
@@ -528,7 +806,7 @@ WriteLiteral(">");
WriteLiteral("</span>\r\n"); WriteLiteral("</span>\r\n");
#line 130 "..\..\Views\User\UserParts\_Subject.cshtml" #line 240 "..\..\Views\User\UserParts\_Subject.cshtml"
} }
else else
{ {
@@ -543,7 +821,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">Unknown</span>\r\n"); WriteLiteral(">Unknown</span>\r\n");
#line 134 "..\..\Views\User\UserParts\_Subject.cshtml" #line 244 "..\..\Views\User\UserParts\_Subject.cshtml"
} }
@@ -561,7 +839,7 @@ WriteLiteral(" class=\"User_Show_AssignedDevices_CurrentAssignment_Assigned\"");
WriteLiteral(">"); WriteLiteral(">");
#line 140 "..\..\Views\User\UserParts\_Subject.cshtml" #line 250 "..\..\Views\User\UserParts\_Subject.cshtml"
Write(CommonHelpers.FriendlyDate(assignment.AssignedDate)); Write(CommonHelpers.FriendlyDate(assignment.AssignedDate));
@@ -577,7 +855,7 @@ WriteLiteral(@"</span>
"); ");
#line 147 "..\..\Views\User\UserParts\_Subject.cshtml" #line 257 "..\..\Views\User\UserParts\_Subject.cshtml"
} }
} }
else else
@@ -593,13 +871,14 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">No Current Device Assignments</span>\r\n"); WriteLiteral(">No Current Device Assignments</span>\r\n");
#line 152 "..\..\Views\User\UserParts\_Subject.cshtml" #line 262 "..\..\Views\User\UserParts\_Subject.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </div>\r\n </div>\r\n </td>\r\n </tr>\r\n</table>\r\n"); WriteLiteral(" </div>\r\n </div>\r\n </td>\r\n </" +
"tr>\r\n </tbody>\r\n</table>\r\n");
} }
} }