initial source commit
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
@model Disco.Web.Models.Job.CreateModel
|
||||
@{
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), "Create");
|
||||
}
|
||||
@using (Html.BeginForm(MVC.Job.Create(), FormMethod.Post))
|
||||
{
|
||||
@Html.ValidationSummary(false)
|
||||
@Html.HiddenFor(m => m.DeviceSerialNumber)
|
||||
@Html.HiddenFor(m => m.UserId)
|
||||
<div id="createDialog" class="form" style="width: 650px">
|
||||
<table>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
@Html.Partial(MVC.Job.Views._CreateSubject, Model)
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="trJobType">
|
||||
<th class="name">
|
||||
Type:
|
||||
</th>
|
||||
<td class="value">
|
||||
@CommonHelpers.RadioButtonList("Type", Model.JobTypes.ToSelectListItems(Model.Type), 2)
|
||||
</td>
|
||||
</tr>
|
||||
@foreach (var jt in Model.JobTypes)
|
||||
{
|
||||
<tr id="trJobSubType@(jt.Id)" class="jobSubTypes">
|
||||
<th class="name">
|
||||
@jt.Description<br />
|
||||
Sub Types
|
||||
</th>
|
||||
<td class="value">
|
||||
@CommonHelpers.CheckBoxList("SubTypes", Model.JobSubTypes.Where(jst => jst.JobTypeId == jt.Id).ToList().ToSelectListItems(Model.SubTypes), 2)
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
<p class="actions">
|
||||
<input type="submit" class="button" value="Create" />
|
||||
</p>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
|
||||
$trJobType = $('#trJobType');
|
||||
$jobTypes = $trJobType.find('input[type="radio"]');
|
||||
$jobTypes.change(jobTypeChange);
|
||||
jobTypeChange();
|
||||
|
||||
function jobTypeChange() {
|
||||
$('.jobSubTypes').hide();
|
||||
var jobType = $jobTypes.filter(':checked').val();
|
||||
$('#trJobSubType' + jobType).show();
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
}
|
||||
@@ -0,0 +1,301 @@
|
||||
@model Disco.Web.Models.Job.CreateModel
|
||||
@{
|
||||
Layout = "~/Views/Shared/_DialogLayout.cshtml";
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), "Create");
|
||||
}
|
||||
<div id="createJob_Container">
|
||||
@using (Html.BeginForm(MVC.Job.Create(), FormMethod.Post))
|
||||
{
|
||||
@Html.HiddenFor(m => m.DeviceSerialNumber)
|
||||
@Html.HiddenFor(m => m.UserId)
|
||||
@Html.HiddenFor(m => m.QuickLogDestinationUrl)
|
||||
|
||||
@Html.Partial(MVC.Job.Views._CreateSubject, Model)
|
||||
@Html.ValidationSummary(true)
|
||||
|
||||
<div class="createJob_Component">
|
||||
<div id="createJob_Type">
|
||||
<h3>Type</h3>
|
||||
@Html.ValidationMessageFor(m => m.Type)
|
||||
@CommonHelpers.RadioButtonList("Type", Model.JobTypes.ToSelectListItems(Model.Type), 3)
|
||||
@Html.ValidationMessageFor(m => m.SubTypes)
|
||||
</div>
|
||||
<div id="createJob_SubTypes">
|
||||
@foreach (var jt in Model.JobTypes)
|
||||
{
|
||||
<div id="createJob_SubType_@(jt.Id)" class="createJob_SubType">
|
||||
<div class="createJob_SubTypes">
|
||||
@CommonHelpers.CheckBoxList("SubTypes", Model.JobSubTypes.Where(jst => jst.JobTypeId == jt.Id).ToList().ToSelectListItems(Model.SubTypes), 3)
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<div id="createJob_DeviceHeldContainer" class="createJob_Component">
|
||||
@Html.ValidationMessageFor(m => m.DeviceHeld)
|
||||
@Html.HiddenFor(m => m.DeviceHeld)
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<h3>Device Held</h3>
|
||||
</td>
|
||||
<td>
|
||||
<input id="createJob_DeviceHeld" name="_DeviceHeld" type="radio" value="true" /><label for="createJob_DeviceHeld">Held</label>
|
||||
</td>
|
||||
<td>
|
||||
<input id="createJob_DeviceNotHeld" name="_DeviceHeld" type="radio" value="false" /><label for="createJob_DeviceNotHeld">Not Held</label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="createJob_CommentsContainer" class="createJob_Component">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<h3>Comments</h3>
|
||||
</td>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Comments)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="createJob_QuickLogContainer" class="createJob_Component">
|
||||
<div id="createJob_QuickLogAutoCloseContainer">
|
||||
<h3>Quick Log</h3>
|
||||
<input id="createJob_QuickLog" name="QuickLog" type="checkbox" value="true" /><label for="createJob_QuickLog">Automatically close this job</label>
|
||||
</div>
|
||||
<div id="createJob_QuickLogTaskTimeContainer">
|
||||
<h3>Task Time</h3>
|
||||
@Html.ValidationMessageFor(m => m.QuickLogTaskTimeMinutes)
|
||||
<input type="radio" id="createJob_TaskTime10" name="QuickLogTaskTimeMinutes" value="10" /><label for="createJob_TaskTime10"> 10 Minutes</label>
|
||||
<input type="radio" id="createJob_TaskTime30" name="QuickLogTaskTimeMinutes" value="30" /><label for="createJob_TaskTime30"> 30 Minutes</label>
|
||||
<input type="radio" id="createJob_TaskTime60" name="QuickLogTaskTimeMinutes" value="60" /><label for="createJob_TaskTime60"> 1 Hour</label>
|
||||
<input type="radio" id="createJob_TaskTime120" name="QuickLogTaskTimeMinutes" value="120" /><label for="createJob_TaskTime120"> 2 Hours</label>
|
||||
<input type="radio" id="createJob_TaskTimeOther" name="QuickLogTaskTimeMinutes" value="" /><label for="createJob_TaskTimeOther"> Other</label>
|
||||
<span id="createJob_TaskTimeOtherMinutesContainer">
|
||||
<input type="number" id="createJob_TaskTimeOtherMinutes" name="QuickLogTaskTimeMinutesOther" value="" disabled="disabled" />
|
||||
Minutes
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var discoDialogMethods;
|
||||
var init = true;
|
||||
//#region Parent Dialog
|
||||
if (window.parent && window.parent.document) {
|
||||
$('#QuickLogDestinationUrl').val(window.parent.window.location.href);
|
||||
|
||||
var parentDialog = $('#createJobDialog', window.parent.document);
|
||||
if (parentDialog.length > 0) {
|
||||
discoDialogMethods = parentDialog[0].discoDialogMethods;
|
||||
var buttons = {
|
||||
"Create Job": function () {
|
||||
createJobForm.submit()
|
||||
},
|
||||
Cancel: function () {
|
||||
discoDialogMethods.close();
|
||||
}
|
||||
}
|
||||
|
||||
discoDialogMethods.setButtons(buttons);
|
||||
}
|
||||
}
|
||||
//#endregion
|
||||
|
||||
|
||||
var createJobForm = $('form');
|
||||
var validator = createJobForm.data('validator');
|
||||
var unobtrusiveValidation = createJobForm.data('unobtrusiveValidation');
|
||||
|
||||
// Validate all Fields
|
||||
validator.settings.ignore = '';
|
||||
|
||||
//#region Job Type/SubTypes
|
||||
var $jobTypeContainer = $('#createJob_Type');
|
||||
var $typeValidationMessage = $('[data-valmsg-for="Type"]', $jobTypeContainer)
|
||||
var $subTypesValidationMessage = $('[data-valmsg-for="SubTypes"]', $jobTypeContainer)
|
||||
var $jobTypes = $jobTypeContainer.find('input[type="radio"]').change(jobTypeChange);
|
||||
$('#createJob_SubTypes').find('input[type="checkbox"]').change(jobSubTypeHighlight).each(jobSubTypeHighlight);
|
||||
jobTypeChange();
|
||||
function jobSubTypeHighlight() {
|
||||
var $this = $(this);
|
||||
if ($this.is(':checked'))
|
||||
$this.closest('li').addClass('highlight');
|
||||
else
|
||||
$this.closest('li').removeClass('highlight');
|
||||
}
|
||||
function jobTypeChange() {
|
||||
var $checkedItem = $jobTypes.filter(':checked');
|
||||
|
||||
$jobTypes.closest('li').removeClass('highlight');
|
||||
|
||||
$checkedItem.closest('li').addClass('highlight');
|
||||
|
||||
if (init) {
|
||||
var jobType = $checkedItem.val();
|
||||
$('#createJob_SubType_' + jobType).show();
|
||||
} else {
|
||||
$('#createJob_SubTypes').find('.createJob_SubType:visible').slideUp();
|
||||
var jobType = $checkedItem.val();
|
||||
$('#createJob_SubType_' + jobType).slideDown();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var additionalValidation = function (form) {
|
||||
var isValid = true;
|
||||
|
||||
// Validate Type
|
||||
var typeValue = $jobTypes.filter(':checked').val();
|
||||
if (typeValue) {
|
||||
$typeValidationMessage.removeClass('field-validation-error').addClass('field-validation-valid');
|
||||
// Validate SubTypes
|
||||
if ($('#createJob_SubType_' + typeValue).find('input:checked').length > 0) {
|
||||
$subTypesValidationMessage.removeClass('field-validation-error').addClass('field-validation-valid');
|
||||
} else {
|
||||
$subTypesValidationMessage.text('At least one Job Sub Type is required').removeClass('field-validation-valid').addClass('field-validation-error');
|
||||
isValid = false;
|
||||
}
|
||||
} else {
|
||||
$typeValidationMessage.text('A Job Type is required').removeClass('field-validation-valid').addClass('field-validation-error');
|
||||
isValid = false;
|
||||
}
|
||||
|
||||
// Validate QuickLog Task Time
|
||||
if ($quickLog.is(':checked')) {
|
||||
var selectedTime = $quickLogTaskTimes.filter(':checked');
|
||||
if (selectedTime.length > 0) {
|
||||
if (selectedTime.val() === '') {
|
||||
// Handle 'Other'
|
||||
var otherTime = parseInt($quickLogTaskTimeOtherMinutes.val());
|
||||
if (!otherTime || otherTime <= 0) {
|
||||
$quickLogTaskTimeValidationMessage.text('A Task Time is required').removeClass('field-validation-valid').addClass('field-validation-error');
|
||||
isValid = false;
|
||||
}
|
||||
} else {
|
||||
$quickLogTaskTimeValidationMessage.removeClass('field-validation-valid').addClass('field-validation-error');
|
||||
}
|
||||
} else {
|
||||
$quickLogTaskTimeValidationMessage.text('A Task Time is required').removeClass('field-validation-valid').addClass('field-validation-error');
|
||||
isValid = false;
|
||||
}
|
||||
} else {
|
||||
$quickLogTaskTimeValidationMessage.removeClass('field-validation-valid').addClass('field-validation-error');
|
||||
}
|
||||
|
||||
return isValid;
|
||||
}
|
||||
|
||||
validator.settings.submitHandler = function (form) {
|
||||
if (additionalValidation()) {
|
||||
discoDialogMethods.setButtons({});
|
||||
form.submit();
|
||||
}
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region DeviceHeld
|
||||
var $deviceHeld = $('#DeviceHeld');
|
||||
|
||||
if ($('#DeviceSerialNumber').val()) {
|
||||
switch ($deviceHeld.val()) {
|
||||
case 'True':
|
||||
$('#createJob_DeviceHeld').attr('checked', 'checked');
|
||||
$('#createJob_DeviceNotHeld').attr('checked', null);
|
||||
break;
|
||||
case 'False':
|
||||
$('#createJob_DeviceHeld').attr('checked', null);
|
||||
$('#createJob_DeviceNotHeld').attr('checked', 'checked');
|
||||
break;
|
||||
default:
|
||||
$('#createJob_DeviceHeld').attr('checked', null);
|
||||
$('#createJob_DeviceNotHeld').attr('checked', null);
|
||||
break;
|
||||
}
|
||||
$('#createJob_DeviceHeldContainer').find('input[type="radio"]').change(function () {
|
||||
// Update Hidden Field with Boolean Value
|
||||
// Set DeviceHeld
|
||||
var deviceHeldValue = '';
|
||||
if ($('#createJob_DeviceHeld').is(':checked'))
|
||||
deviceHeldValue = 'True';
|
||||
if ($('#createJob_DeviceNotHeld').is(':checked'))
|
||||
deviceHeldValue = 'False';
|
||||
$deviceHeld.val(deviceHeldValue).change();
|
||||
});
|
||||
} else {
|
||||
// No Device Associated
|
||||
$deviceHeld.val('False');
|
||||
$('#createJob_DeviceHeldContainer').hide();
|
||||
}
|
||||
//#endregion
|
||||
|
||||
//#region QuickLog
|
||||
var $quickLog = $('#createJob_QuickLog');
|
||||
var $quickLogContainer = $('#createJob_QuickLogContainer');
|
||||
var $quickLogTaskTimeContainer = $('#createJob_QuickLogTaskTimeContainer');
|
||||
var $quickLogTaskTimes = $quickLogTaskTimeContainer.find('input[type="radio"]');
|
||||
var $quickLogTaskTimeOtherMinutes = $('#createJob_TaskTimeOtherMinutes');
|
||||
var $quickLogTaskTimeValidationMessage = $quickLogTaskTimeContainer.find('[data-valmsg-for="QuickLogTaskTimeMinutes"]');
|
||||
|
||||
$deviceHeld.change(validateQuickLog);
|
||||
$jobTypes.change(validateQuickLog);
|
||||
validateQuickLog();
|
||||
|
||||
function validateQuickLog() {
|
||||
var quickLogAllowed = false;
|
||||
|
||||
if ($deviceHeld.val() === 'True') {
|
||||
quickLogAllowed = false;
|
||||
} else {
|
||||
var selectedType = $jobTypes.filter(':checked').val();
|
||||
switch (selectedType) {
|
||||
case 'HMisc':
|
||||
case 'SApp':
|
||||
case 'SImg':
|
||||
case 'SOS':
|
||||
case 'UMgmt':
|
||||
quickLogAllowed = true;
|
||||
break;
|
||||
default:
|
||||
quickLogAllowed = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (quickLogAllowed) {
|
||||
$quickLogContainer.slideDown();
|
||||
} else {
|
||||
if (init)
|
||||
$quickLogContainer.hide();
|
||||
else
|
||||
$quickLogContainer.slideUp();
|
||||
$quickLog.attr('checked', null).change();
|
||||
}
|
||||
}
|
||||
|
||||
$quickLog.change(function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$quickLogTaskTimeContainer.slideDown();
|
||||
} else {
|
||||
$quickLogTaskTimeContainer.slideUp();
|
||||
}
|
||||
});
|
||||
|
||||
$quickLogTaskTimes.change(function () {
|
||||
if ($quickLogTaskTimes.filter(':checked').val() === "") {
|
||||
$('#createJob_TaskTimeOtherMinutesContainer').show();
|
||||
$quickLogTaskTimeOtherMinutes.attr('disabled', null).focus().select();
|
||||
} else {
|
||||
$('#createJob_TaskTimeOtherMinutesContainer').hide();
|
||||
$quickLogTaskTimeOtherMinutes.attr('disabled', 'disabled');
|
||||
}
|
||||
});
|
||||
//#endregion
|
||||
|
||||
init = false;
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
@@ -0,0 +1,598 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/Create.cshtml")]
|
||||
public class Create : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.CreateModel>
|
||||
{
|
||||
public Create()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\Create.cshtml"
|
||||
|
||||
Layout = "~/Views/Shared/_DialogLayout.cshtml";
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), "Create");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"createJob_Container\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 7 "..\..\Views\Job\Create.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 7 "..\..\Views\Job\Create.cshtml"
|
||||
using (Html.BeginForm(MVC.Job.Create(), FormMethod.Post))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.HiddenFor(m => m.DeviceSerialNumber));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\Create.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 10 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.HiddenFor(m => m.UserId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 10 "..\..\Views\Job\Create.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 11 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.HiddenFor(m => m.QuickLogDestinationUrl));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 11 "..\..\Views\Job\Create.cshtml"
|
||||
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 13 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views._CreateSubject, Model));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 13 "..\..\Views\Job\Create.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 14 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.ValidationSummary(true));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 14 "..\..\Views\Job\Create.cshtml"
|
||||
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" class=\"createJob_Component\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"createJob_Type\"");
|
||||
|
||||
WriteLiteral(">\r\n <h3>Type</h3>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 19 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.ValidationMessageFor(m => m.Type));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 20 "..\..\Views\Job\Create.cshtml"
|
||||
Write(CommonHelpers.RadioButtonList("Type", Model.JobTypes.ToSelectListItems(Model.Type), 3));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 21 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.ValidationMessageFor(m => m.SubTypes));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"createJob_SubTypes\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 24 "..\..\Views\Job\Create.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 24 "..\..\Views\Job\Create.cshtml"
|
||||
foreach (var jt in Model.JobTypes)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteAttribute("id", Tuple.Create(" id=\"", 1037), Tuple.Create("\"", 1068)
|
||||
, Tuple.Create(Tuple.Create("", 1042), Tuple.Create("createJob_SubType_", 1042), true)
|
||||
|
||||
#line 26 "..\..\Views\Job\Create.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 1060), Tuple.Create<System.Object, System.Int32>(jt.Id
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 1060), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" class=\"createJob_SubType\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"createJob_SubTypes\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 28 "..\..\Views\Job\Create.cshtml"
|
||||
Write(CommonHelpers.CheckBoxList("SubTypes", Model.JobSubTypes.Where(jst => jst.JobTypeId == jt.Id).ToList().ToSelectListItems(Model.SubTypes), 3));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n </div> \r\n");
|
||||
|
||||
|
||||
#line 31 "..\..\Views\Job\Create.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </div>\r\n </div>\r\n");
|
||||
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" id=\"createJob_DeviceHeldContainer\"");
|
||||
|
||||
WriteLiteral(" class=\"createJob_Component\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 35 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.ValidationMessageFor(m => m.DeviceHeld));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 36 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.HiddenFor(m => m.DeviceHeld));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <table>\r\n <tr>\r\n <td>\r\n " +
|
||||
" <h3>Device Held</h3>\r\n </td>\r\n " +
|
||||
" <td>\r\n <input");
|
||||
|
||||
WriteLiteral(" id=\"createJob_DeviceHeld\"");
|
||||
|
||||
WriteLiteral(" name=\"_DeviceHeld\"");
|
||||
|
||||
WriteLiteral(" type=\"radio\"");
|
||||
|
||||
WriteLiteral(" value=\"true\"");
|
||||
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteLiteral(" for=\"createJob_DeviceHeld\"");
|
||||
|
||||
WriteLiteral(">Held</label>\r\n </td>\r\n <td>\r\n " +
|
||||
" <input");
|
||||
|
||||
WriteLiteral(" id=\"createJob_DeviceNotHeld\"");
|
||||
|
||||
WriteLiteral(" name=\"_DeviceHeld\"");
|
||||
|
||||
WriteLiteral(" type=\"radio\"");
|
||||
|
||||
WriteLiteral(" value=\"false\"");
|
||||
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteLiteral(" for=\"createJob_DeviceNotHeld\"");
|
||||
|
||||
WriteLiteral(">Not Held</label>\r\n </td>\r\n </tr>\r\n " +
|
||||
"</table>\r\n </div>\r\n");
|
||||
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" id=\"createJob_CommentsContainer\"");
|
||||
|
||||
WriteLiteral(" class=\"createJob_Component\"");
|
||||
|
||||
WriteLiteral(">\r\n <table>\r\n <tr>\r\n <td>\r\n " +
|
||||
" <h3>Comments</h3>\r\n </td>\r\n " +
|
||||
" <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 58 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.EditorFor(m => m.Comments));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n </table>\r\n " +
|
||||
" </div>\r\n");
|
||||
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" id=\"createJob_QuickLogContainer\"");
|
||||
|
||||
WriteLiteral(" class=\"createJob_Component\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"createJob_QuickLogAutoCloseContainer\"");
|
||||
|
||||
WriteLiteral(">\r\n <h3>Quick Log</h3>\r\n <input");
|
||||
|
||||
WriteLiteral(" id=\"createJob_QuickLog\"");
|
||||
|
||||
WriteLiteral(" name=\"QuickLog\"");
|
||||
|
||||
WriteLiteral(" type=\"checkbox\"");
|
||||
|
||||
WriteLiteral(" value=\"true\"");
|
||||
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteLiteral(" for=\"createJob_QuickLog\"");
|
||||
|
||||
WriteLiteral(">Automatically close this job</label>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"createJob_QuickLogTaskTimeContainer\"");
|
||||
|
||||
WriteLiteral(">\r\n <h3>Task Time</h3>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 70 "..\..\Views\Job\Create.cshtml"
|
||||
Write(Html.ValidationMessageFor(m => m.QuickLogTaskTimeMinutes));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"radio\"");
|
||||
|
||||
WriteLiteral(" id=\"createJob_TaskTime10\"");
|
||||
|
||||
WriteLiteral(" name=\"QuickLogTaskTimeMinutes\"");
|
||||
|
||||
WriteLiteral(" value=\"10\"");
|
||||
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteLiteral(" for=\"createJob_TaskTime10\"");
|
||||
|
||||
WriteLiteral("> 10 Minutes</label>\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"radio\"");
|
||||
|
||||
WriteLiteral(" id=\"createJob_TaskTime30\"");
|
||||
|
||||
WriteLiteral(" name=\"QuickLogTaskTimeMinutes\"");
|
||||
|
||||
WriteLiteral(" value=\"30\"");
|
||||
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteLiteral(" for=\"createJob_TaskTime30\"");
|
||||
|
||||
WriteLiteral("> 30 Minutes</label>\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"radio\"");
|
||||
|
||||
WriteLiteral(" id=\"createJob_TaskTime60\"");
|
||||
|
||||
WriteLiteral(" name=\"QuickLogTaskTimeMinutes\"");
|
||||
|
||||
WriteLiteral(" value=\"60\"");
|
||||
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteLiteral(" for=\"createJob_TaskTime60\"");
|
||||
|
||||
WriteLiteral("> 1 Hour</label>\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"radio\"");
|
||||
|
||||
WriteLiteral(" id=\"createJob_TaskTime120\"");
|
||||
|
||||
WriteLiteral(" name=\"QuickLogTaskTimeMinutes\"");
|
||||
|
||||
WriteLiteral(" value=\"120\"");
|
||||
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteLiteral(" for=\"createJob_TaskTime120\"");
|
||||
|
||||
WriteLiteral("> 2 Hours</label>\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"radio\"");
|
||||
|
||||
WriteLiteral(" id=\"createJob_TaskTimeOther\"");
|
||||
|
||||
WriteLiteral(" name=\"QuickLogTaskTimeMinutes\"");
|
||||
|
||||
WriteLiteral(" value=\"\"");
|
||||
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteLiteral(" for=\"createJob_TaskTimeOther\"");
|
||||
|
||||
WriteLiteral("> Other</label>\r\n <span");
|
||||
|
||||
WriteLiteral(" id=\"createJob_TaskTimeOtherMinutesContainer\"");
|
||||
|
||||
WriteLiteral(">\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"number\"");
|
||||
|
||||
WriteLiteral(" id=\"createJob_TaskTimeOtherMinutes\"");
|
||||
|
||||
WriteLiteral(" name=\"QuickLogTaskTimeMinutesOther\"");
|
||||
|
||||
WriteLiteral(" value=\"\"");
|
||||
|
||||
WriteLiteral(" disabled=\"disabled\"");
|
||||
|
||||
WriteLiteral(" />\r\n Minutes\r\n </span>\r\n </div>\r\n " +
|
||||
" </div>\r\n");
|
||||
|
||||
|
||||
#line 82 "..\..\Views\Job\Create.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n var discoDialogMethods;\r\n var " +
|
||||
"init = true;\r\n //#region Parent Dialog\r\n if (window.parent" +
|
||||
" && window.parent.document) {\r\n $(\'#QuickLogDestinationUrl\').val(" +
|
||||
"window.parent.window.location.href);\r\n\r\n var parentDialog = $(\'#c" +
|
||||
"reateJobDialog\', window.parent.document);\r\n if (parentDialog.leng" +
|
||||
"th > 0) {\r\n discoDialogMethods = parentDialog[0].discoDialogM" +
|
||||
"ethods;\r\n var buttons = {\r\n \"Create Jo" +
|
||||
"b\": function () {\r\n createJobForm.submit()\r\n " +
|
||||
" },\r\n Cancel: function () {\r\n " +
|
||||
" discoDialogMethods.close();\r\n }\r\n " +
|
||||
" }\r\n\r\n discoDialogMethods.setButtons(buttons);\r\n " +
|
||||
" }\r\n }\r\n //#endregion\r\n\r\n\r\n var crea" +
|
||||
"teJobForm = $(\'form\');\r\n var validator = createJobForm.data(\'validato" +
|
||||
"r\');\r\n var unobtrusiveValidation = createJobForm.data(\'unobtrusiveVal" +
|
||||
"idation\');\r\n\r\n // Validate all Fields\r\n validator.settings" +
|
||||
".ignore = \'\';\r\n\r\n //#region Job Type/SubTypes\r\n var $jobTy" +
|
||||
"peContainer = $(\'#createJob_Type\');\r\n var $typeValidationMessage = $(" +
|
||||
"\'[data-valmsg-for=\"Type\"]\', $jobTypeContainer)\r\n var $subTypesValidat" +
|
||||
"ionMessage = $(\'[data-valmsg-for=\"SubTypes\"]\', $jobTypeContainer)\r\n v" +
|
||||
"ar $jobTypes = $jobTypeContainer.find(\'input[type=\"radio\"]\').change(jobTypeChang" +
|
||||
"e);\r\n $(\'#createJob_SubTypes\').find(\'input[type=\"checkbox\"]\').change(" +
|
||||
"jobSubTypeHighlight).each(jobSubTypeHighlight);\r\n jobTypeChange();\r\n " +
|
||||
" function jobSubTypeHighlight() {\r\n var $this = $(this)" +
|
||||
";\r\n if ($this.is(\':checked\'))\r\n $this.closest(" +
|
||||
"\'li\').addClass(\'highlight\');\r\n else\r\n $this.cl" +
|
||||
"osest(\'li\').removeClass(\'highlight\');\r\n }\r\n function jobTy" +
|
||||
"peChange() {\r\n var $checkedItem = $jobTypes.filter(\':checked\');\r\n" +
|
||||
"\r\n $jobTypes.closest(\'li\').removeClass(\'highlight\');\r\n\r\n " +
|
||||
" $checkedItem.closest(\'li\').addClass(\'highlight\');\r\n\r\n if (" +
|
||||
"init) {\r\n var jobType = $checkedItem.val();\r\n " +
|
||||
" $(\'#createJob_SubType_\' + jobType).show();\r\n } else {\r\n " +
|
||||
" $(\'#createJob_SubTypes\').find(\'.createJob_SubType:visible\').slideU" +
|
||||
"p();\r\n var jobType = $checkedItem.val();\r\n " +
|
||||
" $(\'#createJob_SubType_\' + jobType).slideDown();\r\n }\r\n " +
|
||||
" }\r\n\r\n\r\n var additionalValidation = function (form) {\r\n " +
|
||||
" var isValid = true;\r\n\r\n // Validate Type\r\n var t" +
|
||||
"ypeValue = $jobTypes.filter(\':checked\').val();\r\n if (typeValue) {" +
|
||||
"\r\n $typeValidationMessage.removeClass(\'field-validation-error" +
|
||||
"\').addClass(\'field-validation-valid\');\r\n // Validate SubTypes" +
|
||||
"\r\n if ($(\'#createJob_SubType_\' + typeValue).find(\'input:check" +
|
||||
"ed\').length > 0) {\r\n $subTypesValidationMessage.removeCla" +
|
||||
"ss(\'field-validation-error\').addClass(\'field-validation-valid\');\r\n " +
|
||||
" } else {\r\n $subTypesValidationMessage.text(\'At leas" +
|
||||
"t one Job Sub Type is required\').removeClass(\'field-validation-valid\').addClass(" +
|
||||
"\'field-validation-error\');\r\n isValid = false;\r\n " +
|
||||
" }\r\n } else {\r\n $typeValidationMessag" +
|
||||
"e.text(\'A Job Type is required\').removeClass(\'field-validation-valid\').addClass(" +
|
||||
"\'field-validation-error\');\r\n isValid = false;\r\n " +
|
||||
" }\r\n\r\n // Validate QuickLog Task Time\r\n if ($quic" +
|
||||
"kLog.is(\':checked\')) {\r\n var selectedTime = $quickLogTaskTime" +
|
||||
"s.filter(\':checked\');\r\n if (selectedTime.length > 0) {\r\n " +
|
||||
" if (selectedTime.val() === \'\') {\r\n " +
|
||||
" // Handle \'Other\'\r\n var otherTime = parseInt($quickL" +
|
||||
"ogTaskTimeOtherMinutes.val());\r\n if (!otherTime || ot" +
|
||||
"herTime <= 0) {\r\n $quickLogTaskTimeValidationMess" +
|
||||
"age.text(\'A Task Time is required\').removeClass(\'field-validation-valid\').addCla" +
|
||||
"ss(\'field-validation-error\');\r\n isValid = false;\r" +
|
||||
"\n }\r\n } else {\r\n " +
|
||||
" $quickLogTaskTimeValidationMessage.removeClass(\'field-validation-v" +
|
||||
"alid\').addClass(\'field-validation-error\');\r\n }\r\n " +
|
||||
" } else {\r\n $quickLogTaskTimeValidationMessage." +
|
||||
"text(\'A Task Time is required\').removeClass(\'field-validation-valid\').addClass(\'" +
|
||||
"field-validation-error\');\r\n isValid = false;\r\n " +
|
||||
" }\r\n } else {\r\n $quickLogTaskTimeValid" +
|
||||
"ationMessage.removeClass(\'field-validation-valid\').addClass(\'field-validation-er" +
|
||||
"ror\');\r\n }\r\n\r\n return isValid;\r\n }\r\n\r\n " +
|
||||
" validator.settings.submitHandler = function (form) {\r\n " +
|
||||
" if (additionalValidation()) {\r\n discoDialogMethods.setButton" +
|
||||
"s({});\r\n form.submit();\r\n }\r\n }\r\n " +
|
||||
" //#endregion\r\n\r\n //#region DeviceHeld\r\n var $dev" +
|
||||
"iceHeld = $(\'#DeviceHeld\');\r\n\r\n if ($(\'#DeviceSerialNumber\').val()) {" +
|
||||
"\r\n switch ($deviceHeld.val()) {\r\n case \'True\':" +
|
||||
"\r\n $(\'#createJob_DeviceHeld\').attr(\'checked\', \'checked\');" +
|
||||
"\r\n $(\'#createJob_DeviceNotHeld\').attr(\'checked\', null);\r\n" +
|
||||
" break;\r\n case \'False\':\r\n " +
|
||||
" $(\'#createJob_DeviceHeld\').attr(\'checked\', null);\r\n " +
|
||||
" $(\'#createJob_DeviceNotHeld\').attr(\'checked\', \'checked\');\r\n " +
|
||||
" break;\r\n default:\r\n $(\'#creat" +
|
||||
"eJob_DeviceHeld\').attr(\'checked\', null);\r\n $(\'#createJob_" +
|
||||
"DeviceNotHeld\').attr(\'checked\', null);\r\n break;\r\n " +
|
||||
" }\r\n $(\'#createJob_DeviceHeldContainer\').find(\'input[type=" +
|
||||
"\"radio\"]\').change(function () {\r\n // Update Hidden Field with" +
|
||||
" Boolean Value\r\n // Set DeviceHeld\r\n var d" +
|
||||
"eviceHeldValue = \'\';\r\n if ($(\'#createJob_DeviceHeld\').is(\':ch" +
|
||||
"ecked\'))\r\n deviceHeldValue = \'True\';\r\n " +
|
||||
" if ($(\'#createJob_DeviceNotHeld\').is(\':checked\'))\r\n devi" +
|
||||
"ceHeldValue = \'False\';\r\n $deviceHeld.val(deviceHeldValue).cha" +
|
||||
"nge();\r\n });\r\n } else {\r\n // No Device " +
|
||||
"Associated\r\n $deviceHeld.val(\'False\');\r\n $(\'#creat" +
|
||||
"eJob_DeviceHeldContainer\').hide();\r\n }\r\n //#endregion\r\n\r\n " +
|
||||
" //#region QuickLog\r\n var $quickLog = $(\'#createJob_QuickLo" +
|
||||
"g\');\r\n var $quickLogContainer = $(\'#createJob_QuickLogContainer\');\r\n " +
|
||||
" var $quickLogTaskTimeContainer = $(\'#createJob_QuickLogTaskTimeContai" +
|
||||
"ner\');\r\n var $quickLogTaskTimes = $quickLogTaskTimeContainer.find(\'in" +
|
||||
"put[type=\"radio\"]\');\r\n var $quickLogTaskTimeOtherMinutes = $(\'#create" +
|
||||
"Job_TaskTimeOtherMinutes\');\r\n var $quickLogTaskTimeValidationMessage " +
|
||||
"= $quickLogTaskTimeContainer.find(\'[data-valmsg-for=\"QuickLogTaskTimeMinutes\"]\')" +
|
||||
";\r\n\r\n $deviceHeld.change(validateQuickLog);\r\n $jobTypes.ch" +
|
||||
"ange(validateQuickLog);\r\n validateQuickLog();\r\n\r\n function" +
|
||||
" validateQuickLog() {\r\n var quickLogAllowed = false;\r\n\r\n " +
|
||||
" if ($deviceHeld.val() === \'True\') {\r\n quickLogAllowed " +
|
||||
"= false;\r\n } else {\r\n var selectedType = $jobT" +
|
||||
"ypes.filter(\':checked\').val();\r\n switch (selectedType) {\r\n " +
|
||||
" case \'HMisc\':\r\n case \'SApp\':\r\n " +
|
||||
" case \'SImg\':\r\n case \'SOS\':\r\n " +
|
||||
" case \'UMgmt\':\r\n quickLogAllowed = true;\r" +
|
||||
"\n break;\r\n default:\r\n " +
|
||||
" quickLogAllowed = false;\r\n break;\r" +
|
||||
"\n }\r\n }\r\n\r\n if (quickLogAllowed" +
|
||||
") {\r\n $quickLogContainer.slideDown();\r\n } else" +
|
||||
" {\r\n if (init)\r\n $quickLogContainer.hi" +
|
||||
"de();\r\n else\r\n $quickLogContainer.slid" +
|
||||
"eUp();\r\n $quickLog.attr(\'checked\', null).change();\r\n " +
|
||||
" }\r\n }\r\n\r\n $quickLog.change(function () {\r\n " +
|
||||
" if ($(this).is(\':checked\')) {\r\n $quickLogTaskTimeConta" +
|
||||
"iner.slideDown();\r\n } else {\r\n $quickLogTaskTi" +
|
||||
"meContainer.slideUp();\r\n }\r\n });\r\n\r\n $quick" +
|
||||
"LogTaskTimes.change(function () {\r\n if ($quickLogTaskTimes.filter" +
|
||||
"(\':checked\').val() === \"\") {\r\n $(\'#createJob_TaskTimeOtherMin" +
|
||||
"utesContainer\').show();\r\n $quickLogTaskTimeOtherMinutes.attr(" +
|
||||
"\'disabled\', null).focus().select();\r\n } else {\r\n " +
|
||||
" $(\'#createJob_TaskTimeOtherMinutesContainer\').hide();\r\n $q" +
|
||||
"uickLogTaskTimeOtherMinutes.attr(\'disabled\', \'disabled\');\r\n }\r\n " +
|
||||
" });\r\n //#endregion\r\n\r\n init = false;\r\n })" +
|
||||
";\r\n </script>\r\n</div>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,21 @@
|
||||
@model Disco.Web.Models.Job.CreateRedirectModel
|
||||
@{
|
||||
Layout = null;
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), "Create - Redirecting...");
|
||||
}
|
||||
<a id="redirectLink" href="@Model.RedirectLink">Redirecting...</a>
|
||||
<script>
|
||||
var redirectLink = document.getElementById('redirectLink').getAttribute('href');
|
||||
|
||||
//#region Parent Dialog
|
||||
if (window.parent) {
|
||||
window.parent.window.location.href = redirectLink;
|
||||
|
||||
var parentDialog = window.parent.document.getElementById('createJobDialog');
|
||||
if (parentDialog) {
|
||||
var discoDialogMethods = parentDialog.discoDialogMethods;
|
||||
discoDialogMethods.close();
|
||||
}
|
||||
}
|
||||
//#endregion
|
||||
</script>
|
||||
@@ -0,0 +1,87 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/Create_Redirect.cshtml")]
|
||||
public class Create_Redirect : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.CreateRedirectModel>
|
||||
{
|
||||
public Create_Redirect()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\Create_Redirect.cshtml"
|
||||
|
||||
Layout = null;
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), "Create - Redirecting...");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<a");
|
||||
|
||||
WriteLiteral(" id=\"redirectLink\"");
|
||||
|
||||
WriteAttribute("href", Tuple.Create(" href=\"", 188), Tuple.Create("\"", 214)
|
||||
|
||||
#line 6 "..\..\Views\Job\Create_Redirect.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 195), Tuple.Create<System.Object, System.Int32>(Model.RedirectLink
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 195), false)
|
||||
);
|
||||
|
||||
WriteLiteral(@">Redirecting...</a>
|
||||
<script>
|
||||
var redirectLink = document.getElementById('redirectLink').getAttribute('href');
|
||||
|
||||
//#region Parent Dialog
|
||||
if (window.parent) {
|
||||
window.parent.window.location.href = redirectLink;
|
||||
|
||||
var parentDialog = window.parent.document.getElementById('createJobDialog');
|
||||
if (parentDialog) {
|
||||
var discoDialogMethods = parentDialog.discoDialogMethods;
|
||||
discoDialogMethods.close();
|
||||
}
|
||||
}
|
||||
//#endregion
|
||||
</script>
|
||||
");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,131 @@
|
||||
@model Disco.Web.Models.Job.IndexModel
|
||||
@{
|
||||
ViewBag.Title = "Jobs";
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/Highcharts");
|
||||
}
|
||||
<div class="clearfix columnHost">
|
||||
<div class="column50">
|
||||
<h2>Search Jobs</h2>
|
||||
@Html.Partial(MVC.Shared.Views._SearchDialog, "jobs")
|
||||
</div>
|
||||
<div class="column50">
|
||||
<h2>Daily Opened & Closed Jobs</h2>
|
||||
<div id="chartHostJobDailyOpenedClosed" style="height: 175px;">
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
(function () {
|
||||
|
||||
var chartData;
|
||||
|
||||
function buildChart() {
|
||||
$(function () {
|
||||
|
||||
var data = chartData;
|
||||
|
||||
var dataTotalOpenJobs = [];
|
||||
var dataOpenedJobs = [];
|
||||
var dataClosedJobs = [];
|
||||
for (var i = 0; i < data.length; i++) {
|
||||
var dataItem = data[i];
|
||||
var dataItemDate = new Date(parseInt(dataItem.Timestamp.substr(6, dataItem.Timestamp.length - 8))).getTime(); // $.datepicker.parseDate('yy-mm-dd', dataItem.Timestamp.substr(0, 10)).getTime();
|
||||
dataTotalOpenJobs.push([dataItemDate, dataItem.TotalJobs]);
|
||||
dataOpenedJobs.push([dataItemDate, dataItem.OpenedJobs]);
|
||||
dataClosedJobs.push([dataItemDate, dataItem.ClosedJobs]);
|
||||
}
|
||||
Highcharts.setOptions({
|
||||
global: {
|
||||
useUTC: false
|
||||
}
|
||||
});
|
||||
new Highcharts.Chart({
|
||||
chart: {
|
||||
renderTo: 'chartHostJobDailyOpenedClosed',
|
||||
height: 175,
|
||||
animation: false
|
||||
},
|
||||
colors: ['#BBBBBB', '#005fab', '#DB761D'],
|
||||
title: {
|
||||
text: null
|
||||
},
|
||||
plotOptions: {
|
||||
series: {
|
||||
marker: {
|
||||
radius: 3
|
||||
},
|
||||
animation: false
|
||||
}
|
||||
},
|
||||
legend: {
|
||||
align: 'left',
|
||||
verticalAlign: 'top',
|
||||
y: 0,
|
||||
floating: true,
|
||||
borderWidth: 0
|
||||
},
|
||||
xAxis: {
|
||||
type: 'datetime',
|
||||
tickInterval: 7 * 24 * 3600 * 1000, // week
|
||||
tickWidth: 1,
|
||||
gridLineWidth: 1,
|
||||
dateTimeLabelFormats: {
|
||||
week: '%e %b'
|
||||
}
|
||||
},
|
||||
yAxis: [{
|
||||
title: {
|
||||
text: null
|
||||
},
|
||||
labels: {
|
||||
enabled: false
|
||||
},
|
||||
min: 0
|
||||
}, {
|
||||
title: {
|
||||
text: null
|
||||
},
|
||||
labels: {
|
||||
enabled: false
|
||||
},
|
||||
min: 0
|
||||
}],
|
||||
series: [{
|
||||
name: 'Total Open Jobs',
|
||||
data: dataTotalOpenJobs,
|
||||
yAxis: 1
|
||||
}, {
|
||||
name: 'Closed Jobs',
|
||||
data: dataClosedJobs
|
||||
}, {
|
||||
name: 'Opened Jobs',
|
||||
data: dataOpenedJobs
|
||||
}],
|
||||
credits: {
|
||||
enabled: false
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
$.getJSON('@(Url.Action(MVC.API.Job.StatisticsDailyOpenedClosed()))', function (data) {
|
||||
chartData = data;
|
||||
buildChart();
|
||||
});
|
||||
}());
|
||||
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
<h2>Open Jobs Awaiting Technician Action (@Model.OpenJobs.Items.Count)</h2>
|
||||
@Html.Partial(MVC.Shared.Views._JobTable, Model.OpenJobs, new ViewDataDictionary())
|
||||
<h2>Long Running Jobs (@Model.LongRunningJobs.Items.Count)</h2>
|
||||
@Html.Partial(MVC.Shared.Views._JobTable, Model.LongRunningJobs, new ViewDataDictionary())
|
||||
@*<h2>
|
||||
Jobs with Devices Ready for Return (@Model.ReadyForReturnJobs.Items.Count)</h2>
|
||||
@Html.Partial(MVC.Shared.Views._JobTable, Model.ReadyForReturnJobs, new ViewDataDictionary())
|
||||
<h2>
|
||||
Jobs Waiting for User Action (@Model.WaitingForUserActionJobs.Items.Count)</h2>
|
||||
@Html.Partial(MVC.Shared.Views._JobTable, Model.WaitingForUserActionJobs, new ViewDataDictionary())
|
||||
<h2>
|
||||
Recently Closed Jobs (@Model.RecentlyClosedJobs.Items.Count)</h2>
|
||||
@Html.Partial(MVC.Shared.Views._JobTable, Model.RecentlyClosedJobs, new ViewDataDictionary())*@
|
||||
@@ -0,0 +1,191 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/Index.cshtml")]
|
||||
public class Index : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.IndexModel>
|
||||
{
|
||||
public Index()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\Index.cshtml"
|
||||
|
||||
ViewBag.Title = "Jobs";
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/Highcharts");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
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(" ");
|
||||
|
||||
|
||||
#line 9 "..\..\Views\Job\Index.cshtml"
|
||||
Write(Html.Partial(MVC.Shared.Views._SearchDialog, "jobs"));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"column50\"");
|
||||
|
||||
WriteLiteral(">\r\n <h2>Daily Opened & Closed Jobs</h2>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"chartHostJobDailyOpenedClosed\"");
|
||||
|
||||
WriteLiteral(" style=\"height: 175px;\"");
|
||||
|
||||
WriteLiteral(">\r\n </div>\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n (function () {\r\n\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.len" +
|
||||
"gth; i++) {\r\n var dataItem = data[i];\r\n " +
|
||||
" var dataItemDate = new Date(parseInt(dataItem.Timestamp.substr(6, " +
|
||||
"dataItem.Timestamp.length - 8))).getTime(); // $.datepicker.parseDate(\'yy-mm-dd\'" +
|
||||
", dataItem.Timestamp.substr(0, 10)).getTime();\r\n data" +
|
||||
"TotalOpenJobs.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" +
|
||||
" Highcharts.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 plo" +
|
||||
"tOptions: {\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 * 3600 * 1000, // week\r\n " +
|
||||
" tickWidth: 1,\r\n gridLineWi" +
|
||||
"dth: 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: nu" +
|
||||
"ll\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: dataOpened" +
|
||||
"Jobs\r\n }],\r\n credits: {\r\n " +
|
||||
" enabled: false\r\n }\r\n " +
|
||||
" });\r\n });\r\n }\r\n\r\n\r\n " +
|
||||
" $.getJSON(\'");
|
||||
|
||||
|
||||
#line 110 "..\..\Views\Job\Index.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.StatisticsDailyOpenedClosed()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\', function (data) {\r\n chartData = data;\r\n " +
|
||||
"buildChart();\r\n });\r\n }());\r\n\r\n </script>\r\n " +
|
||||
"</div>\r\n</div>\r\n<h2>Open Jobs Awaiting Technician Action (");
|
||||
|
||||
|
||||
#line 119 "..\..\Views\Job\Index.cshtml"
|
||||
Write(Model.OpenJobs.Items.Count);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(")</h2>\r\n");
|
||||
|
||||
|
||||
#line 120 "..\..\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 121 "..\..\Views\Job\Index.cshtml"
|
||||
Write(Model.LongRunningJobs.Items.Count);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(")</h2>\r\n");
|
||||
|
||||
|
||||
#line 122 "..\..\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");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,184 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
@{
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/jQuery-NumberFormatter");
|
||||
}
|
||||
<table id="jobComponents">
|
||||
<tr>
|
||||
<th>
|
||||
Description
|
||||
</th>
|
||||
<th>
|
||||
Cost
|
||||
</th>
|
||||
<th class="actions">
|
||||
|
||||
</th>
|
||||
</tr>
|
||||
@foreach (var jc in Model.Job.JobComponents)
|
||||
{
|
||||
<tr data-jobcomponentid="@jc.Id">
|
||||
<td>
|
||||
<input type="text" class="description" value="@jc.Description" />
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" class="cost" value="@jc.Cost.ToString("C")" />
|
||||
</td>
|
||||
<td>
|
||||
<span class="remove"></span>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
<tr>
|
||||
<td>
|
||||
<a href="#" id="jobComponentsAdd">Add Component</a>
|
||||
</td>
|
||||
<td colspan="2" class="totalCost">
|
||||
Total: <span id="jobComponentsTotalCost"></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="dialogRemoveComponent" title="Remove this Component?">
|
||||
<p>
|
||||
<span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
|
||||
Are you sure?</p>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var $jobComponents = $('#jobComponents');
|
||||
|
||||
$jobComponents.find('input').live('change', updateComponent).focus(function () { $(this).select() }).filter('.cost');
|
||||
$jobComponents.find('span.remove').live('click', removeComponent);
|
||||
|
||||
$('#jobComponentsAdd').click(function () {
|
||||
var jc = $('<tr><td><input type="text" class="description" /></td><td><input type="text" class="cost" /></td><td><span class="remove"></span></td></tr>');
|
||||
jc.find('input').focus(function () { $(this).select() })
|
||||
jc.insertBefore($jobComponents.find('tr').last());
|
||||
jc.find('input.description').focus();
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#dialogRemoveComponent').dialog({
|
||||
resizable: false,
|
||||
height: 140,
|
||||
modal: true,
|
||||
autoOpen: false
|
||||
});
|
||||
|
||||
function removeComponent() {
|
||||
var componentRow = $(this).closest('tr');
|
||||
var id = componentRow.attr('data-jobcomponentid');
|
||||
if (id) {
|
||||
var data = { id: id };
|
||||
|
||||
var $dialogRemoveComponent = $('#dialogRemoveComponent');
|
||||
$dialogRemoveComponent.dialog("enable");
|
||||
$dialogRemoveComponent.dialog('option', 'buttons', {
|
||||
"Remove": function () {
|
||||
$dialogRemoveComponent.dialog("disable");
|
||||
$dialogRemoveComponent.dialog("option", "buttons", null);
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.ComponentRemove())',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d == 'OK') {
|
||||
componentRow.remove();
|
||||
updateTotalCost();
|
||||
} else {
|
||||
alert('Unable to remove component: ' + d);
|
||||
}
|
||||
$dialogRemoveComponent.dialog("close");
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to remove component: ' + textStatus);
|
||||
$dialogRemoveComponent.dialog("close");
|
||||
}
|
||||
});
|
||||
},
|
||||
Cancel: function () {
|
||||
$dialogRemoveComponent.dialog("close");
|
||||
}
|
||||
});
|
||||
|
||||
$dialogRemoveComponent.dialog('open');
|
||||
|
||||
} else {
|
||||
// New - Remove
|
||||
componentRow.remove();
|
||||
updateTotalCost();
|
||||
}
|
||||
}
|
||||
function updateTotalCost() {
|
||||
var totalCost = 0;
|
||||
|
||||
$jobComponents.find('input.cost').each(function () {
|
||||
var v = $(this).val();
|
||||
v = $.parseNumber(v, { format: '#,##0.00', locale: 'au' });
|
||||
if (!isNaN(v))
|
||||
totalCost += v;
|
||||
});
|
||||
var totalCostFormatted = $.formatNumber(totalCost, { format: '#,##0.00', locale: 'au' });
|
||||
$('#jobComponentsTotalCost').text('$' + totalCostFormatted);
|
||||
}
|
||||
function updateComponent() {
|
||||
var componentRow = $(this).closest('tr');
|
||||
|
||||
componentRow.find('input').attr('disabled', true).addClass('updating');
|
||||
|
||||
var id = componentRow.attr('data-jobcomponentid');
|
||||
if (id) {
|
||||
// Update
|
||||
var data = {
|
||||
id: id,
|
||||
Description: componentRow.find('input.description').val(),
|
||||
Cost: componentRow.find('input.cost').val()
|
||||
};
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.ComponentUpdate())',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
componentRow.find('input').attr('disabled', false).removeClass('updating');
|
||||
if (d.Result == 'OK') {
|
||||
componentRow.find('input.description').val(d.Component.Description);
|
||||
componentRow.find('input.cost').val(d.Component.Cost);
|
||||
} else {
|
||||
alert('Unable to update component: ' + d.Result);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to update component: ' + textStatus);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Add
|
||||
var data = {
|
||||
id: id,
|
||||
Description: componentRow.find('input.description').val(),
|
||||
Cost: componentRow.find('input.cost').val()
|
||||
};
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.ComponentAdd(Model.Job.Id, null, null))',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
componentRow.find('input').attr('disabled', false).removeClass('updating');
|
||||
if (d.Result == 'OK') {
|
||||
componentRow.attr('data-jobcomponentid', d.Component.Id);
|
||||
componentRow.find('input.description').val(d.Component.Description);
|
||||
componentRow.find('input.cost').val(d.Component.Cost);
|
||||
} else {
|
||||
alert('Unable to add component: ' + d.Result);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to add component: ' + textStatus);
|
||||
}
|
||||
});
|
||||
}
|
||||
updateTotalCost();
|
||||
}
|
||||
updateTotalCost();
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,294 @@
|
||||
#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.Views.Job.JobParts
|
||||
{
|
||||
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("~/Views/Job/JobParts/Components.cshtml")]
|
||||
public class Components : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public Components()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/jQuery-NumberFormatter");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<table");
|
||||
|
||||
WriteLiteral(" id=\"jobComponents\"");
|
||||
|
||||
WriteLiteral(">\r\n <tr>\r\n <th>\r\n Description\r\n </th>\r\n <th>\r\n" +
|
||||
" Cost\r\n </th>\r\n <th");
|
||||
|
||||
WriteLiteral(" class=\"actions\"");
|
||||
|
||||
WriteLiteral(">\r\n \r\n </th>\r\n </tr>\r\n");
|
||||
|
||||
|
||||
#line 17 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 17 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
foreach (var jc in Model.Job.JobComponents)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <tr");
|
||||
|
||||
WriteLiteral(" data-jobcomponentid=\"");
|
||||
|
||||
|
||||
#line 19 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
Write(jc.Id);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\"");
|
||||
|
||||
WriteLiteral(">\r\n <td>\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"text\"");
|
||||
|
||||
WriteLiteral(" class=\"description\"");
|
||||
|
||||
WriteAttribute("value", Tuple.Create(" value=\"", 513), Tuple.Create("\"", 536)
|
||||
|
||||
#line 21 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 521), Tuple.Create<System.Object, System.Int32>(jc.Description
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 521), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" />\r\n </td>\r\n <td>\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"text\"");
|
||||
|
||||
WriteLiteral(" class=\"cost\"");
|
||||
|
||||
WriteAttribute("value", Tuple.Create(" value=\"", 626), Tuple.Create("\"", 656)
|
||||
|
||||
#line 24 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 634), Tuple.Create<System.Object, System.Int32>(jc.Cost.ToString("C")
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 634), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" />\r\n </td>\r\n <td>\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"remove\"");
|
||||
|
||||
WriteLiteral("></span>\r\n </td>\r\n </tr>\r\n");
|
||||
|
||||
|
||||
#line 30 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <tr>\r\n <td>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"#\"");
|
||||
|
||||
WriteLiteral(" id=\"jobComponentsAdd\"");
|
||||
|
||||
WriteLiteral(">Add Component</a>\r\n </td>\r\n <td");
|
||||
|
||||
WriteLiteral(" colspan=\"2\"");
|
||||
|
||||
WriteLiteral(" class=\"totalCost\"");
|
||||
|
||||
WriteLiteral(">\r\n Total: <span");
|
||||
|
||||
WriteLiteral(" id=\"jobComponentsTotalCost\"");
|
||||
|
||||
WriteLiteral("></span>\r\n </td>\r\n </tr>\r\n</table>\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"dialogRemoveComponent\"");
|
||||
|
||||
WriteLiteral(" title=\"Remove this Component?\"");
|
||||
|
||||
WriteLiteral(">\r\n <p>\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"ui-icon ui-icon-alert\"");
|
||||
|
||||
WriteLiteral(" style=\"float: left; margin: 0 7px 20px 0;\"");
|
||||
|
||||
WriteLiteral("></span>\r\n Are you sure?</p>\r\n</div>\r\n<script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n var $jobComponents = $(\'#jobComponents\');\r\n\r\n " +
|
||||
" $jobComponents.find(\'input\').live(\'change\', updateComponent).focus(function " +
|
||||
"() { $(this).select() }).filter(\'.cost\');\r\n $jobComponents.find(\'span.rem" +
|
||||
"ove\').live(\'click\', removeComponent);\r\n\r\n $(\'#jobComponentsAdd\').click(fu" +
|
||||
"nction () {\r\n var jc = $(\'<tr><td><input type=\"text\" class=\"descripti" +
|
||||
"on\" /></td><td><input type=\"text\" class=\"cost\" /></td><td><span class=\"remove\"><" +
|
||||
"/span></td></tr>\');\r\n jc.find(\'input\').focus(function () { $(this).se" +
|
||||
"lect() })\r\n jc.insertBefore($jobComponents.find(\'tr\').last());\r\n " +
|
||||
" jc.find(\'input.description\').focus();\r\n return false;\r\n " +
|
||||
" });\r\n\r\n $(\'#dialogRemoveComponent\').dialog({\r\n resizable: fal" +
|
||||
"se,\r\n height: 140,\r\n modal: true,\r\n autoOpen: f" +
|
||||
"alse\r\n });\r\n\r\n function removeComponent() {\r\n var compo" +
|
||||
"nentRow = $(this).closest(\'tr\');\r\n var id = componentRow.attr(\'data-j" +
|
||||
"obcomponentid\');\r\n if (id) {\r\n var data = { id: id };\r" +
|
||||
"\n\r\n var $dialogRemoveComponent = $(\'#dialogRemoveComponent\');\r\n " +
|
||||
" $dialogRemoveComponent.dialog(\"enable\");\r\n $dialogR" +
|
||||
"emoveComponent.dialog(\'option\', \'buttons\', {\r\n \"Remove\": func" +
|
||||
"tion () {\r\n $dialogRemoveComponent.dialog(\"disable\");\r\n " +
|
||||
" $dialogRemoveComponent.dialog(\"option\", \"buttons\", null);\r" +
|
||||
"\n $.ajax({\r\n url: \'");
|
||||
|
||||
|
||||
#line 80 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.ComponentRemove()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n dataType: \'json\',\r\n da" +
|
||||
"ta: data,\r\n success: function (d) {\r\n " +
|
||||
" if (d == \'OK\') {\r\n componentR" +
|
||||
"ow.remove();\r\n updateTotalCost();\r\n " +
|
||||
" } else {\r\n alert(\'Unabl" +
|
||||
"e to remove component: \' + d);\r\n }\r\n " +
|
||||
" $dialogRemoveComponent.dialog(\"close\");\r\n " +
|
||||
" },\r\n error: function (jqXHR, textStatus, erro" +
|
||||
"rThrown) {\r\n alert(\'Unable to remove component: \'" +
|
||||
" + textStatus);\r\n $dialogRemoveComponent.dialog(\"" +
|
||||
"close\");\r\n }\r\n });\r\n " +
|
||||
" },\r\n Cancel: function () {\r\n " +
|
||||
" $dialogRemoveComponent.dialog(\"close\");\r\n }\r\n " +
|
||||
" });\r\n\r\n $dialogRemoveComponent.dialog(\'open\');\r\n\r\n } " +
|
||||
"else {\r\n // New - Remove\r\n componentRow.remove();\r" +
|
||||
"\n updateTotalCost();\r\n }\r\n }\r\n function " +
|
||||
"updateTotalCost() {\r\n var totalCost = 0;\r\n\r\n $jobComponent" +
|
||||
"s.find(\'input.cost\').each(function () {\r\n var v = $(this).val();\r" +
|
||||
"\n v = $.parseNumber(v, { format: \'#,##0.00\', locale: \'au\' });\r\n " +
|
||||
" if (!isNaN(v))\r\n totalCost += v;\r\n }" +
|
||||
");\r\n var totalCostFormatted = $.formatNumber(totalCost, { format: \'#," +
|
||||
"##0.00\', locale: \'au\' });\r\n $(\'#jobComponentsTotalCost\').text(\'$\' + t" +
|
||||
"otalCostFormatted);\r\n }\r\n function updateComponent() {\r\n " +
|
||||
" var componentRow = $(this).closest(\'tr\');\r\n\r\n componentRow.find(\'in" +
|
||||
"put\').attr(\'disabled\', true).addClass(\'updating\');\r\n\r\n var id = compo" +
|
||||
"nentRow.attr(\'data-jobcomponentid\');\r\n if (id) {\r\n // " +
|
||||
"Update\r\n var data = {\r\n id: id,\r\n " +
|
||||
" Description: componentRow.find(\'input.description\').val(),\r\n " +
|
||||
" Cost: componentRow.find(\'input.cost\').val()\r\n };\r\n " +
|
||||
" $.ajax({\r\n url: \'");
|
||||
|
||||
|
||||
#line 137 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.ComponentUpdate()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
componentRow.find('input').attr('disabled', false).removeClass('updating');
|
||||
if (d.Result == 'OK') {
|
||||
componentRow.find('input.description').val(d.Component.Description);
|
||||
componentRow.find('input.cost').val(d.Component.Cost);
|
||||
} else {
|
||||
alert('Unable to update component: ' + d.Result);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to update component: ' + textStatus);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// Add
|
||||
var data = {
|
||||
id: id,
|
||||
Description: componentRow.find('input.description').val(),
|
||||
Cost: componentRow.find('input.cost').val()
|
||||
};
|
||||
$.ajax({
|
||||
url: '");
|
||||
|
||||
|
||||
#line 161 "..\..\Views\Job\JobParts\Components.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.ComponentAdd(Model.Job.Id, null, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
componentRow.find('input').attr('disabled', false).removeClass('updating');
|
||||
if (d.Result == 'OK') {
|
||||
componentRow.attr('data-jobcomponentid', d.Component.Id);
|
||||
componentRow.find('input.description').val(d.Component.Description);
|
||||
componentRow.find('input.cost').val(d.Component.Cost);
|
||||
} else {
|
||||
alert('Unable to add component: ' + d.Result);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to add component: ' + textStatus);
|
||||
}
|
||||
});
|
||||
}
|
||||
updateTotalCost();
|
||||
}
|
||||
updateTotalCost();
|
||||
|
||||
});
|
||||
</script>
|
||||
");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,90 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
@{
|
||||
var validFlags = Model.Job.ValidFlagsGrouped();
|
||||
}
|
||||
<div id="jobDetailTab-Flags" class="jobPart">
|
||||
<table id="jobFlags">
|
||||
@foreach (var flagGroup in validFlags)
|
||||
{
|
||||
<tr>
|
||||
<th>
|
||||
<span class="flagGroupName">@flagGroup.Key</span><br />
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
</th>
|
||||
<td>
|
||||
@foreach (var flagItem in flagGroup.Value)
|
||||
{
|
||||
<div>
|
||||
<input type="checkbox" value="@flagItem.Item1" id="jobFlag_@(flagItem.Item1)" @(flagItem.Item3 ? new HtmlString("checked=\"checked\"") : new HtmlString(string.Empty)) /><label id="jobFlagLabel_@(flagItem.Item1)" for="jobFlag_@(flagItem.Item1)">@flagItem.Item2</label></div>
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
<div id="dialogFlagsAction" title="Add Flag">
|
||||
@using (Html.BeginForm(MVC.API.Job.UpdateFlag(Model.Job.Id, null, null, true)))
|
||||
{
|
||||
<input id="dialogFlagsActionFlag" type="hidden" name="Flag" value="0" />
|
||||
<h3>
|
||||
Reason:</h3>
|
||||
<p>
|
||||
<textarea name="Reason" class="block"></textarea>
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#jobDetailTabItems').append('<li><a href="#jobDetailTab-Flags">Flags</a></li>');
|
||||
$(function () {
|
||||
var $flagCheckboxes = $('#jobFlags').find('input[type="checkbox"]');
|
||||
var $dialogFlagsAction = $('#dialogFlagsAction');
|
||||
var $flagCheckbox;
|
||||
|
||||
var updateFlags = function () {
|
||||
$flagCheckbox = $(this);
|
||||
var flagValue = $flagCheckbox.val();
|
||||
|
||||
if ($flagCheckbox.is(':checked')) {
|
||||
// Add
|
||||
$('#dialogFlagsActionFlag').val(flagValue);
|
||||
var title = 'Add Flag: ' + $flagCheckbox.closest('tr').find('th .flagGroupName').text() + ': ' + $('#jobFlagLabel_' + flagValue).text();
|
||||
$dialogFlagsAction.dialog('option', 'title', title);
|
||||
$dialogFlagsAction.dialog('open');
|
||||
} else {
|
||||
// Remove
|
||||
var $ajaxLoading = $flagCheckbox.closest('tr').find('span.ajaxLoading');
|
||||
$ajaxLoading.show();
|
||||
$.getJSON('@(Url.Action(MVC.API.Job.UpdateFlag(Model.Job.Id, null, null, false)))', { Flag: '-' + flagValue }, function (response, result) {
|
||||
if (result != 'success' || response != 'OK') {
|
||||
alert('Unable to change Flag:\n' + response);
|
||||
$ajaxLoading.hide();
|
||||
} else {
|
||||
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
|
||||
}
|
||||
})
|
||||
}
|
||||
};
|
||||
$dialogFlagsAction.dialog({
|
||||
resizable: false,
|
||||
height: 240,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
"Add": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog("disable");
|
||||
$this.dialog("option", "buttons", null);
|
||||
$this.find('form').first().submit();
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
},
|
||||
close: function () {
|
||||
$flagCheckbox.attr('checked', false);
|
||||
}
|
||||
});
|
||||
|
||||
$flagCheckboxes.click(updateFlags);
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
@@ -0,0 +1,327 @@
|
||||
#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.Views.Job.JobParts
|
||||
{
|
||||
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("~/Views/Job/JobParts/Flags.cshtml")]
|
||||
public class Flags : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public Flags()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
|
||||
var validFlags = Model.Job.ValidFlagsGrouped();
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTab-Flags\"");
|
||||
|
||||
WriteLiteral(" class=\"jobPart\"");
|
||||
|
||||
WriteLiteral(">\r\n <table");
|
||||
|
||||
WriteLiteral(" id=\"jobFlags\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 7 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 7 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
foreach (var flagGroup in validFlags)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <tr>\r\n <th>\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"flagGroupName\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 11 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
Write(flagGroup.Key);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span><br />\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 12 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
|
||||
#line 15 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 15 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
foreach (var flagItem in flagGroup.Value)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <div>\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"checkbox\"");
|
||||
|
||||
WriteAttribute("value", Tuple.Create(" value=\"", 609), Tuple.Create("\"", 632)
|
||||
|
||||
#line 18 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 617), Tuple.Create<System.Object, System.Int32>(flagItem.Item1
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 617), false)
|
||||
);
|
||||
|
||||
WriteAttribute("id", Tuple.Create(" id=\"", 633), Tuple.Create("\"", 663)
|
||||
, Tuple.Create(Tuple.Create("", 638), Tuple.Create("jobFlag_", 638), true)
|
||||
|
||||
#line 18 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 646), Tuple.Create<System.Object, System.Int32>(flagItem.Item1
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 646), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 18 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
Write(flagItem.Item3 ? new HtmlString("checked=\"checked\"") : new HtmlString(string.Empty));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" /><label");
|
||||
|
||||
WriteAttribute("id", Tuple.Create(" id=\"", 762), Tuple.Create("\"", 797)
|
||||
, Tuple.Create(Tuple.Create("", 767), Tuple.Create("jobFlagLabel_", 767), true)
|
||||
|
||||
#line 18 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 780), Tuple.Create<System.Object, System.Int32>(flagItem.Item1
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 780), false)
|
||||
);
|
||||
|
||||
WriteAttribute("for", Tuple.Create(" for=\"", 798), Tuple.Create("\"", 829)
|
||||
, Tuple.Create(Tuple.Create("", 804), Tuple.Create("jobFlag_", 804), true)
|
||||
|
||||
#line 18 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 812), Tuple.Create<System.Object, System.Int32>(flagItem.Item1
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 812), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 18 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
Write(flagItem.Item2);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</label></div>\r\n");
|
||||
|
||||
|
||||
#line 19 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </td>\r\n </tr>\r\n");
|
||||
|
||||
|
||||
#line 22 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </table>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"dialogFlagsAction\"");
|
||||
|
||||
WriteLiteral(" title=\"Add Flag\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 25 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 25 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
using (Html.BeginForm(MVC.API.Job.UpdateFlag(Model.Job.Id, null, null, true)))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <input");
|
||||
|
||||
WriteLiteral(" id=\"dialogFlagsActionFlag\"");
|
||||
|
||||
WriteLiteral(" type=\"hidden\"");
|
||||
|
||||
WriteLiteral(" name=\"Flag\"");
|
||||
|
||||
WriteLiteral(" value=\"0\"");
|
||||
|
||||
WriteLiteral(" />\r\n");
|
||||
|
||||
WriteLiteral(" <h3>\r\n Reason:</h3>\r\n");
|
||||
|
||||
WriteLiteral(" <p>\r\n <textarea");
|
||||
|
||||
WriteLiteral(" name=\"Reason\"");
|
||||
|
||||
WriteLiteral(" class=\"block\"");
|
||||
|
||||
WriteLiteral("></textarea>\r\n </p>\r\n");
|
||||
|
||||
|
||||
#line 33 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </div>\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$('#jobDetailTabItems').append('<li><a href=""#jobDetailTab-Flags"">Flags</a></li>');
|
||||
$(function () {
|
||||
var $flagCheckboxes = $('#jobFlags').find('input[type=""checkbox""]');
|
||||
var $dialogFlagsAction = $('#dialogFlagsAction');
|
||||
var $flagCheckbox;
|
||||
|
||||
var updateFlags = function () {
|
||||
$flagCheckbox = $(this);
|
||||
var flagValue = $flagCheckbox.val();
|
||||
|
||||
if ($flagCheckbox.is(':checked')) {
|
||||
// Add
|
||||
$('#dialogFlagsActionFlag').val(flagValue);
|
||||
var title = 'Add Flag: ' + $flagCheckbox.closest('tr').find('th .flagGroupName').text() + ': ' + $('#jobFlagLabel_' + flagValue).text();
|
||||
$dialogFlagsAction.dialog('option', 'title', title);
|
||||
$dialogFlagsAction.dialog('open');
|
||||
} else {
|
||||
// Remove
|
||||
var $ajaxLoading = $flagCheckbox.closest('tr').find('span.ajaxLoading');
|
||||
$ajaxLoading.show();
|
||||
$.getJSON('");
|
||||
|
||||
|
||||
#line 56 "..\..\Views\Job\JobParts\Flags.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateFlag(Model.Job.Id, null, null, false)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"', { Flag: '-' + flagValue }, function (response, result) {
|
||||
if (result != 'success' || response != 'OK') {
|
||||
alert('Unable to change Flag:\n' + response);
|
||||
$ajaxLoading.hide();
|
||||
} else {
|
||||
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
|
||||
}
|
||||
})
|
||||
}
|
||||
};
|
||||
$dialogFlagsAction.dialog({
|
||||
resizable: false,
|
||||
height: 240,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
""Add"": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog(""disable"");
|
||||
$this.dialog(""option"", ""buttons"", null);
|
||||
$this.find('form').first().submit();
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog(""close"");
|
||||
}
|
||||
},
|
||||
close: function () {
|
||||
$flagCheckbox.attr('checked', false);
|
||||
}
|
||||
});
|
||||
|
||||
$flagCheckboxes.click(updateFlags);
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,380 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
<table id="jobNonWarrantyInsurance">
|
||||
@if (Model.Job.JobMetaNonWarranty.IsInsuranceClaim)
|
||||
{
|
||||
<tr>
|
||||
<th style="width: 230px;">
|
||||
Date of Loss or Damage
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.LossOrDamageDate)
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaInsurance_LossOrDamageDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'@(Url.Action(MVC.API.Job.UpdateInsuranceLossOrDamageDate(Model.Job.Id, null)))',
|
||||
'LossOrDamageDate',
|
||||
null
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Event Location
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.EventLocation)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_EventLocation'),
|
||||
'Unknown',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceEventLocation(Model.Job.Id, null))',
|
||||
'EventLocation'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Description
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.Description)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_Description'),
|
||||
'None',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceDescription(Model.Job.Id, null))',
|
||||
'Description'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.ThirdPartyCaused)@Html.LabelFor(m => m.Job.JobMetaInsurance.ThirdPartyCaused)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<div id="Job_JobMetaInsurance_ThirdPartyCaused_Details" style="padding-left: 25px;">
|
||||
<div>
|
||||
<h5>
|
||||
Third Party Name</h5>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.ThirdPartyCausedName)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
</div>
|
||||
<div>
|
||||
<h5>
|
||||
Why Third Parties Fault</h5>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.ThirdPartyCausedWhy)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var thirdPartyField = $('#Job_JobMetaInsurance_ThirdPartyCaused');
|
||||
var thirdPartyDetails = $('#Job_JobMetaInsurance_ThirdPartyCaused_Details');
|
||||
var thirdPartyDetails_Changed = function (e, dontAnimate) {
|
||||
if (thirdPartyField.is(':checked')) {
|
||||
if (dontAnimate) {
|
||||
thirdPartyDetails.show();
|
||||
} else {
|
||||
thirdPartyDetails.slideDown();
|
||||
}
|
||||
} else {
|
||||
if (dontAnimate) {
|
||||
thirdPartyDetails.hide();
|
||||
} else {
|
||||
thirdPartyDetails.slideUp();
|
||||
}
|
||||
}
|
||||
};
|
||||
thirdPartyDetails_Changed(null, true);
|
||||
thirdPartyField.change(thirdPartyDetails_Changed);
|
||||
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
thirdPartyField,
|
||||
null,
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceThirdPartyCaused(Model.Job.Id, null))',
|
||||
'ThirdPartyCaused'
|
||||
);
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_ThirdPartyCausedName'),
|
||||
'None',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceThirdPartyCausedName(Model.Job.Id, null))',
|
||||
'ThirdPartyCausedName'
|
||||
);
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_ThirdPartyCausedWhy'),
|
||||
'Unknown',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceThirdPartyCausedWhy(Model.Job.Id, null))',
|
||||
'ThirdPartyCausedWhy'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Witnessed by (Name/Address)
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.WitnessesNamesAddresses)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_WitnessesNamesAddresses'),
|
||||
'None',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceWitnessesNamesAddresses(Model.Job.Id, null))',
|
||||
'WitnessesNamesAddresses'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Burglary/Theft - Method of Entry
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.BurglaryTheftMethodOfEntry)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_BurglaryTheftMethodOfEntry'),
|
||||
'None',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceBurglaryTheftMethodOfEntry(Model.Job.Id, null))',
|
||||
'BurglaryTheftMethodOfEntry'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Property Last Seen
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.PropertyLastSeenDate)
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaInsurance_PropertyLastSeenDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown/NA',
|
||||
'@(Url.Action(MVC.API.Job.UpdateInsurancePropertyLastSeenDate(Model.Job.Id, null)))',
|
||||
'PropertyLastSeenDate',
|
||||
null
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.PoliceNotified)@Html.LabelFor(m => m.Job.JobMetaInsurance.PoliceNotified)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<div id="Job_JobMetaInsurance_PoliceNotified_Details" style="padding-left: 25px;">
|
||||
<div>
|
||||
<h5>
|
||||
Station</h5>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.PoliceNotifiedStation)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
</div>
|
||||
<div>
|
||||
<h5>
|
||||
Date</h5>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.PoliceNotifiedDate)
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
</div>
|
||||
<div>
|
||||
<h5>
|
||||
Crime Report #</h5>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.PoliceNotifiedCrimeReportNo)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var policeNotifiedField = $('#Job_JobMetaInsurance_PoliceNotified');
|
||||
var policeNotifiedDetails = $('#Job_JobMetaInsurance_PoliceNotified_Details');
|
||||
var policeNotifiedDetails_Changed = function (e, dontAnimate) {
|
||||
if (policeNotifiedField.is(':checked')) {
|
||||
if (dontAnimate) {
|
||||
policeNotifiedDetails.show();
|
||||
} else {
|
||||
policeNotifiedDetails.slideDown();
|
||||
}
|
||||
} else {
|
||||
if (dontAnimate) {
|
||||
policeNotifiedDetails.hide();
|
||||
} else {
|
||||
policeNotifiedDetails.slideUp();
|
||||
}
|
||||
}
|
||||
};
|
||||
policeNotifiedDetails_Changed(null, true);
|
||||
policeNotifiedField.change(policeNotifiedDetails_Changed);
|
||||
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
policeNotifiedField,
|
||||
null,
|
||||
'@Url.Action(MVC.API.Job.UpdateInsurancePoliceNotified(Model.Job.Id, null))',
|
||||
'PoliceNotified'
|
||||
);
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_PoliceNotifiedStation'),
|
||||
'Unknown',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsurancePoliceNotifiedStation(Model.Job.Id, null))',
|
||||
'PoliceNotifiedStation'
|
||||
);
|
||||
var dateField = $('#Job_JobMetaInsurance_PoliceNotifiedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'@(Url.Action(MVC.API.Job.UpdateInsurancePoliceNotifiedDate(Model.Job.Id, null)))',
|
||||
'PoliceNotifiedDate',
|
||||
null,
|
||||
true
|
||||
);
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_PoliceNotifiedCrimeReportNo'),
|
||||
'Unknown',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsurancePoliceNotifiedCrimeReportNo(Model.Job.Id, null))',
|
||||
'PoliceNotifiedCrimeReportNo'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Action to Recover/Reduce Loss
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.RecoverReduceAction)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_RecoverReduceAction'),
|
||||
'None',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceRecoverReduceAction(Model.Job.Id, null))',
|
||||
'RecoverReduceAction'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Other Interested Parties
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.OtherInterestedParties)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaInsurance_OtherInterestedParties'),
|
||||
'None',
|
||||
'@Url.Action(MVC.API.Job.UpdateInsuranceOtherInterestedParties(Model.Job.Id, null))',
|
||||
'OtherInterestedParties'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Date of Purchase
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.DateOfPurchase)
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaInsurance_DateOfPurchase');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'@(Url.Action(MVC.API.Job.UpdateInsuranceDateOfPurchase(Model.Job.Id, null)))',
|
||||
'DateOfPurchase',
|
||||
null,
|
||||
true
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Claim Form Sent Date
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaInsurance.ClaimFormSentDate)
|
||||
<span id="Job_JobMetaInsurance_ClaimFormSentUserId">@(string.IsNullOrEmpty(Model.Job.JobMetaInsurance.ClaimFormSentUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaInsurance.ClaimFormSentUser.ToString()))</span>
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaInsurance_ClaimFormSentDate'),
|
||||
$('#Job_JobMetaInsurance_ClaimFormSentUserId'),
|
||||
'Unknown',
|
||||
'@(Url.Action(MVC.API.Job.UpdateInsuranceClaimFormSentDate(Model.Job.Id, null)))',
|
||||
'ClaimFormSentDate',
|
||||
@(Model.Job.OpenedDate.ToJavascriptDate())
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
<tr>
|
||||
<th>
|
||||
Insurance Claim
|
||||
</th>
|
||||
<td>
|
||||
<div style="padding: 8px; text-align: center">
|
||||
@if (Model.Job.JobMetaNonWarranty.IsInsuranceClaim)
|
||||
{
|
||||
@Html.ActionLinkButton("Remove Insurance Claim", MVC.API.Job.UpdateNonWarrantyIsInsuranceClaim(Model.Job.Id, false, true))
|
||||
}
|
||||
else
|
||||
{
|
||||
@Html.ActionLinkButton("Add Insurance Claim", MVC.API.Job.UpdateNonWarrantyIsInsuranceClaim(Model.Job.Id, true, true))
|
||||
}
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,19 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
@using Disco.Models.Repository;
|
||||
@{
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/Disco-PropertyChangeHelpers");
|
||||
}
|
||||
@switch (Model.Job.JobTypeId)
|
||||
{
|
||||
case JobType.JobTypeIds.HWar:
|
||||
@Html.Partial(MVC.Job.Views.JobParts.Warranty);
|
||||
break;
|
||||
case JobType.JobTypeIds.HNWar:
|
||||
@Html.Partial(MVC.Job.Views.JobParts.NonWarranty);
|
||||
break;
|
||||
case JobType.JobTypeIds.UMgmt:
|
||||
@Html.Partial(MVC.Job.Views.JobParts.Flags);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -0,0 +1,119 @@
|
||||
#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.Views.Job.JobParts
|
||||
{
|
||||
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;
|
||||
|
||||
#line 2 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
using Disco.Models.Repository;
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
using Disco.Web;
|
||||
using Disco.Web.Extensions;
|
||||
|
||||
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "1.5.0.0")]
|
||||
[System.Web.WebPages.PageVirtualPathAttribute("~/Views/Job/JobParts/JobMetaAdditions.cshtml")]
|
||||
public class JobMetaAdditions : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public JobMetaAdditions()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 3 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/Disco-PropertyChangeHelpers");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
|
||||
#line 6 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
switch (Model.Job.JobTypeId)
|
||||
{
|
||||
case JobType.JobTypeIds.HWar:
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.Warranty));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
;
|
||||
break;
|
||||
case JobType.JobTypeIds.HNWar:
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 12 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.NonWarranty));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 12 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
;
|
||||
break;
|
||||
case JobType.JobTypeIds.UMgmt:
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 15 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.Flags));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 15 "..\..\Views\Job\JobParts\JobMetaAdditions.cshtml"
|
||||
;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,16 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
<div id="jobDetailTab-Components" class="jobPart">
|
||||
@Html.Partial(MVC.Job.Views.JobParts.Components)
|
||||
</div>
|
||||
<div id="jobDetailTab-NonWarrantyFinance" class="jobPart">
|
||||
@Html.Partial(MVC.Job.Views.JobParts.NonWarrantyFinance)
|
||||
</div>
|
||||
<div id="jobDetailTab-NonWarrantyRepairs" class="jobPart">
|
||||
@Html.Partial(MVC.Job.Views.JobParts.Repairs)
|
||||
</div>
|
||||
<div id="jobDetailTab-NonWarrantyInsurance" class="jobPart">
|
||||
@Html.Partial(MVC.Job.Views.JobParts.Insurance)
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#jobDetailTabItems').append('<li><a href="#jobDetailTab-Components">Components</a></li><li><a href="#jobDetailTab-NonWarrantyFinance">Finance</a></li><li><a href="#jobDetailTab-NonWarrantyRepairs">Repairs</a></li><li><a href="#jobDetailTab-NonWarrantyInsurance">Insurance</a></li>');
|
||||
</script>
|
||||
@@ -0,0 +1,123 @@
|
||||
#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.Views.Job.JobParts
|
||||
{
|
||||
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("~/Views/Job/JobParts/NonWarranty.cshtml")]
|
||||
public class NonWarranty : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public NonWarranty()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
WriteLiteral("<div");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTab-Components\"");
|
||||
|
||||
WriteLiteral(" class=\"jobPart\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 3 "..\..\Views\Job\JobParts\NonWarranty.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.Components));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n</div>\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTab-NonWarrantyFinance\"");
|
||||
|
||||
WriteLiteral(" class=\"jobPart\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 6 "..\..\Views\Job\JobParts\NonWarranty.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.NonWarrantyFinance));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n</div>\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTab-NonWarrantyRepairs\"");
|
||||
|
||||
WriteLiteral(" class=\"jobPart\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 9 "..\..\Views\Job\JobParts\NonWarranty.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.Repairs));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n</div>\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTab-NonWarrantyInsurance\"");
|
||||
|
||||
WriteLiteral(" class=\"jobPart\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 12 "..\..\Views\Job\JobParts\NonWarranty.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.Insurance));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n</div>\r\n<script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$('#jobDetailTabItems').append('<li><a href=""#jobDetailTab-Components"">Components</a></li><li><a href=""#jobDetailTab-NonWarrantyFinance"">Finance</a></li><li><a href=""#jobDetailTab-NonWarrantyRepairs"">Repairs</a></li><li><a href=""#jobDetailTab-NonWarrantyInsurance"">Insurance</a></li>');
|
||||
</script>
|
||||
");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,184 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
<table id="jobNonWarrantyFinance">
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Accounting Charge Required
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.AccountingChargeRequiredDate)
|
||||
<span id="Job_JobMetaNonWarranty_AccountingChargeRequiredUser">@(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.AccountingChargeRequiredUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.AccountingChargeRequiredUser.ToString()))</span>
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargeRequiredDate'),
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargeRequiredUser'),
|
||||
'Not Required',
|
||||
'@(Url.Action(MVC.API.Job.UpdateNonWarrantyAccountingChargeRequired(Model.Job.Id, null)))',
|
||||
'AccountingChargeRequiredDate',
|
||||
@(Model.Job.OpenedDate.ToJavascriptDate())
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Accounting Charge Added
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.AccountingChargeAddedDate)
|
||||
<span id="Job_JobMetaNonWarranty_AccountingChargeAddedUser">@(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.AccountingChargeAddedUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.AccountingChargeAddedUser.ToString()))</span>
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargeAddedDate'),
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargeAddedUser'),
|
||||
'Not Added',
|
||||
'@(Url.Action(MVC.API.Job.UpdateNonWarrantyAccountingChargeAdded(Model.Job.Id, null)))',
|
||||
'AccountingChargeAddedDate',
|
||||
@(Model.Job.OpenedDate.ToJavascriptDate())
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Accounting Charge Paid
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.AccountingChargePaidDate)
|
||||
<span id="Job_JobMetaNonWarranty_AccountingChargePaidUser">@(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.AccountingChargePaidUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.AccountingChargePaidUser.ToString()))</span>
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargePaidDate'),
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargePaidUser'),
|
||||
'Not Paid',
|
||||
'@(Url.Action(MVC.API.Job.UpdateNonWarrantyAccountingChargePaid(Model.Job.Id, null)))',
|
||||
'AccountingChargePaidDate',
|
||||
@(Model.Job.OpenedDate.ToJavascriptDate())
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Purchase Order Raised
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.PurchaseOrderRaisedDate)
|
||||
<span id="Job_JobMetaNonWarranty_PurchaseOrderRaisedUser">@(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.PurchaseOrderRaisedUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.PurchaseOrderRaisedUser.ToString()))</span>
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_PurchaseOrderRaisedDate'),
|
||||
$('#Job_JobMetaNonWarranty_PurchaseOrderRaisedUser'),
|
||||
'Not Raised',
|
||||
'@(Url.Action(MVC.API.Job.UpdateNonWarrantyPurchaseOrderRaised(Model.Job.Id, null)))',
|
||||
'PurchaseOrderRaisedDate',
|
||||
@(Model.Job.OpenedDate.ToJavascriptDate())
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Purchase Order Reference
|
||||
</th>
|
||||
<td>
|
||||
@Html.TextBoxFor(m => m.Job.JobMetaNonWarranty.PurchaseOrderReference)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var $purchaseOrderReference = $('#Job_JobMetaNonWarranty_PurchaseOrderReference');
|
||||
var $ajaxSave = $purchaseOrderReference.next('.ajaxSave');
|
||||
$purchaseOrderReference
|
||||
.watermark('No Reference')
|
||||
.focus(function () { $purchaseOrderReference.select() })
|
||||
.keydown(function (e) {
|
||||
$ajaxSave.show();
|
||||
if (e.which == 13) {
|
||||
$(this).blur();
|
||||
}
|
||||
}).blur(function () {
|
||||
$ajaxSave.hide();
|
||||
})
|
||||
.change(function () {
|
||||
$ajaxSave.hide();
|
||||
$ajaxLoading = $ajaxSave.next('.ajaxLoading').show();
|
||||
var data = { PurchaseOrderReference: $purchaseOrderReference.val() };
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.UpdateNonWarrantyPurchaseOrderReference(Model.Job.Id, null))',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d == 'OK') {
|
||||
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
|
||||
} else {
|
||||
$ajaxLoading.hide();
|
||||
alert('Unable to update purchase order reference: ' + d);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to update purchase order reference: ' + textStatus);
|
||||
$ajaxLoading.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Purchase Order Sent
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.PurchaseOrderSentDate)
|
||||
<span id="Job_JobMetaNonWarranty_PurchaseOrderSentUser">@(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.PurchaseOrderSentUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.PurchaseOrderSentUser.ToString()))</span>
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_PurchaseOrderSentDate'),
|
||||
$('#Job_JobMetaNonWarranty_PurchaseOrderSentUser'),
|
||||
'Not Sent',
|
||||
'@(Url.Action(MVC.API.Job.UpdateNonWarrantyPurchaseOrderSent(Model.Job.Id, null)))',
|
||||
'PurchaseOrderSentDate',
|
||||
@(Model.Job.OpenedDate.ToJavascriptDate())
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Invoice Received
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.InvoiceReceivedDate)
|
||||
<span id="Job_JobMetaNonWarranty_InvoiceReceivedUser">@(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.InvoiceReceivedUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.InvoiceReceivedUser.ToString()))</span>
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_InvoiceReceivedDate'),
|
||||
$('#Job_JobMetaNonWarranty_InvoiceReceivedUser'),
|
||||
'Not Received',
|
||||
'@(Url.Action(MVC.API.Job.UpdateNonWarrantyInvoiceReceived(Model.Job.Id, null)))',
|
||||
'InvoiceReceivedDate',
|
||||
@(Model.Job.OpenedDate.ToJavascriptDate())
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,561 @@
|
||||
#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.Views.Job.JobParts
|
||||
{
|
||||
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("~/Views/Job/JobParts/NonWarrantyFinance.cshtml")]
|
||||
public class NonWarrantyFinance : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public NonWarrantyFinance()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
WriteLiteral("<table");
|
||||
|
||||
WriteLiteral(" id=\"jobNonWarrantyFinance\"");
|
||||
|
||||
WriteLiteral(">\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Accounting Charge Required\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 8 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.AccountingChargeRequiredDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <span");
|
||||
|
||||
WriteLiteral(" id=\"Job_JobMetaNonWarranty_AccountingChargeRequiredUser\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 9 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.AccountingChargeRequiredUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.AccountingChargeRequiredUser.ToString()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 10 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargeRequiredDate'),
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargeRequiredUser'),
|
||||
'Not Required',
|
||||
'");
|
||||
|
||||
|
||||
#line 17 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyAccountingChargeRequired(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'AccountingChargeRequiredDate\',\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 19 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Model.Job.OpenedDate.ToJavascriptDate());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n );\r\n });\r\n </script>\r\n " +
|
||||
" </td>\r\n </tr>\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Accounting Charge Added\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 30 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.AccountingChargeAddedDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <span");
|
||||
|
||||
WriteLiteral(" id=\"Job_JobMetaNonWarranty_AccountingChargeAddedUser\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 31 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.AccountingChargeAddedUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.AccountingChargeAddedUser.ToString()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 32 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargeAddedDate'),
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargeAddedUser'),
|
||||
'Not Added',
|
||||
'");
|
||||
|
||||
|
||||
#line 39 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyAccountingChargeAdded(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'AccountingChargeAddedDate\',\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 41 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Model.Job.OpenedDate.ToJavascriptDate());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n );\r\n });\r\n </script>\r\n " +
|
||||
" </td>\r\n </tr>\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Accounting Charge Paid\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 52 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.AccountingChargePaidDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <span");
|
||||
|
||||
WriteLiteral(" id=\"Job_JobMetaNonWarranty_AccountingChargePaidUser\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 53 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.AccountingChargePaidUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.AccountingChargePaidUser.ToString()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 54 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargePaidDate'),
|
||||
$('#Job_JobMetaNonWarranty_AccountingChargePaidUser'),
|
||||
'Not Paid',
|
||||
'");
|
||||
|
||||
|
||||
#line 61 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyAccountingChargePaid(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'AccountingChargePaidDate\',\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 63 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Model.Job.OpenedDate.ToJavascriptDate());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n );\r\n });\r\n </script>\r\n " +
|
||||
" </td>\r\n </tr>\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Purchase Order Raised\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 74 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.PurchaseOrderRaisedDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <span");
|
||||
|
||||
WriteLiteral(" id=\"Job_JobMetaNonWarranty_PurchaseOrderRaisedUser\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 75 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.PurchaseOrderRaisedUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.PurchaseOrderRaisedUser.ToString()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 76 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_PurchaseOrderRaisedDate'),
|
||||
$('#Job_JobMetaNonWarranty_PurchaseOrderRaisedUser'),
|
||||
'Not Raised',
|
||||
'");
|
||||
|
||||
|
||||
#line 83 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyPurchaseOrderRaised(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'PurchaseOrderRaisedDate\',\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 85 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Model.Job.OpenedDate.ToJavascriptDate());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n );\r\n });\r\n </script>\r\n " +
|
||||
" </td>\r\n </tr>\r\n <tr>\r\n <th>\r\n Purchase Order Reference\r" +
|
||||
"\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 96 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Html.TextBoxFor(m => m.Job.JobMetaNonWarranty.PurchaseOrderReference));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 97 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(AjaxHelpers.AjaxSave());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 98 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
var $purchaseOrderReference = $('#Job_JobMetaNonWarranty_PurchaseOrderReference');
|
||||
var $ajaxSave = $purchaseOrderReference.next('.ajaxSave');
|
||||
$purchaseOrderReference
|
||||
.watermark('No Reference')
|
||||
.focus(function () { $purchaseOrderReference.select() })
|
||||
.keydown(function (e) {
|
||||
$ajaxSave.show();
|
||||
if (e.which == 13) {
|
||||
$(this).blur();
|
||||
}
|
||||
}).blur(function () {
|
||||
$ajaxSave.hide();
|
||||
})
|
||||
.change(function () {
|
||||
$ajaxSave.hide();
|
||||
$ajaxLoading = $ajaxSave.next('.ajaxLoading').show();
|
||||
var data = { PurchaseOrderReference: $purchaseOrderReference.val() };
|
||||
$.ajax({
|
||||
url: '");
|
||||
|
||||
|
||||
#line 119 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyPurchaseOrderReference(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d == 'OK') {
|
||||
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
|
||||
} else {
|
||||
$ajaxLoading.hide();
|
||||
alert('Unable to update purchase order reference: ' + d);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to update purchase order reference: ' + textStatus);
|
||||
$ajaxLoading.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Purchase Order Sent\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 145 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.PurchaseOrderSentDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <span");
|
||||
|
||||
WriteLiteral(" id=\"Job_JobMetaNonWarranty_PurchaseOrderSentUser\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 146 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.PurchaseOrderSentUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.PurchaseOrderSentUser.ToString()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 147 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_PurchaseOrderSentDate'),
|
||||
$('#Job_JobMetaNonWarranty_PurchaseOrderSentUser'),
|
||||
'Not Sent',
|
||||
'");
|
||||
|
||||
|
||||
#line 154 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyPurchaseOrderSent(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'PurchaseOrderSentDate\',\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 156 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Model.Job.OpenedDate.ToJavascriptDate());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n );\r\n });\r\n </script>\r\n " +
|
||||
" </td>\r\n </tr>\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Invoice Received\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 167 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.InvoiceReceivedDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <span");
|
||||
|
||||
WriteLiteral(" id=\"Job_JobMetaNonWarranty_InvoiceReceivedUser\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 168 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(string.IsNullOrEmpty(Model.Job.JobMetaNonWarranty.InvoiceReceivedUserId) ? string.Empty : string.Format("by {0}", Model.Job.JobMetaNonWarranty.InvoiceReceivedUser.ToString()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 169 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
document.DiscoFunctions.DateChangeUserHelper(
|
||||
$('#Job_JobMetaNonWarranty_InvoiceReceivedDate'),
|
||||
$('#Job_JobMetaNonWarranty_InvoiceReceivedUser'),
|
||||
'Not Received',
|
||||
'");
|
||||
|
||||
|
||||
#line 176 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyInvoiceReceived(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'InvoiceReceivedDate\',\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 178 "..\..\Views\Job\JobParts\NonWarrantyFinance.cshtml"
|
||||
Write(Model.Job.OpenedDate.ToJavascriptDate());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n );\r\n });\r\n </script>\r\n " +
|
||||
" </td>\r\n </tr>\r\n</table>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,85 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
<table id="jobNonWarrantyRepairs">
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Repairer Name
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.RepairerName)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaNonWarranty_RepairerName'),
|
||||
'Unknown',
|
||||
'@Url.Action(MVC.API.Job.UpdateNonWarrantyRepairerName(Model.Job.Id, null))',
|
||||
'RepairerName'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Repair Logged
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.RepairerLoggedDate)
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaNonWarranty_RepairerLoggedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'@(Url.Action(MVC.API.Job.UpdateNonWarrantyRepairerLoggedDate(Model.Job.Id, null)))',
|
||||
'RepairerLoggedDate',
|
||||
null
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Repair Reference
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.RepairerReference)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaNonWarranty_RepairerReference'),
|
||||
'Unknown',
|
||||
'@Url.Action(MVC.API.Job.UpdateNonWarrantyRepairerReference(Model.Job.Id, null))',
|
||||
'RepairerReference'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Repair Completed
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaNonWarranty.RepairerCompletedDate)
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaNonWarranty_RepairerCompletedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'@(Url.Action(MVC.API.Job.UpdateNonWarrantyRepairerCompletedDate(Model.Job.Id, null)))',
|
||||
'RepairerCompletedDate',
|
||||
null
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,256 @@
|
||||
#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.Views.Job.JobParts
|
||||
{
|
||||
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("~/Views/Job/JobParts/Repairs.cshtml")]
|
||||
public class Repairs : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public Repairs()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
WriteLiteral("<table");
|
||||
|
||||
WriteLiteral(" id=\"jobNonWarrantyRepairs\"");
|
||||
|
||||
WriteLiteral(">\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Repairer Name\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 8 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.RepairerName));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 9 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(AjaxHelpers.AjaxSave());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 10 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n document.DiscoFunctions.P" +
|
||||
"ropertyChangeHelper(\r\n $(\'#Job_JobMetaNonWarranty_Rep" +
|
||||
"airerName\'),\r\n \'Unknown\',\r\n " +
|
||||
" \'");
|
||||
|
||||
|
||||
#line 16 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyRepairerName(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'RepairerName\'\r\n );\r\n " +
|
||||
" });\r\n </script>\r\n </td>\r\n </tr>\r\n <tr>\r\n " +
|
||||
" <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Repair Logged\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 28 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.RepairerLoggedDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 29 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaNonWarranty_RepairerLoggedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'");
|
||||
|
||||
|
||||
#line 36 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyRepairerLoggedDate(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'RepairerLoggedDate\',\r\n null\r\n" +
|
||||
" );\r\n });\r\n </script>\r\n " +
|
||||
"</td>\r\n </tr>\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Repair Reference\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 49 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.RepairerReference));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 50 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(AjaxHelpers.AjaxSave());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 51 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n document.DiscoFunctions.P" +
|
||||
"ropertyChangeHelper(\r\n $(\'#Job_JobMetaNonWarranty_Rep" +
|
||||
"airerReference\'),\r\n \'Unknown\',\r\n " +
|
||||
" \'");
|
||||
|
||||
|
||||
#line 57 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyRepairerReference(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'RepairerReference\'\r\n );\r\n" +
|
||||
" });\r\n </script>\r\n </td>\r\n </tr>\r\n <tr>\r\n" +
|
||||
" <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Repair Completed\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 69 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaNonWarranty.RepairerCompletedDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 70 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaNonWarranty_RepairerCompletedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'");
|
||||
|
||||
|
||||
#line 77 "..\..\Views\Job\JobParts\Repairs.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateNonWarrantyRepairerCompletedDate(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'RepairerCompletedDate\',\r\n nul" +
|
||||
"l\r\n );\r\n });\r\n </script>\r\n " +
|
||||
" </td>\r\n </tr>\r\n</table>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,332 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
@{
|
||||
Html.BundleDeferred("~/Style/Shadowbox");
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/Shadowbox");
|
||||
}
|
||||
<table id="jobShowResources">
|
||||
<tr>
|
||||
<td id="Comments">
|
||||
<div class="commentOutput">
|
||||
@foreach (var jl in Model.Job.JobLogs.OrderBy(m => m.Timestamp))
|
||||
{
|
||||
<div data-logid="@jl.Id">
|
||||
<span class="author">@jl.TechUser.ToString()</span><span class="remove"></span><span class="timestamp" title="@jl.Timestamp.ToFullDateTime()">@jl.Timestamp.ToFuzzy()</span>
|
||||
<span class="comment">@jl.Comments.ToMultilineJobRefString()</span>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<div class="commentInput clearfix">
|
||||
<textarea class="commentInput" accesskey="l"></textarea>
|
||||
<span class="action post commentInputPost"></span>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$Comments = $('#Comments');
|
||||
$CommentOutput = $Comments.find('.commentOutput');
|
||||
$CommentOutputContainer = $Comments.find('.commentOutputContainer');
|
||||
$CommentInput = $Comments.find('textarea.commentInput');
|
||||
|
||||
window.setTimeout(function () {
|
||||
$CommentOutput[0].scrollTop = $CommentOutput[0].scrollHeight; // Scroll to Bottom
|
||||
}, 0);
|
||||
$('#jobDetailTabs').on('tabsactivate', function (event, ui) {
|
||||
if (ui.newPanel && ui.newPanel.is('#jobDetailTab-Resources')) {
|
||||
$CommentOutput[0].scrollTop = $CommentOutput[0].scrollHeight; // Scroll to Bottom
|
||||
}
|
||||
});
|
||||
|
||||
$Comments.find('.commentInputPost').click(postComment);
|
||||
$CommentInput.keypress(function (e) {
|
||||
if (e.which == 13 && !e.shiftKey) {
|
||||
postComment();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
$CommentOutput.find('span.remove').click(removePost);
|
||||
|
||||
$dialogRemoveLog = $('#dialogRemoveLog');
|
||||
$dialogRemoveLog.dialog({
|
||||
resizable: false,
|
||||
height: 140,
|
||||
modal: true,
|
||||
autoOpen: false
|
||||
});
|
||||
|
||||
function postComment() {
|
||||
var comment = $CommentInput.val();
|
||||
if (comment != '') {
|
||||
var data = { comment: comment }
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.CommentPost(Model.Job.Id, null))',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d.Result == 'OK') {
|
||||
addComment(d.Comment, false);
|
||||
$CommentInput.val('').attr('disabled', false).focus();
|
||||
} else {
|
||||
alert('Unable to post comment: ' + d.Result);
|
||||
$CommentInput.attr('disabled', false);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to post comment: ' + textStatus);
|
||||
$CommentInput.attr('disabled', false);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
function removePost() {
|
||||
$this = $(this);
|
||||
var data = { id: $this.closest('div').attr('data-logid') };
|
||||
|
||||
$dialogRemoveLog.dialog("enable");
|
||||
$dialogRemoveLog.dialog('option', 'buttons', {
|
||||
"Remove": function () {
|
||||
$dialogRemoveLog.dialog("disable");
|
||||
$dialogRemoveLog.dialog("option", "buttons", null);
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.CommentRemove())',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d == 'OK') {
|
||||
$this.closest('div').slideUp(300).delay(300).queue(function () {
|
||||
$(this).remove();
|
||||
});
|
||||
} else {
|
||||
alert('Unable to remove comment: ' + d);
|
||||
}
|
||||
$dialogRemoveLog.dialog("close");
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to remove comment: ' + textStatus);
|
||||
$dialogRemoveLog.dialog("close");
|
||||
}
|
||||
});
|
||||
},
|
||||
"Cancel": function () {
|
||||
$dialogRemoveLog.dialog("close");
|
||||
}
|
||||
});
|
||||
|
||||
$dialogRemoveLog.dialog('open');
|
||||
|
||||
return false;
|
||||
}
|
||||
function addComment(c, quick) {
|
||||
var e = $('<div><span class="author" /><span class="remove" /><span class="timestamp" /><span class="comment" /></div>');
|
||||
e.attr('data-logid', c.Id);
|
||||
e.find('.author').text(c.Author);
|
||||
e.find('.timestamp').text(c.TimestampFuzzy).attr('title', c.TimestampFull);
|
||||
e.find('.remove').click(removePost);
|
||||
var eComment = e.find('.comment').text(c.Comments);
|
||||
var commentHtml = eComment.text().replace(/\r\n|\r|\n/g, '<br />');
|
||||
commentHtml = commentHtml.replace(/\#(\d+)/g, '<a href="@Url.Action(MVC.Job.Show(null))?id=$1">#$1</a>');
|
||||
eComment.html(commentHtml);
|
||||
|
||||
$CommentOutput.append(e);
|
||||
|
||||
if (!quick) {
|
||||
e.animate({ backgroundColor: '#ffff99' }, 500, function () {
|
||||
e.animate({ backgroundColor: '#f4f4f4' }, 500);
|
||||
});
|
||||
$CommentOutput.animate({ scrollTop: $CommentOutput[0].scrollHeight }, 250)
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
<td id="Attachments">
|
||||
<div class="attachmentOutput">
|
||||
@foreach (var ja in Model.Job.JobAttachments)
|
||||
{
|
||||
<a href="@Url.Action(MVC.API.Job.AttachmentDownload(ja.Id))" data-attachmentid="@ja.Id" data-mimetype="@ja.MimeType">
|
||||
<span class="icon" title="@ja.Filename">
|
||||
<img alt="Attachment Thumbnail" src="@(Url.Action(MVC.API.Job.AttachmentThumbnail(ja.Id)))" /></span>
|
||||
<span class="comments" title="@ja.Comments">
|
||||
@{if (!string.IsNullOrEmpty(ja.DocumentTemplateId))
|
||||
{ @ja.DocumentTemplate.Description}
|
||||
else
|
||||
{ @ja.Comments }}
|
||||
</span><span class="author">@ja.TechUser.ToString()</span><span class="remove"></span><span class="timestamp" title="@ja.Timestamp.ToFullDateTime()">@ja.Timestamp.ToFuzzy()</span>
|
||||
</a>
|
||||
}
|
||||
</div>
|
||||
<div class="attachmentInput clearfix">
|
||||
<span class="action upload"></span><span class="action photo"></span>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
Shadowbox.init({
|
||||
skipSetup: true,
|
||||
modal: true
|
||||
});
|
||||
$(function () {
|
||||
if (!document.DiscoFunctions) {
|
||||
document.DiscoFunctions = {};
|
||||
}
|
||||
document.DiscoFunctions.addAttachment = addAttachment;
|
||||
|
||||
$Attachments = $('#Attachments');
|
||||
$attachmentOutput = $Attachments.find('.attachmentOutput');
|
||||
|
||||
$attachmentOutput.find('span.remove').click(removeAttachment);
|
||||
|
||||
$('#dialogUpload').dialog({
|
||||
autoOpen: false,
|
||||
draggable: false,
|
||||
modal: true,
|
||||
resizable: false,
|
||||
width: 860,
|
||||
height: 550,
|
||||
close: function () {
|
||||
silverlightUploadAttachment.content.Navigator.Navigate('/Hidden');
|
||||
}
|
||||
});
|
||||
|
||||
$('#dialogRemoveAttachment').dialog({
|
||||
resizable: false,
|
||||
height: 140,
|
||||
modal: true,
|
||||
autoOpen: false
|
||||
});
|
||||
|
||||
var onLoadNavigation = null;
|
||||
var isLoaded = null;
|
||||
Silverlight.createObject(
|
||||
'@(Links.ClientBin.Disco_Silverlight_AttachmentUpload_xap)',
|
||||
$('#silverlightHostUploadAttachment').get(0),
|
||||
'silverlightUploadAttachment',
|
||||
{ width: '840px', height: '500px', background: 'white', version: '4.0.60310.0' },
|
||||
{
|
||||
onLoad: function () {
|
||||
if (onLoadNavigation) {
|
||||
silverlightUploadAttachment.content.Navigator.Navigate(onLoadNavigation);
|
||||
isLoaded = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
'UploadUrl=@(Url.Action(MVC.API.Job.AttachmentUpload(Model.Job.Id, null)))'
|
||||
);
|
||||
|
||||
$attachmentInput = $Attachments.find('.attachmentInput');
|
||||
$attachmentInput.find('.photo').click(function () {
|
||||
showDialog('/WebCam');
|
||||
});
|
||||
$attachmentInput.find('.upload').click(function () {
|
||||
showDialog('/File');
|
||||
});
|
||||
|
||||
silverlightUploadAttachment = $('#silverlightUploadAttachment').get(0);
|
||||
function showDialog(navigationPath) {
|
||||
$('#dialogUpload').dialog('open');
|
||||
if (isLoaded) {
|
||||
silverlightUploadAttachment.content.Navigator.Navigate(navigationPath);
|
||||
} else {
|
||||
onLoadNavigation = navigationPath;
|
||||
}
|
||||
};
|
||||
function addAttachment(id, quick) {
|
||||
var data = { id: id };
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.Attachment())',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d.Result == 'OK') {
|
||||
var a = d.Attachment;
|
||||
|
||||
var e = $('<a><span class="icon"><img alt="Attachment Thumbnail" /></span><span class="comments"></span><span class="author"></span><span class="remove"></span><span class="timestamp"></span></a>');
|
||||
|
||||
e.attr('data-attachmentid', a.Id).attr('data-mimetype', a.MimeType).attr('href', '@(Url.Action(MVC.API.Job.AttachmentDownload()))/' + a.Id);
|
||||
e.find('.icon img').attr('src', '@(Url.Action(MVC.API.Job.AttachmentThumbnail()))/' + a.Id);
|
||||
e.find('.comments').text(a.Comments);
|
||||
e.find('.author').text(a.Author);
|
||||
e.find('.timestamp').text(a.TimestampFuzzy).attr('title', a.TimestampFull);
|
||||
e.find('.remove').click(removeAttachment);
|
||||
if (!quick)
|
||||
e.hide();
|
||||
$attachmentOutput.append(e);
|
||||
if (!quick)
|
||||
e.show('slow');
|
||||
if (a.MimeType.toLowerCase().indexOf('image/') == 0)
|
||||
e.shadowbox({ gallery: 'attachments', player: 'img', title: a.Comments });
|
||||
} else {
|
||||
alert('Unable to add attachment: ' + d.Result);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to add attachment: ' + textStatus);
|
||||
}
|
||||
});
|
||||
}
|
||||
function removeAttachment() {
|
||||
$this = $(this).closest('a');
|
||||
|
||||
var data = { id: $this.attr('data-attachmentid') };
|
||||
|
||||
var $dialogRemoveAttachment = $('#dialogRemoveAttachment');
|
||||
$dialogRemoveAttachment.dialog("enable");
|
||||
$dialogRemoveAttachment.dialog('option', 'buttons', {
|
||||
"Remove": function () {
|
||||
$dialogRemoveAttachment.dialog("disable");
|
||||
$dialogRemoveAttachment.dialog("option", "buttons", null);
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.AttachmentRemove())',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d == 'OK') {
|
||||
$this.hide(300).delay(300).queue(function () {
|
||||
var $this = $(this);
|
||||
if ($this.attr('data-mimetype').toLowerCase().indexOf('image/') == 0)
|
||||
Shadowbox.removeCache(this);
|
||||
$this.remove();
|
||||
});
|
||||
} else {
|
||||
alert('Unable to remove attachment: ' + d);
|
||||
}
|
||||
$dialogRemoveAttachment.dialog("close");
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to remove attachment: ' + textStatus);
|
||||
$dialogRemoveAttachment.dialog("close");
|
||||
}
|
||||
});
|
||||
},
|
||||
"Cancel": function () {
|
||||
$dialogRemoveAttachment.dialog("close");
|
||||
}
|
||||
});
|
||||
|
||||
$dialogRemoveAttachment.dialog('open');
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
$attachmentOutput.children('a').each(function () {
|
||||
$this = $(this);
|
||||
if ($this.attr('data-mimetype').toLowerCase().indexOf('image/') == 0)
|
||||
$this.shadowbox({ gallery: 'attachments', player: 'img', title: $this.find('.comments').text() });
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="dialogUpload" title="Upload Attachment">
|
||||
<div id="silverlightHostUploadAttachment">
|
||||
</div>
|
||||
</div>
|
||||
<div id="dialogRemoveLog" title="Remove this Comment?">
|
||||
<p>
|
||||
<span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
|
||||
Are you sure?
|
||||
</p>
|
||||
</div>
|
||||
<div id="dialogRemoveAttachment" title="Remove this Attachment?">
|
||||
<p>
|
||||
<span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
|
||||
Are you sure?
|
||||
</p>
|
||||
</div>
|
||||
@@ -0,0 +1,718 @@
|
||||
#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.Views.Job.JobParts
|
||||
{
|
||||
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("~/Views/Job/JobParts/Resources.cshtml")]
|
||||
public class Resources : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public Resources()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
|
||||
Html.BundleDeferred("~/Style/Shadowbox");
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/Shadowbox");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<table");
|
||||
|
||||
WriteLiteral(" id=\"jobShowResources\"");
|
||||
|
||||
WriteLiteral(">\r\n <tr>\r\n <td");
|
||||
|
||||
WriteLiteral(" id=\"Comments\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"commentOutput\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 10 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 10 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
foreach (var jl in Model.Job.JobLogs.OrderBy(m => m.Timestamp))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" data-logid=\"");
|
||||
|
||||
|
||||
#line 12 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(jl.Id);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\"");
|
||||
|
||||
WriteLiteral(">\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"author\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 13 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(jl.TechUser.ToString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span><span");
|
||||
|
||||
WriteLiteral(" class=\"remove\"");
|
||||
|
||||
WriteLiteral("></span><span");
|
||||
|
||||
WriteLiteral(" class=\"timestamp\"");
|
||||
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 540), Tuple.Create("\"", 578)
|
||||
|
||||
#line 13 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 548), Tuple.Create<System.Object, System.Int32>(jl.Timestamp.ToFullDateTime()
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 548), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 13 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(jl.Timestamp.ToFuzzy());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"comment\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 14 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(jl.Comments.ToMultilineJobRefString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 16 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"commentInput clearfix\"");
|
||||
|
||||
WriteLiteral(">\r\n <textarea");
|
||||
|
||||
WriteLiteral(" class=\"commentInput\"");
|
||||
|
||||
WriteLiteral(" accesskey=\"l\"");
|
||||
|
||||
WriteLiteral("></textarea>\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"action post commentInputPost\"");
|
||||
|
||||
WriteLiteral("></span>\r\n </div>\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n $Comments = $(\'#Comments\'" +
|
||||
");\r\n $CommentOutput = $Comments.find(\'.commentOutput\');\r\n " +
|
||||
" $CommentOutputContainer = $Comments.find(\'.commentOutputContaine" +
|
||||
"r\');\r\n $CommentInput = $Comments.find(\'textarea.commentInput\'" +
|
||||
");\r\n\r\n window.setTimeout(function () {\r\n " +
|
||||
" $CommentOutput[0].scrollTop = $CommentOutput[0].scrollHeight; // Scroll to Bo" +
|
||||
"ttom\r\n }, 0);\r\n $(\'#jobDetailTabs\').on(\'ta" +
|
||||
"bsactivate\', function (event, ui) {\r\n if (ui.newPanel && " +
|
||||
"ui.newPanel.is(\'#jobDetailTab-Resources\')) {\r\n $Comme" +
|
||||
"ntOutput[0].scrollTop = $CommentOutput[0].scrollHeight; // Scroll to Bottom\r\n " +
|
||||
" }\r\n });\r\n\r\n $Comments" +
|
||||
".find(\'.commentInputPost\').click(postComment);\r\n $CommentInpu" +
|
||||
"t.keypress(function (e) {\r\n if (e.which == 13 && !e.shift" +
|
||||
"Key) {\r\n postComment();\r\n " +
|
||||
"return false;\r\n }\r\n });\r\n " +
|
||||
" $CommentOutput.find(\'span.remove\').click(removePost);\r\n\r\n " +
|
||||
" $dialogRemoveLog = $(\'#dialogRemoveLog\');\r\n $dialogRemove" +
|
||||
"Log.dialog({\r\n resizable: false,\r\n " +
|
||||
" height: 140,\r\n modal: true,\r\n aut" +
|
||||
"oOpen: false\r\n });\r\n\r\n function postCommen" +
|
||||
"t() {\r\n var comment = $CommentInput.val();\r\n " +
|
||||
" if (comment != \'\') {\r\n var data = { commen" +
|
||||
"t: comment }\r\n $.ajax({\r\n " +
|
||||
" url: \'");
|
||||
|
||||
|
||||
#line 60 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.CommentPost(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n dataType: \'json\',\r\n " +
|
||||
" data: data,\r\n success: function (d) {\r\n " +
|
||||
" if (d.Result == \'OK\') {\r\n " +
|
||||
" addComment(d.Comment, false);\r\n " +
|
||||
" $CommentInput.val(\'\').attr(\'disabled\', false).focus();\r\n " +
|
||||
" } else {\r\n alert(\'Una" +
|
||||
"ble to post comment: \' + d.Result);\r\n $Co" +
|
||||
"mmentInput.attr(\'disabled\', false);\r\n }\r\n " +
|
||||
" },\r\n error: function " +
|
||||
"(jqXHR, textStatus, errorThrown) {\r\n alert(\'U" +
|
||||
"nable to post comment: \' + textStatus);\r\n $Co" +
|
||||
"mmentInput.attr(\'disabled\', false);\r\n }\r\n " +
|
||||
" });\r\n }\r\n }\r\n " +
|
||||
" function removePost() {\r\n $this = $(this);" +
|
||||
"\r\n var data = { id: $this.closest(\'div\').attr(\'data-logid" +
|
||||
"\') };\r\n\r\n $dialogRemoveLog.dialog(\"enable\");\r\n " +
|
||||
" $dialogRemoveLog.dialog(\'option\', \'buttons\', {\r\n " +
|
||||
" \"Remove\": function () {\r\n $dialogRemoveL" +
|
||||
"og.dialog(\"disable\");\r\n $dialogRemoveLog.dialog(\"" +
|
||||
"option\", \"buttons\", null);\r\n $.ajax({\r\n " +
|
||||
" url: \'");
|
||||
|
||||
|
||||
#line 89 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.CommentRemove()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n dataType: \'json\',\r\n " +
|
||||
" data: data,\r\n success: function" +
|
||||
" (d) {\r\n if (d == \'OK\') {\r\n " +
|
||||
" $this.closest(\'div\').slideUp(300).delay(300).queue" +
|
||||
"(function () {\r\n $(this).remove()" +
|
||||
";\r\n });\r\n " +
|
||||
" } else {\r\n alert(\'Unable " +
|
||||
"to remove comment: \' + d);\r\n }\r\n " +
|
||||
" $dialogRemoveLog.dialog(\"close\");\r\n " +
|
||||
" },\r\n error: function (j" +
|
||||
"qXHR, textStatus, errorThrown) {\r\n alert(" +
|
||||
"\'Unable to remove comment: \' + textStatus);\r\n " +
|
||||
" $dialogRemoveLog.dialog(\"close\");\r\n }\r\n " +
|
||||
" });\r\n },\r\n " +
|
||||
" \"Cancel\": function () {\r\n $dialog" +
|
||||
"RemoveLog.dialog(\"close\");\r\n }\r\n " +
|
||||
" });\r\n\r\n $dialogRemoveLog.dialog(\'open\');\r\n\r\n " +
|
||||
" return false;\r\n }\r\n function" +
|
||||
" addComment(c, quick) {\r\n var e = $(\'<div><span class=\"au" +
|
||||
"thor\" /><span class=\"remove\" /><span class=\"timestamp\" /><span class=\"comment\" /" +
|
||||
"></div>\');\r\n e.attr(\'data-logid\', c.Id);\r\n " +
|
||||
" e.find(\'.author\').text(c.Author);\r\n e.find(\'.tim" +
|
||||
"estamp\').text(c.TimestampFuzzy).attr(\'title\', c.TimestampFull);\r\n " +
|
||||
" e.find(\'.remove\').click(removePost);\r\n var eComm" +
|
||||
"ent = e.find(\'.comment\').text(c.Comments);\r\n var commentH" +
|
||||
"tml = eComment.text().replace(/\\r\\n|\\r|\\n/g, \'<br />\');\r\n " +
|
||||
" commentHtml = commentHtml.replace(/\\#(\\d+)/g, \'<a href=\"");
|
||||
|
||||
|
||||
#line 125 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Url.Action(MVC.Job.Show(null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"?id=$1"">#$1</a>');
|
||||
eComment.html(commentHtml);
|
||||
|
||||
$CommentOutput.append(e);
|
||||
|
||||
if (!quick) {
|
||||
e.animate({ backgroundColor: '#ffff99' }, 500, function () {
|
||||
e.animate({ backgroundColor: '#f4f4f4' }, 500);
|
||||
});
|
||||
$CommentOutput.animate({ scrollTop: $CommentOutput[0].scrollHeight }, 250)
|
||||
}
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
<td");
|
||||
|
||||
WriteLiteral(" id=\"Attachments\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"attachmentOutput\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 142 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 142 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
foreach (var ja in Model.Job.JobAttachments)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <a");
|
||||
|
||||
WriteAttribute("href", Tuple.Create(" href=\"", 7537), Tuple.Create("\"", 7594)
|
||||
|
||||
#line 144 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 7544), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Job.AttachmentDownload(ja.Id))
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 7544), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" data-attachmentid=\"");
|
||||
|
||||
|
||||
#line 144 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(ja.Id);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\"");
|
||||
|
||||
WriteLiteral(" data-mimetype=\"");
|
||||
|
||||
|
||||
#line 144 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(ja.MimeType);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\"");
|
||||
|
||||
WriteLiteral(">\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"icon\"");
|
||||
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 7696), Tuple.Create("\"", 7716)
|
||||
|
||||
#line 145 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 7704), Tuple.Create<System.Object, System.Int32>(ja.Filename
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 7704), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">\r\n <img");
|
||||
|
||||
WriteLiteral(" alt=\"Attachment Thumbnail\"");
|
||||
|
||||
WriteAttribute("src", Tuple.Create(" src=\"", 7779), Tuple.Create("\"", 7838)
|
||||
|
||||
#line 146 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 7785), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Job.AttachmentThumbnail(ja.Id))
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 7785), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" /></span>\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"comments\"");
|
||||
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 7897), Tuple.Create("\"", 7917)
|
||||
|
||||
#line 147 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 7905), Tuple.Create<System.Object, System.Int32>(ja.Comments
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 7905), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 148 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 148 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
if (!string.IsNullOrEmpty(ja.DocumentTemplateId))
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 149 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(ja.DocumentTemplate.Description);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 149 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 151 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(ja.Comments);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 151 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </span><span");
|
||||
|
||||
WriteLiteral(" class=\"author\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 152 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(ja.TechUser.ToString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span><span");
|
||||
|
||||
WriteLiteral(" class=\"remove\"");
|
||||
|
||||
WriteLiteral("></span><span");
|
||||
|
||||
WriteLiteral(" class=\"timestamp\"");
|
||||
|
||||
WriteAttribute("title", Tuple.Create(" title=\"", 8287), Tuple.Create("\"", 8325)
|
||||
|
||||
#line 152 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 8295), Tuple.Create<System.Object, System.Int32>(ja.Timestamp.ToFullDateTime()
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 8295), false)
|
||||
);
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 152 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(ja.Timestamp.ToFuzzy());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n </a> \r\n");
|
||||
|
||||
|
||||
#line 154 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"attachmentInput clearfix\"");
|
||||
|
||||
WriteLiteral(">\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"action upload\"");
|
||||
|
||||
WriteLiteral("></span><span");
|
||||
|
||||
WriteLiteral(" class=\"action photo\"");
|
||||
|
||||
WriteLiteral("></span>\r\n </div>\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
Shadowbox.init({
|
||||
skipSetup: true,
|
||||
modal: true
|
||||
});
|
||||
$(function () {
|
||||
if (!document.DiscoFunctions) {
|
||||
document.DiscoFunctions = {};
|
||||
}
|
||||
document.DiscoFunctions.addAttachment = addAttachment;
|
||||
|
||||
$Attachments = $('#Attachments');
|
||||
$attachmentOutput = $Attachments.find('.attachmentOutput');
|
||||
|
||||
$attachmentOutput.find('span.remove').click(removeAttachment);
|
||||
|
||||
$('#dialogUpload').dialog({
|
||||
autoOpen: false,
|
||||
draggable: false,
|
||||
modal: true,
|
||||
resizable: false,
|
||||
width: 860,
|
||||
height: 550,
|
||||
close: function () {
|
||||
silverlightUploadAttachment.content.Navigator.Navigate('/Hidden');
|
||||
}
|
||||
});
|
||||
|
||||
$('#dialogRemoveAttachment').dialog({
|
||||
resizable: false,
|
||||
height: 140,
|
||||
modal: true,
|
||||
autoOpen: false
|
||||
});
|
||||
|
||||
var onLoadNavigation = null;
|
||||
var isLoaded = null;
|
||||
Silverlight.createObject(
|
||||
'");
|
||||
|
||||
|
||||
#line 197 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Links.ClientBin.Disco_Silverlight_AttachmentUpload_xap);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"',
|
||||
$('#silverlightHostUploadAttachment').get(0),
|
||||
'silverlightUploadAttachment',
|
||||
{ width: '840px', height: '500px', background: 'white', version: '4.0.60310.0' },
|
||||
{
|
||||
onLoad: function () {
|
||||
if (onLoadNavigation) {
|
||||
silverlightUploadAttachment.content.Navigator.Navigate(onLoadNavigation);
|
||||
isLoaded = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
'UploadUrl=");
|
||||
|
||||
|
||||
#line 209 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.AttachmentUpload(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"'
|
||||
);
|
||||
|
||||
$attachmentInput = $Attachments.find('.attachmentInput');
|
||||
$attachmentInput.find('.photo').click(function () {
|
||||
showDialog('/WebCam');
|
||||
});
|
||||
$attachmentInput.find('.upload').click(function () {
|
||||
showDialog('/File');
|
||||
});
|
||||
|
||||
silverlightUploadAttachment = $('#silverlightUploadAttachment').get(0);
|
||||
function showDialog(navigationPath) {
|
||||
$('#dialogUpload').dialog('open');
|
||||
if (isLoaded) {
|
||||
silverlightUploadAttachment.content.Navigator.Navigate(navigationPath);
|
||||
} else {
|
||||
onLoadNavigation = navigationPath;
|
||||
}
|
||||
};
|
||||
function addAttachment(id, quick) {
|
||||
var data = { id: id };
|
||||
$.ajax({
|
||||
url: '");
|
||||
|
||||
|
||||
#line 232 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.Attachment()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d.Result == 'OK') {
|
||||
var a = d.Attachment;
|
||||
|
||||
var e = $('<a><span class=""icon""><img alt=""Attachment Thumbnail"" /></span><span class=""comments""></span><span class=""author""></span><span class=""remove""></span><span class=""timestamp""></span></a>');
|
||||
|
||||
e.attr('data-attachmentid', a.Id).attr('data-mimetype', a.MimeType).attr('href', '");
|
||||
|
||||
|
||||
#line 241 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.AttachmentDownload()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("/\' + a.Id);\r\n e.find(\'.icon img\').attr(\'src\', " +
|
||||
"\'");
|
||||
|
||||
|
||||
#line 242 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.AttachmentThumbnail()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("/\' + a.Id);\r\n e.find(\'.comments\').text(a.Comme" +
|
||||
"nts);\r\n e.find(\'.author\').text(a.Author);\r\n " +
|
||||
" e.find(\'.timestamp\').text(a.TimestampFuzzy).at" +
|
||||
"tr(\'title\', a.TimestampFull);\r\n e.find(\'.remo" +
|
||||
"ve\').click(removeAttachment);\r\n if (!quick)\r\n" +
|
||||
" e.hide();\r\n " +
|
||||
" $attachmentOutput.append(e);\r\n if (!qu" +
|
||||
"ick)\r\n e.show(\'slow\');\r\n " +
|
||||
" if (a.MimeType.toLowerCase().indexOf(\'image/\') == 0)\r\n " +
|
||||
" e.shadowbox({ gallery: \'attachments\', player: \'" +
|
||||
"img\', title: a.Comments });\r\n } else {\r\n " +
|
||||
" alert(\'Unable to add attachment: \' + d.Result);\r\n " +
|
||||
" }\r\n },\r\n " +
|
||||
" error: function (jqXHR, textStatus, errorThrown) {\r\n " +
|
||||
" alert(\'Unable to add attachment: \' + textStatus);\r\n " +
|
||||
" }\r\n });\r\n }\r\n " +
|
||||
" function removeAttachment() {\r\n $this = $(this)." +
|
||||
"closest(\'a\');\r\n\r\n var data = { id: $this.attr(\'data-attac" +
|
||||
"hmentid\') };\r\n\r\n var $dialogRemoveAttachment = $(\'#dialog" +
|
||||
"RemoveAttachment\');\r\n $dialogRemoveAttachment.dialog(\"ena" +
|
||||
"ble\");\r\n $dialogRemoveAttachment.dialog(\'option\', \'button" +
|
||||
"s\', {\r\n \"Remove\": function () {\r\n " +
|
||||
" $dialogRemoveAttachment.dialog(\"disable\");\r\n " +
|
||||
" $dialogRemoveAttachment.dialog(\"option\", \"buttons\", null);\r\n " +
|
||||
" $.ajax({\r\n url: \'");
|
||||
|
||||
|
||||
#line 275 "..\..\Views\Job\JobParts\Resources.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.AttachmentRemove()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n dataType: \'json\',\r\n " +
|
||||
" data: data,\r\n success: function" +
|
||||
" (d) {\r\n if (d == \'OK\') {\r\n " +
|
||||
" $this.hide(300).delay(300).queue(function () {\r\n " +
|
||||
" var $this = $(this);\r\n " +
|
||||
" if ($this.attr(\'data-mimetype\').toLowerCase(" +
|
||||
").indexOf(\'image/\') == 0)\r\n S" +
|
||||
"hadowbox.removeCache(this);\r\n $th" +
|
||||
"is.remove();\r\n });\r\n " +
|
||||
" } else {\r\n ale" +
|
||||
"rt(\'Unable to remove attachment: \' + d);\r\n " +
|
||||
" }\r\n $dialogRemoveAttachment.dialog(\"clo" +
|
||||
"se\");\r\n },\r\n " +
|
||||
" error: function (jqXHR, textStatus, errorThrown) {\r\n " +
|
||||
" alert(\'Unable to remove attachment: \' + textStatus);\r\n " +
|
||||
" $dialogRemoveAttachment.dialog(\"close\");\r\n " +
|
||||
" }\r\n });\r\n " +
|
||||
" },\r\n \"Cancel\": function () {\r\n " +
|
||||
" $dialogRemoveAttachment.dialog(\"close\");\r\n " +
|
||||
" }\r\n });\r\n\r\n $dialogR" +
|
||||
"emoveAttachment.dialog(\'open\');\r\n\r\n return false;\r\n " +
|
||||
" }\r\n\r\n $attachmentOutput.children(\'a\').each(func" +
|
||||
"tion () {\r\n $this = $(this);\r\n if " +
|
||||
"($this.attr(\'data-mimetype\').toLowerCase().indexOf(\'image/\') == 0)\r\n " +
|
||||
" $this.shadowbox({ gallery: \'attachments\', player: \'img\', title: " +
|
||||
"$this.find(\'.comments\').text() });\r\n });\r\n });" +
|
||||
"\r\n </script>\r\n </td>\r\n </tr>\r\n</table>\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"dialogUpload\"");
|
||||
|
||||
WriteLiteral(" title=\"Upload Attachment\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"silverlightHostUploadAttachment\"");
|
||||
|
||||
WriteLiteral(">\r\n </div>\r\n</div>\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"dialogRemoveLog\"");
|
||||
|
||||
WriteLiteral(" title=\"Remove this Comment?\"");
|
||||
|
||||
WriteLiteral(">\r\n <p>\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"ui-icon ui-icon-alert\"");
|
||||
|
||||
WriteLiteral(" style=\"float: left; margin: 0 7px 20px 0;\"");
|
||||
|
||||
WriteLiteral("></span>\r\n Are you sure?\r\n </p>\r\n</div>\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"dialogRemoveAttachment\"");
|
||||
|
||||
WriteLiteral(" title=\"Remove this Attachment?\"");
|
||||
|
||||
WriteLiteral(">\r\n <p>\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"ui-icon ui-icon-alert\"");
|
||||
|
||||
WriteLiteral(" style=\"float: left; margin: 0 7px 20px 0;\"");
|
||||
|
||||
WriteLiteral("></span>\r\n Are you sure?\r\n </p>\r\n</div>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,127 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
<div id="jobDetailTab-Warranty" class="jobPart">
|
||||
<table id="jobNonWarrantyFinance">
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Warranty Provider
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaWarranty.ExternalName)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaWarranty_ExternalName'),
|
||||
'Unknown',
|
||||
'@Url.Action(MVC.API.Job.UpdateWarrantyExternalName(Model.Job.Id, null))',
|
||||
'ExternalName'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Warranty Logged
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaWarranty.ExternalLoggedDate)
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaWarranty_ExternalLoggedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'@(Url.Action(MVC.API.Job.UpdateWarrantyExternalLoggedDate(Model.Job.Id, null)))',
|
||||
'ExternalLoggedDate',
|
||||
null
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Warranty Reference
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaWarranty.ExternalReference)
|
||||
@AjaxHelpers.AjaxSave()
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
document.DiscoFunctions.PropertyChangeHelper(
|
||||
$('#Job_JobMetaWarranty_ExternalReference'),
|
||||
'Unknown',
|
||||
'@Url.Action(MVC.API.Job.UpdateWarrantyExternalReference(Model.Job.Id, null))',
|
||||
'ExternalReference'
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 200px;">
|
||||
Warranty Completed
|
||||
</th>
|
||||
<td>
|
||||
@Html.EditorFor(m => m.Job.JobMetaWarranty.ExternalCompletedDate)
|
||||
@AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaWarranty_ExternalCompletedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'@(Url.Action(MVC.API.Job.UpdateWarrantyExternalCompletedDate(Model.Job.Id, null)))',
|
||||
'ExternalCompletedDate',
|
||||
null
|
||||
);
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
<tr id="jobWarrantyProviderDetailContainer" style="display: none">
|
||||
<th style="width: 200px;">
|
||||
Provider Details
|
||||
</th>
|
||||
<td>
|
||||
<div id="jobWarrantyProviderDetailLoading">
|
||||
<span class="ajaxHelperIcon ajaxLoading" title="Loading..."></span> Loading...
|
||||
</div>
|
||||
<div id="jobWarrantyProviderDetailHost" class="clearfix" style="display: none">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$('#jobDetailTabItems').append('<li><a href="#jobDetailTab-Warranty">Warranty</a></li>');
|
||||
$(function () {
|
||||
var warrantyProviderDetailLoaded = false;
|
||||
|
||||
$('#jobDetailTabs').bind('tabsshow', function (e, ui) {
|
||||
if ($(ui.panel).is('#jobDetailTab-Warranty')) {
|
||||
if (!warrantyProviderDetailLoaded) {
|
||||
var warrantyExternalName = $('#Job_JobMetaWarranty_ExternalName').val();
|
||||
if (warrantyExternalName) {
|
||||
$('#jobWarrantyProviderDetailContainer').show();
|
||||
$('#jobWarrantyProviderDetailLoading span').show();
|
||||
$('#jobWarrantyProviderDetailHost').load(
|
||||
'@(Url.Action(MVC.Job.WarrantyProviderJobDetails()))',
|
||||
{ id: '@(Model.Job.Id)' },
|
||||
function () {
|
||||
$('#jobWarrantyProviderDetailLoading').hide();
|
||||
$(this).slideDown();
|
||||
}
|
||||
);
|
||||
|
||||
warrantyProviderDetailLoaded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,341 @@
|
||||
#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.Views.Job.JobParts
|
||||
{
|
||||
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("~/Views/Job/JobParts/Warranty.cshtml")]
|
||||
public class Warranty : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public Warranty()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
WriteLiteral("<div");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTab-Warranty\"");
|
||||
|
||||
WriteLiteral(" class=\"jobPart\"");
|
||||
|
||||
WriteLiteral(">\r\n <table");
|
||||
|
||||
WriteLiteral(" id=\"jobNonWarrantyFinance\"");
|
||||
|
||||
WriteLiteral(">\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Warranty Provider\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 9 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaWarranty.ExternalName));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 10 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(AjaxHelpers.AjaxSave());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 11 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n document.DiscoFun" +
|
||||
"ctions.PropertyChangeHelper(\r\n $(\'#Job_JobMetaWarrant" +
|
||||
"y_ExternalName\'),\r\n \'Unknown\',\r\n " +
|
||||
" \'");
|
||||
|
||||
|
||||
#line 17 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateWarrantyExternalName(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'ExternalName\'\r\n );\r\n " +
|
||||
" });\r\n </script>\r\n </td>\r\n </tr>\r" +
|
||||
"\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Warranty Logged\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 29 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaWarranty.ExternalLoggedDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 30 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaWarranty_ExternalLoggedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'");
|
||||
|
||||
|
||||
#line 37 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateWarrantyExternalLoggedDate(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'ExternalLoggedDate\',\r\n null\r\n" +
|
||||
" );\r\n });\r\n </script>\r\n" +
|
||||
" </td>\r\n </tr>\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Warranty Reference\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 50 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaWarranty.ExternalReference));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 51 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(AjaxHelpers.AjaxSave());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 52 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n document.DiscoFun" +
|
||||
"ctions.PropertyChangeHelper(\r\n $(\'#Job_JobMetaWarrant" +
|
||||
"y_ExternalReference\'),\r\n \'Unknown\',\r\n " +
|
||||
" \'");
|
||||
|
||||
|
||||
#line 58 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateWarrantyExternalReference(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'ExternalReference\'\r\n );\r\n" +
|
||||
" });\r\n </script>\r\n </td>\r\n <" +
|
||||
"/tr>\r\n <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Warranty Completed\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 70 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Html.EditorFor(m => m.Job.JobMetaWarranty.ExternalCompletedDate));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 71 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(AjaxHelpers.AjaxLoader());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
var dateField = $('#Job_JobMetaWarranty_ExternalCompletedDate');
|
||||
document.DiscoFunctions.DateChangeHelper(
|
||||
dateField,
|
||||
'Unknown',
|
||||
'");
|
||||
|
||||
|
||||
#line 78 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.UpdateWarrantyExternalCompletedDate(Model.Job.Id, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n \'ExternalCompletedDate\',\r\n nul" +
|
||||
"l\r\n );\r\n });\r\n </script" +
|
||||
">\r\n </td>\r\n </tr>\r\n <tr");
|
||||
|
||||
WriteLiteral(" id=\"jobWarrantyProviderDetailContainer\"");
|
||||
|
||||
WriteLiteral(" style=\"display: none\"");
|
||||
|
||||
WriteLiteral(">\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 200px;\"");
|
||||
|
||||
WriteLiteral(">\r\n Provider Details\r\n </th>\r\n <td>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" id=\"jobWarrantyProviderDetailLoading\"");
|
||||
|
||||
WriteLiteral(">\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"ajaxHelperIcon ajaxLoading\"");
|
||||
|
||||
WriteLiteral(" title=\"Loading...\"");
|
||||
|
||||
WriteLiteral("></span> Loading...\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"jobWarrantyProviderDetailHost\"");
|
||||
|
||||
WriteLiteral(" class=\"clearfix\"");
|
||||
|
||||
WriteLiteral(" style=\"display: none\"");
|
||||
|
||||
WriteLiteral(">\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>" +
|
||||
"\r\n<script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$('#jobDetailTabItems').append('<li><a href=""#jobDetailTab-Warranty"">Warranty</a></li>');
|
||||
$(function () {
|
||||
var warrantyProviderDetailLoaded = false;
|
||||
|
||||
$('#jobDetailTabs').bind('tabsshow', function (e, ui) {
|
||||
if ($(ui.panel).is('#jobDetailTab-Warranty')) {
|
||||
if (!warrantyProviderDetailLoaded) {
|
||||
var warrantyExternalName = $('#Job_JobMetaWarranty_ExternalName').val();
|
||||
if (warrantyExternalName) {
|
||||
$('#jobWarrantyProviderDetailContainer').show();
|
||||
$('#jobWarrantyProviderDetailLoading span').show();
|
||||
$('#jobWarrantyProviderDetailHost').load(
|
||||
'");
|
||||
|
||||
|
||||
#line 113 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Url.Action(MVC.Job.WarrantyProviderJobDetails()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\',\r\n { id: \'");
|
||||
|
||||
|
||||
#line 114 "..\..\Views\Job\JobParts\Warranty.cshtml"
|
||||
Write(Model.Job.Id);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"' },
|
||||
function () {
|
||||
$('#jobWarrantyProviderDetailLoading').hide();
|
||||
$(this).slideDown();
|
||||
}
|
||||
);
|
||||
|
||||
warrantyProviderDetailLoaded = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,715 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
|
||||
<table id="Job_Show_Subjects">
|
||||
<tr>
|
||||
<td id="Job_Show_Job">
|
||||
<div>
|
||||
<div id="Job_Show_Job_Dates">
|
||||
<table class="none">
|
||||
<tr>
|
||||
<td>Opened:
|
||||
</td>
|
||||
<td><span id="Job_Show_Job_Dates_Opened">@CommonHelpers.FriendlyDateAndTitleUser(Model.Job.OpenedDate, Model.Job.OpenedTechUser)</span></td>
|
||||
</tr>
|
||||
@if (!Model.Job.ClosedDate.HasValue || Model.Job.ExpectedClosedDate.HasValue)
|
||||
{
|
||||
<tr>
|
||||
<td>
|
||||
<span title="Expected to Close">Expected:</span>
|
||||
</td>
|
||||
<td>@Html.TextBoxFor(m => m.Job.ExpectedClosedDate, new { @class = "small discreet" }) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader()
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var $ajaxSave = $('#Job_ExpectedClosedDate').next('.ajaxSave');
|
||||
var dateFieldChangeToken = null;
|
||||
var dateFieldValue = $('#Job_ExpectedClosedDate').val();
|
||||
$('#Job_ExpectedClosedDate')
|
||||
.watermark('Unknown')
|
||||
.datetimepicker({
|
||||
ampm: true,
|
||||
stepMinute: 1,
|
||||
hour: 9,
|
||||
minDate: @(Model.Job.OpenedDate.ToJavascriptDate()),
|
||||
changeYear: true,
|
||||
changeMonth: true,
|
||||
dateFormat: 'yy/mm/dd'
|
||||
}).change(function () {
|
||||
var $this = $(this);
|
||||
var dateText = $this.val();
|
||||
if (dateFieldValue.toLowerCase() != dateText.toLowerCase()) {
|
||||
dateFieldValue = dateText;
|
||||
if (dateFieldChangeToken)
|
||||
window.clearTimeout(dateFieldChangeToken);
|
||||
dateFieldChangeToken = window.setTimeout(function () {
|
||||
$ajaxSave.hide();
|
||||
var $ajaxLoading = $ajaxSave.next('.ajaxLoading').show();
|
||||
var data = { ExpectedClosedDate: dateText };
|
||||
$.getJSON('@(Url.Action(MVC.API.Job.UpdateExpectedClosedDate(Model.Job.Id, null)))', data, function (response, result) {
|
||||
if (result != 'success' || response != 'OK') {
|
||||
alert('Unable to change Expected Closed Date:\n' + response);
|
||||
$ajaxLoading.hide();
|
||||
} else {
|
||||
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
|
||||
}
|
||||
})
|
||||
dateFieldChangeToken = null;
|
||||
}, 750);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
@if (Model.Job.ClosedDate.HasValue)
|
||||
{
|
||||
<tr>
|
||||
<td>Closed:
|
||||
</td>
|
||||
<td><span id="Job_Show_Job_Dates_Closed">@CommonHelpers.FriendlyDateAndTitleUser(Model.Job.ClosedDate, Model.Job.ClosedTechUser)</span></td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
<div id="Job_Show_Job_Type" class="status">
|
||||
<h2 title="@Model.Job.JobType.Id">@Model.Job.JobType.Description</h2>
|
||||
<table class="none">
|
||||
<tr>
|
||||
@{
|
||||
var jobSubTypeFirst = (int)Math.Ceiling((double)(Model.Job.JobSubTypes.Count + 1) / 2);
|
||||
}
|
||||
<td>
|
||||
<ul id="Job_Show_Job_SubTypes_1">
|
||||
@foreach (var jobSubType in Model.Job.JobSubTypes.Take(jobSubTypeFirst))
|
||||
{
|
||||
<li title="@jobSubType.Id">@jobSubType.Description</li>
|
||||
}
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<ul id="Job_Show_Job_SubTypes_2">
|
||||
@foreach (var jobSubType in Model.Job.JobSubTypes.Skip(jobSubTypeFirst))
|
||||
{
|
||||
<li title="@jobSubType.Id">@jobSubType.Description</li>
|
||||
}
|
||||
</ul>
|
||||
@if (!Model.Job.ClosedDate.HasValue)
|
||||
{
|
||||
<a href="#" id="Job_Show_Job_SubTypes_Update">Update Sub Types</a>
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="Job_Show_Job_SubTypes_Update_Dialog" title="Update Job Types">
|
||||
<div>
|
||||
<h2>
|
||||
@Model.Job.JobType.Description</h2>
|
||||
@using (Html.BeginForm(MVC.API.Job.UpdateSubTypes(Model.Job.Id, redirect: true), FormMethod.Post, new { id = "formUpdateJobTypes" }))
|
||||
{
|
||||
@CommonHelpers.CheckBoxList("SubTypes", Model.UpdatableJobSubTypes.ToSelectListItems(Model.Job.JobSubTypes.ToList()), 3)
|
||||
<hr />
|
||||
<div>
|
||||
<input type="checkbox" value="true" id="UpdateJobTypesAddComponents" name="AddComponents"
|
||||
checked="checked" /><label for="UpdateJobTypesAddComponents">Add Components for newly added Sub Types</label>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$(function(){
|
||||
var $Job_Show_Job_SubTypes_Update_Dialog = null;
|
||||
|
||||
$('#Job_Show_Job_SubTypes_Update').click(function () {
|
||||
if (!$Job_Show_Job_SubTypes_Update_Dialog) {
|
||||
$Job_Show_Job_SubTypes_Update_Dialog = $('#Job_Show_Job_SubTypes_Update_Dialog');
|
||||
$Job_Show_Job_SubTypes_Update_Dialog.dialog({
|
||||
resizable: false,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
width: 700,
|
||||
buttons: {
|
||||
"Save": function () {
|
||||
$('#formUpdateJobTypes').submit();
|
||||
$Job_Show_Job_SubTypes_Update_Dialog.dialog("disable");
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$Job_Show_Job_SubTypes_Update_Dialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
<div id="Job_Show_GenerateDocument_Container" class="status">
|
||||
@Html.DropDownList("Job_Show_GenerateDocument", Model.DocumentTemplatesSelectListItems) <span id="Job_Show_GenerateDocument_Status">@AjaxHelpers.AjaxLoader() Generating...</span>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var generatePdfUrl = '@Url.Action(MVC.API.Job.GeneratePdf(Model.Job.Id.ToString(), null))?DocumentTemplateId=';
|
||||
var $documentTemplates = $('#Job_Show_GenerateDocument');
|
||||
var $Job_Show_GenerateDocument_Status = $('#Job_Show_GenerateDocument_Status');
|
||||
$Job_Show_GenerateDocument_Status.find('.ajaxLoading').css('display', 'inline-block');
|
||||
$documentTemplates.change(function () {
|
||||
var v = $documentTemplates.val();
|
||||
if (v) {
|
||||
if ($.browser.msie || $.browser.mozilla){
|
||||
// Popup & Status for MSIE & Firefox
|
||||
var w = window.open(generatePdfUrl + v, null, 'height=100,width=150,menubar=no,resizable=yes,scrollbars=no,status=no,toolbar=no');
|
||||
|
||||
var statusShown = false;
|
||||
var c = function(timeout){window.setTimeout(function(){
|
||||
if (w.closed === undefined || w.closed === true){
|
||||
if (statusShown)
|
||||
$Job_Show_GenerateDocument_Status.fadeOut(750);
|
||||
}else{
|
||||
if (!statusShown)
|
||||
{
|
||||
$Job_Show_GenerateDocument_Status.show()
|
||||
statusShown = true;
|
||||
}
|
||||
c(500);
|
||||
}
|
||||
}, timeout)}
|
||||
c(200);
|
||||
}else{
|
||||
// Redirect other Browsers with different download mechanisms
|
||||
window.location.href = generatePdfUrl + v;
|
||||
}
|
||||
$documentTemplates.val('').blur();
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@if (Model.Job.Device != null)
|
||||
{
|
||||
<td id="Job_Show_Device">
|
||||
<div>
|
||||
<h2 id="Job_Show_Device_SerialNumber" title="Serial Number">@Html.ActionLink(Model.Job.DeviceSerialNumber, MVC.Device.Show(Model.Job.DeviceSerialNumber))</h2>
|
||||
<div class="clearfix">
|
||||
<div id="Job_Show_Device_Details">
|
||||
<img id="Job_Show_Device_Model_Image" alt="Model Image" src="@Url.Action(MVC.API.DeviceModel.Image(Model.Job.Device.DeviceModelId, Model.Job.Device.DeviceModel.ImageHash()))" />
|
||||
<div id="Job_Show_Device_ComputerName" title="Computer Name">@Model.Job.Device.ComputerName</div>
|
||||
<div id="Job_Show_Device_Model" title="Model">@Html.ActionLink(Model.Job.Device.DeviceModel.ToString(), MVC.Config.DeviceModel.Index(Model.Job.Device.DeviceModelId))</div>
|
||||
@if (Model.Job.Device.DeviceBatch != null)
|
||||
{
|
||||
<div id="Job_Show_Device_Batch" title="Batch">@Html.ActionLink(Model.Job.Device.DeviceBatch.Name, MVC.Config.DeviceBatch.Index(Model.Job.Device.DeviceBatchId))</div>
|
||||
}
|
||||
</div>
|
||||
@if (Model.Job.JobTypeId == JobType.JobTypeIds.HWar)
|
||||
{
|
||||
<div id="Job_Show_Device_Details_HWar">
|
||||
<div>DEVICE WARRANTY</div>
|
||||
<div>Until: <span id="Job_Show_Device_Details_HWar_ValidUntil">@Model.Job.Device.DeviceBatch.WarrantyValidUntil.ToFuzzy("Unknown")</span></div>
|
||||
@if (!string.IsNullOrWhiteSpace(Model.Job.Device.DeviceBatch.WarrantyDetails))
|
||||
{
|
||||
<a id="Job_Show_Device_Details_HWar_Details_Button" href="#">Show Details</a>
|
||||
<div id="Job_Show_Device_Details_HWar_Details_Dialog" class="dialog" title="Warranty Details for @(Model.Job.Device.DeviceBatch.Name)">
|
||||
<div>@(new HtmlString(Model.Job.Device.DeviceBatch.WarrantyDetails))</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var d;
|
||||
$('#Job_Show_Device_Details_HWar_Details_Button').click(function () {
|
||||
if (!d)
|
||||
d = $('#Job_Show_Device_Details_HWar_Details_Dialog').dialog({
|
||||
width: 570,
|
||||
modal: true
|
||||
});
|
||||
else
|
||||
d.dialog('open');
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
@if (Model.Job.JobTypeId == JobType.JobTypeIds.HNWar)
|
||||
{
|
||||
<div id="Job_Show_Device_Details_HNWar">
|
||||
<div>INSURANCE</div>
|
||||
<div id="Job_Show_Device_Details_HNWar_InsuranceSupplier">@Model.Job.Device.DeviceBatch.InsuranceSupplier</div>
|
||||
<div>Until: <span id="Job_Show_Device_Details_HNWar_ValidUntil">@Model.Job.Device.DeviceBatch.InsuredUntil.ToFuzzy("Unknown")</span></div>
|
||||
@if (!string.IsNullOrWhiteSpace(Model.Job.Device.DeviceBatch.InsuranceDetails))
|
||||
{
|
||||
<a id="Job_Show_Device_Details_HNWar_Details_Button" href="#">Show Details</a>
|
||||
<div id="Job_Show_Device_Details_HNWar_Details_Dialog" class="dialog" title="Insurance Details for @(Model.Job.Device.DeviceBatch.Name)">
|
||||
<div>@(new HtmlString(Model.Job.Device.DeviceBatch.InsuranceDetails))</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var d;
|
||||
$('#Job_Show_Device_Details_HNWar_Details_Button').click(function () {
|
||||
if (!d)
|
||||
d = $('#Job_Show_Device_Details_HNWar_Details_Dialog').dialog({
|
||||
width: 570,
|
||||
modal: true
|
||||
});
|
||||
else
|
||||
d.dialog('open');
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
@if (Model.Job.DeviceHeld.HasValue)
|
||||
{
|
||||
<div id="Job_Show_Device_DeviceHeld" class="status">
|
||||
<table class="none">
|
||||
<tr>
|
||||
<td>Location:</td>
|
||||
<td>@Html.TextBoxFor(m => m.Job.DeviceHeldLocation, new { @class = "small discreet" }) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader()</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Held Since:</td>
|
||||
<td><span id="Job_Show_Device_DeviceHeld_DeviceHeld">@CommonHelpers.FriendlyDateAndTitleUser(Model.Job.DeviceHeld, Model.Job.DeviceHeldTechUser)</span></td>
|
||||
</tr>
|
||||
@if (Model.Job.DeviceReadyForReturn.HasValue)
|
||||
{
|
||||
<tr>
|
||||
<td>Ready:</td>
|
||||
<td><span id="Job_Show_Device_DeviceHeld_DeviceReadyForReturn">@CommonHelpers.FriendlyDateAndTitleUser(Model.Job.DeviceReadyForReturn, Model.Job.DeviceReadyForReturnTechUser)</span></td>
|
||||
</tr>
|
||||
}
|
||||
@if (Model.Job.DeviceReturnedDate.HasValue)
|
||||
{
|
||||
<tr>
|
||||
<td>Returned:</td>
|
||||
<td><span id="Job_Show_Device_DeviceHeld_DeviceReturnedDate">@CommonHelpers.FriendlyDateAndTitleUser(Model.Job.DeviceReturnedDate, Model.Job.DeviceReturnedTechUser)</span></td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var $deviceHeldLocation = $('#Job_DeviceHeldLocation');
|
||||
var $ajaxSave = $deviceHeldLocation.next('.ajaxSave');
|
||||
|
||||
$deviceHeldLocation
|
||||
.watermark('Unknown')
|
||||
.focus(function () { $deviceHeldLocation.select() })
|
||||
.keydown(function (e) {
|
||||
$ajaxSave.show();
|
||||
if (e.which == 13) {
|
||||
$(this).blur();
|
||||
}
|
||||
}).blur(function () {
|
||||
$ajaxSave.hide();
|
||||
})
|
||||
.change(function () {
|
||||
$ajaxSave.hide();
|
||||
$ajaxLoading = $ajaxSave.next('.ajaxLoading').show();
|
||||
var data = { DeviceHeldLocation: $deviceHeldLocation.val() };
|
||||
$.ajax({
|
||||
url: '@Url.Action(MVC.API.Job.UpdateDeviceHeldLocation(Model.Job.Id, null))',
|
||||
dataType: 'json',
|
||||
data: data,
|
||||
success: function (d) {
|
||||
if (d == 'OK') {
|
||||
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
|
||||
} else {
|
||||
$ajaxLoading.hide();
|
||||
alert('Unable to update device held location: ' + d);
|
||||
}
|
||||
},
|
||||
error: function (jqXHR, textStatus, errorThrown) {
|
||||
alert('Unable to update device held location: ' + textStatus);
|
||||
$ajaxLoading.hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
@if (Model.Job.User != null)
|
||||
{
|
||||
<td id="Job_Show_User">
|
||||
<div>
|
||||
<h2 id="Job_Show_User_DisplayName" title="Display Name">@Html.ActionLink(Model.Job.User.DisplayName, MVC.User.Show(Model.Job.UserId))</h2>
|
||||
<div id="Job_Show_User_Id" title="Id">@Model.Job.UserId <span id="Job_Show_User_Type" title="Type">[@(Model.Job.User.Type)]</span></div>
|
||||
@if (!string.IsNullOrWhiteSpace(Model.Job.User.PhoneNumber))
|
||||
{<div id="Job_Show_User_PhoneNumber" title="Phone Number">Phone: @Model.Job.User.PhoneNumber</div>}
|
||||
@if (!string.IsNullOrWhiteSpace(Model.Job.User.EmailAddress))
|
||||
{<div id="Job_Show_User_EmailAddress" title="Email Address">Email: <a href="mailto:@(Model.Job.User.EmailAddress)">@Model.Job.User.EmailAddress</a></div>}
|
||||
@if (Model.Job.WaitingForUserAction.HasValue)
|
||||
{
|
||||
<div id="Job_Show_User_WaitingForUserAction" class="status">
|
||||
<h4>Awaiting Action</h4>
|
||||
Since: @Model.Job.WaitingForUserAction.ToFuzzy()
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
</td>
|
||||
}
|
||||
</tr>
|
||||
<tr id="Job_Show_Subjects_Actions">
|
||||
<td id="Job_Show_Job_Actions">
|
||||
@if (Model.Job.CanClose())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Close Job", MVC.API.Job.Close(Model.Job.Id, true), "Job_Show_Job_Actions_Close_Button")
|
||||
<div id="Job_Show_Job_Actions_Close_Dialog" class="dialog" title="Close this Job?">
|
||||
<p>
|
||||
<span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
|
||||
Are you sure?
|
||||
</p>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var button = $('#Job_Show_Job_Actions_Close_Button');
|
||||
var buttonDialog = null;
|
||||
var buttonLink = button.attr('href');
|
||||
button.attr('href', '#').click(function () {
|
||||
if (!buttonDialog){
|
||||
buttonDialog = $('#Job_Show_Job_Actions_Close_Dialog');
|
||||
buttonDialog.dialog({
|
||||
resizable: false,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
"Close Job": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog("disable");
|
||||
$this.dialog("option", "buttons", null);
|
||||
window.location.href = buttonLink;
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buttonDialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
@if (Model.Job.CanReopen())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Reopen Job", MVC.API.Job.Reopen(Model.Job.Id, true), "Job_Show_Job_Actions_Reopen_Button")
|
||||
<div id="Job_Show_Job_Actions_Reopen_Dialog" class="dialog" title="Reopen this Job?">
|
||||
<p>
|
||||
<span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
|
||||
Are you sure?
|
||||
</p>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var button = $('#Job_Show_Job_Actions_Reopen_Button');
|
||||
var buttonDialog = null;
|
||||
var buttonLink = button.attr('href');
|
||||
button.attr('href', '#');
|
||||
button.click(function () {
|
||||
if (!buttonDialog){
|
||||
buttonDialog = $('#Job_Show_Job_Actions_Reopen_Dialog');
|
||||
buttonDialog.dialog({
|
||||
resizable: false,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
"Reopen": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog("disable");
|
||||
$this.dialog("option", "buttons", null);
|
||||
window.location.href = buttonLink;
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buttonDialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
@if (Model.Job.CanDelete())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Delete Job", MVC.API.Job.Delete(Model.Job.Id, true), "Job_Show_Job_Actions_Delete_Button")
|
||||
<div id="Job_Show_Job_Actions_Delete_Dialog" class="dialog" title="Delete this Job?">
|
||||
<p>
|
||||
<span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
|
||||
This item will be permanently deleted and cannot be recovered. Are you sure?
|
||||
</p>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var button = $('#Job_Show_Job_Actions_Delete_Button');
|
||||
var buttonDialog = null;
|
||||
var buttonLink = button.attr('href');
|
||||
button.attr('href', '#');
|
||||
button.click(function () {
|
||||
if (!buttonDialog){
|
||||
buttonDialog = $('#Job_Show_Job_Actions_Delete_Dialog');
|
||||
buttonDialog.dialog({
|
||||
resizable: false,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
"Delete": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog("disable");
|
||||
$this.dialog("option", "buttons", null);
|
||||
window.location.href = buttonLink;
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buttonDialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
@if (Model.Job.CanLogWarranty())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Log Warranty", MVC.Job.LogWarranty(Model.Job.Id, null, null), "Job_Show_Job_Actions_LogWarranty_Button")
|
||||
}
|
||||
@if (Model.Job.CanWarrantyCompleted())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Warranty Complete", MVC.API.Job.UpdateWarrantyExternalCompletedDate(Model.Job.Id, "Now", true), "Job_Show_Job_Actions_WarrantyComplete_Button", "alert")
|
||||
}
|
||||
@if (Model.Job.CanInsuranceClaimFormSent())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Insurance Claim Form Sent", MVC.API.Job.UpdateInsuranceClaimFormSentDate(Model.Job.Id, "Now", true), "Job_Show_Job_Actions_InsuranceClaimFormSent_Button", "alert")
|
||||
}
|
||||
@if (Model.Job.CanLogRepair())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Repairs Logged", MVC.API.Job.LogRepair(Model.Job.Id, null, null, true), "Job_Show_Job_Actions_LogRepair_Button")
|
||||
<div id="Job_Show_Job_Actions_LogRepair_Dialog" class="dialog" title="Repairs Logged">
|
||||
@using (Html.BeginForm(MVC.API.Job.LogRepair(Model.Job.Id, null, null, true)))
|
||||
{
|
||||
<h3>Repairer Name:</h3>
|
||||
<p>
|
||||
<input type="text" id="Job_Show_Job_Actions_LogRepair_Dialog_RepairerName" name="RepairerName" />
|
||||
</p>
|
||||
<h3>Repairer Reference:</h3>
|
||||
<p>
|
||||
<input type="text" id="Job_Show_Job_Actions_LogRepair_Dialog_RepairerReference" name="RepairerReference" />
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var button = $('#Job_Show_Job_Actions_LogRepair_Button');
|
||||
var buttonDialog = null;
|
||||
button.attr('href', '#');
|
||||
button.click(function () {
|
||||
if (!buttonDialog){
|
||||
buttonDialog = $('#Job_Show_Job_Actions_LogRepair_Dialog');
|
||||
buttonDialog.dialog({
|
||||
resizable: false,
|
||||
height: 240,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
"Log Repairs": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog("disable");
|
||||
$this.dialog("option", "buttons", null);
|
||||
$this.find('form').submit();
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buttonDialog.dialog('open');
|
||||
|
||||
$('#Job_Show_Job_Actions_LogRepair_Dialog_RepairerName').val($('#Job_JobMetaNonWarranty_RepairerName').val()).focus();
|
||||
$('#Job_Show_Job_Actions_LogRepair_Dialog_RepairerReference').val($('#Job_JobMetaNonWarranty_RepairerReference').val());
|
||||
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
@if (Model.Job.CanRepairComplete())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Repairs Complete", MVC.API.Job.UpdateNonWarrantyRepairerCompletedDate(Model.Job.Id, "Now", true), "Job_Show_Job_Actions_RepairComplete_Button", "alert")
|
||||
}
|
||||
@if (Model.Job.CanConvertHWarToHNWar())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Convert to Non-Warranty", MVC.API.Job.ConvertHWarToHNWar(Model.Job.Id, true), "Job_Show_Job_Actions_ConvertToHNWar_Button")
|
||||
<div id="Job_Show_Job_Actions_ConvertToHNWar_Dialog" class="dialog" title="Convert this Job?">
|
||||
<p>
|
||||
<span class="ui-icon ui-icon-alert" style="float: left; margin: 0 7px 20px 0;"></span>
|
||||
This process is not reversible.<br />
|
||||
Are you sure?
|
||||
</p>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var button = $('#Job_Show_Job_Actions_ConvertToHNWar_Button');
|
||||
var buttonDialog = null;
|
||||
var buttonLink = button.attr('href');
|
||||
button.attr('href', '#');
|
||||
button.click(function () {
|
||||
if (!buttonDialog){
|
||||
buttonDialog = $('#Job_Show_Job_Actions_ConvertToHNWar_Dialog');
|
||||
buttonDialog.dialog({
|
||||
resizable: false,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
"Convert": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog("disable");
|
||||
$this.dialog("option", "buttons", null);
|
||||
window.location.href = buttonLink;
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buttonDialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
|
||||
});
|
||||
</script>
|
||||
}
|
||||
</td>
|
||||
@if (Model.Job.Device != null)
|
||||
{
|
||||
<td id="Job_Show_Device_Actions">
|
||||
@if (Model.Job.CanDeviceHeld())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Held", MVC.API.Job.DeviceHeld(Model.Job.Id, true), "Job_Show_Device_Actions_Held_Button")
|
||||
}
|
||||
@if (Model.Job.CanDeviceReadyForReturn())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Ready For Return", MVC.API.Job.DeviceReadyForReturn(Model.Job.Id, true), "Job_Show_Device_Actions_DeviceReadyForReturn_Button", "alert")
|
||||
}
|
||||
@if (Model.Job.CanDeviceReturned())
|
||||
{
|
||||
@Html.ActionLinkSmallButton("Returned", MVC.API.Job.DeviceReturned(Model.Job.Id, true), "Job_Show_Device_Actions_DeviceReturned_Button", Model.Job.CanDeviceReadyForReturn() ? null : "alert")
|
||||
}
|
||||
</td>
|
||||
}
|
||||
@if (Model.Job.User != null)
|
||||
{
|
||||
<td id="Job_Show_User_Actions">
|
||||
|
||||
|
||||
@if (Model.Job.CanWaitingForUserAction())
|
||||
{
|
||||
<a id="Job_Show_User_Actions_WaitingForUserAction_Button" href="#" class="button small">Awaiting Action</a>
|
||||
<div id="Job_Show_User_Actions_WaitingForUserAction_Dialog" class="dialog" title="Waiting for User Action">
|
||||
@using (Html.BeginForm(MVC.API.Job.WaitingForUserAction(Model.Job.Id, null, true)))
|
||||
{
|
||||
<h3>Reason:</h3>
|
||||
<p>
|
||||
<textarea name="Reason" class="block"></textarea>
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var button = $('#Job_Show_User_Actions_WaitingForUserAction_Button');
|
||||
var buttonDialog = null;
|
||||
|
||||
button.click(function () {
|
||||
if (!buttonDialog) {
|
||||
buttonDialog = $('#Job_Show_User_Actions_WaitingForUserAction_Dialog');
|
||||
buttonDialog.dialog({
|
||||
resizable: false,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
"Waiting for User Action": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog("disable");
|
||||
$this.dialog("option", "buttons", null);
|
||||
$this.find('form').submit();
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buttonDialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
@if (Model.Job.CanNotWaitingForUserAction())
|
||||
{
|
||||
<a id="Job_Show_User_Actions_NotWaitingForUserAction_Button" href="#" class="button alert small">Action Resolved</a>
|
||||
<div id="Job_Show_User_Actions_NotWaitingForUserAction_Dialog" class="dialog" title="Not Waiting for User Action">
|
||||
@using (Html.BeginForm(MVC.API.Job.NotWaitingForUserAction(Model.Job.Id, null, true)))
|
||||
{
|
||||
<h3>Resolution:</h3>
|
||||
<p>
|
||||
<textarea name="Resolution" class="block"></textarea>
|
||||
</p>
|
||||
}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var button = $('#Job_Show_User_Actions_NotWaitingForUserAction_Button');
|
||||
var buttonDialog = null;
|
||||
|
||||
button.click(function () {
|
||||
if (!buttonDialog) {
|
||||
buttonDialog = $('#Job_Show_User_Actions_NotWaitingForUserAction_Dialog');
|
||||
buttonDialog.dialog({
|
||||
resizable: false,
|
||||
height: 240,
|
||||
modal: true,
|
||||
autoOpen: false,
|
||||
buttons: {
|
||||
"Not Waiting for User Action": function () {
|
||||
var $this = $(this);
|
||||
$this.dialog("disable");
|
||||
$this.dialog("option", "buttons", null);
|
||||
$this.find('form').submit();
|
||||
},
|
||||
Cancel: function () {
|
||||
$(this).dialog("close");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
buttonDialog.dialog('open');
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
}
|
||||
|
||||
</td>
|
||||
}
|
||||
</tr>
|
||||
</table>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
||||
@model Disco.Web.Models.Job.ListModel
|
||||
@{
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), Model.PageTitle);
|
||||
}
|
||||
@Html.Partial(MVC.Shared.Views._JobTable, Model.JobTable, new ViewDataDictionary())
|
||||
@@ -0,0 +1,63 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/List.cshtml")]
|
||||
public class List : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ListModel>
|
||||
{
|
||||
public List()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\List.cshtml"
|
||||
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), Model.PageTitle);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
|
||||
#line 5 "..\..\Views\Job\List.cshtml"
|
||||
Write(Html.Partial(MVC.Shared.Views._JobTable, Model.JobTable, new ViewDataDictionary()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,136 @@
|
||||
@model Disco.Web.Models.Job.LogWarrantyModel
|
||||
@{
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), string.Format("Job: {0}", Model.Job.Id), MVC.Job.Show(Model.Job.Id), "Log Warranty");
|
||||
}
|
||||
@using (Html.BeginForm(MVC.Job.LogWarranty(), FormMethod.Post))
|
||||
{
|
||||
@Html.ValidationSummary(true)
|
||||
@Html.HiddenFor(m => m.JobId)
|
||||
@Html.ValidationMessageFor(m => m.JobId)
|
||||
<input type="hidden" name="WarrantyAction" value="Disclose" />
|
||||
<div id="warrantyJobForm" class="form" style="width: 650px">
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Internal Job Id:
|
||||
</th>
|
||||
<td>
|
||||
@Model.JobId
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Device Serial Number:
|
||||
</th>
|
||||
<td>
|
||||
@Model.Job.Device.SerialNumber
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Device Model:
|
||||
</th>
|
||||
<td>
|
||||
@Model.Job.Device.DeviceModel.Manufacturer @Model.Job.Device.DeviceModel.Model
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Technician:
|
||||
</th>
|
||||
<td>
|
||||
@Model.TechUser.DisplayName
|
||||
<div class="smallMessage">
|
||||
Email Address: @Model.TechUser.EmailAddress<br />
|
||||
Phone Number: @Model.TechUser.PhoneNumber
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 150px">
|
||||
Repair Address:
|
||||
</th>
|
||||
<td>
|
||||
@Html.DropDownListFor(model => model.OrganisationAddressId, Model.OrganisationAddresses.ToSelectListItems(Model.OrganisationAddressId, true))<br />
|
||||
@Html.ValidationMessageFor(m => m.OrganisationAddressId)
|
||||
<div id="organisationAddressDetailsLoading" style="display: none">
|
||||
<img src="@(Links.ClientSource.Style.Images.Status.loading_gif)" alt="Loading" />
|
||||
<span class="smallMessage">Loading Details...</span>
|
||||
</div>
|
||||
<div id="organisationAddressDetails">
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Warranty Provider:
|
||||
</th>
|
||||
<td>
|
||||
@Html.DropDownListFor(model => model.WarrantyProviderId, Model.WarrantyProviders.ToSelectListItems(Model.WarrantyProviderId, true))<br />
|
||||
@Html.ValidationMessageFor(m => m.WarrantyProviderId)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="warrantyJobFaultDescription" class="form" style="width: 650px; margin-top: 15px;">
|
||||
<h2>
|
||||
Fault Description</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
@Html.EditorFor(model => model.FaultDescription)<br />
|
||||
@Html.ValidationMessageFor(m => m.FaultDescription)
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
if (Model.WarrantyProvider != null && Model.WarrantyProviderSubmitJobViewType != null)
|
||||
{
|
||||
<div id="warrantyJobProviderProperties">
|
||||
@Html.PartialCompiled(Model.WarrantyProviderSubmitJobViewType, Model.WarrantyProviderSubmitJobModel)
|
||||
</div>
|
||||
}
|
||||
<div class="actionBar">
|
||||
<input type="submit" class="button" value="Preview Warranty Claim" />
|
||||
</div>
|
||||
}
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
|
||||
var $organisationAddressDetails = $('#organisationAddressDetails');
|
||||
var $organisationAddressDetailsLoading = $('#organisationAddressDetailsLoading');
|
||||
var $OrganisationAddressId = $('#OrganisationAddressId');
|
||||
|
||||
var $ProviderId = $('#WarrantyProviderId');
|
||||
|
||||
var updateOrganisationAddressDetails = function () {
|
||||
$organisationAddressDetails.slideUp();
|
||||
var orgAddressId = $OrganisationAddressId.val();
|
||||
if (orgAddressId) {
|
||||
$organisationAddressDetailsLoading.slideDown();
|
||||
$.getJSON('@(Url.Action(MVC.API.Job.OrganisationAddress()))', { id: orgAddressId }, function (data) {
|
||||
$organisationAddressDetails.empty().append(
|
||||
$('<span>').text(data.Address),
|
||||
'<br />',
|
||||
$('<span>').text(data.Suburb + ', ' + data.Postcode),
|
||||
'<br />',
|
||||
$('<span>').text(data.State + ', ' + data.Country)
|
||||
);
|
||||
$organisationAddressDetailsLoading.slideUp();
|
||||
$organisationAddressDetails.slideDown();
|
||||
});
|
||||
}
|
||||
}
|
||||
var updateProviderDetails = function () {
|
||||
var providerId = $ProviderId.val();
|
||||
var orgAddressId = $OrganisationAddressId.val();
|
||||
|
||||
if (providerId) {
|
||||
window.location.href = '@(Url.Action(MVC.Job.LogWarranty(Model.JobId, null, null)))?WarrantyProviderId=' + providerId + '&OrganisationAddressId=' + orgAddressId;
|
||||
}
|
||||
}
|
||||
$OrganisationAddressId.change(updateOrganisationAddressDetails).change(updateProviderDetails);
|
||||
$ProviderId.change(updateProviderDetails);
|
||||
updateOrganisationAddressDetails();
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,438 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/LogWarranty.cshtml")]
|
||||
public class LogWarranty : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.LogWarrantyModel>
|
||||
{
|
||||
public LogWarranty()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), string.Format("Job: {0}", Model.Job.Id), MVC.Job.Show(Model.Job.Id), "Log Warranty");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
|
||||
#line 5 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
using (Html.BeginForm(MVC.Job.LogWarranty(), FormMethod.Post))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 7 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.ValidationSummary(true));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 7 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 8 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.HiddenFor(m => m.JobId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 8 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.ValidationMessageFor(m => m.JobId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <input");
|
||||
|
||||
WriteLiteral(" type=\"hidden\"");
|
||||
|
||||
WriteLiteral(" name=\"WarrantyAction\"");
|
||||
|
||||
WriteLiteral(" value=\"Disclose\"");
|
||||
|
||||
WriteLiteral(" />\r\n");
|
||||
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobForm\"");
|
||||
|
||||
WriteLiteral(" class=\"form\"");
|
||||
|
||||
WriteLiteral(" style=\"width: 650px\"");
|
||||
|
||||
WriteLiteral(">\r\n <table>\r\n <tr>\r\n <th>\r\n I" +
|
||||
"nternal Job Id:\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 18 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Model.JobId);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||
">\r\n Device Serial Number:\r\n </th>\r\n " +
|
||||
" <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 26 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Model.Job.Device.SerialNumber);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||
">\r\n Device Model:\r\n </th>\r\n <td" +
|
||||
">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 34 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Model.Job.Device.DeviceModel.Manufacturer);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 34 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Model.Job.Device.DeviceModel.Model);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||
">\r\n Technician:\r\n </th>\r\n <td>\r" +
|
||||
"\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 42 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Model.TechUser.DisplayName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">\r\n Email Address: ");
|
||||
|
||||
|
||||
#line 44 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Model.TechUser.EmailAddress);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n Phone Number: ");
|
||||
|
||||
|
||||
#line 45 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Model.TechUser.PhoneNumber);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n </td>\r\n </tr>\r\n " +
|
||||
" <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 150px\"");
|
||||
|
||||
WriteLiteral(">\r\n Repair Address:\r\n </th>\r\n <t" +
|
||||
"d>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 54 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.DropDownListFor(model => model.OrganisationAddressId, Model.OrganisationAddresses.ToSelectListItems(Model.OrganisationAddressId, true)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 55 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.ValidationMessageFor(m => m.OrganisationAddressId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"organisationAddressDetailsLoading\"");
|
||||
|
||||
WriteLiteral(" style=\"display: none\"");
|
||||
|
||||
WriteLiteral(">\r\n <img");
|
||||
|
||||
WriteAttribute("src", Tuple.Create(" src=\"", 2154), Tuple.Create("\"", 2213)
|
||||
|
||||
#line 57 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 2160), Tuple.Create<System.Object, System.Int32>(Links.ClientSource.Style.Images.Status.loading_gif
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 2160), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" alt=\"Loading\"");
|
||||
|
||||
WriteLiteral(" />\r\n <span");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">Loading Details...</span>\r\n </div>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"organisationAddressDetails\"");
|
||||
|
||||
WriteLiteral(">\r\n </div>\r\n </td>\r\n </tr>\r\n " +
|
||||
" <tr>\r\n <th>\r\n Warranty Provider:\r\n " +
|
||||
" </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 69 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.DropDownListFor(model => model.WarrantyProviderId, Model.WarrantyProviders.ToSelectListItems(Model.WarrantyProviderId, true)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 70 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.ValidationMessageFor(m => m.WarrantyProviderId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n");
|
||||
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobFaultDescription\"");
|
||||
|
||||
WriteLiteral(" class=\"form\"");
|
||||
|
||||
WriteLiteral(" style=\"width: 650px; margin-top: 15px;\"");
|
||||
|
||||
WriteLiteral(">\r\n <h2>\r\n Fault Description</h2>\r\n <table>\r\n " +
|
||||
" <tr>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 81 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.EditorFor(model => model.FaultDescription));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 82 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.ValidationMessageFor(m => m.FaultDescription));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n </table>\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 87 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
if (Model.WarrantyProvider != null && Model.WarrantyProviderSubmitJobViewType != null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobProviderProperties\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 90 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Html.PartialCompiled(Model.WarrantyProviderSubmitJobViewType, Model.WarrantyProviderSubmitJobModel));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 92 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" class=\"actionBar\"");
|
||||
|
||||
WriteLiteral(">\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"submit\"");
|
||||
|
||||
WriteLiteral(" class=\"button\"");
|
||||
|
||||
WriteLiteral(" value=\"Preview Warranty Claim\"");
|
||||
|
||||
WriteLiteral(" />\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 96 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
|
||||
var $organisationAddressDetails = $('#organisationAddressDetails');
|
||||
var $organisationAddressDetailsLoading = $('#organisationAddressDetailsLoading');
|
||||
var $OrganisationAddressId = $('#OrganisationAddressId');
|
||||
|
||||
var $ProviderId = $('#WarrantyProviderId');
|
||||
|
||||
var updateOrganisationAddressDetails = function () {
|
||||
$organisationAddressDetails.slideUp();
|
||||
var orgAddressId = $OrganisationAddressId.val();
|
||||
if (orgAddressId) {
|
||||
$organisationAddressDetailsLoading.slideDown();
|
||||
$.getJSON('");
|
||||
|
||||
|
||||
#line 111 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Url.Action(MVC.API.Job.OrganisationAddress()));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"', { id: orgAddressId }, function (data) {
|
||||
$organisationAddressDetails.empty().append(
|
||||
$('<span>').text(data.Address),
|
||||
'<br />',
|
||||
$('<span>').text(data.Suburb + ', ' + data.Postcode),
|
||||
'<br />',
|
||||
$('<span>').text(data.State + ', ' + data.Country)
|
||||
);
|
||||
$organisationAddressDetailsLoading.slideUp();
|
||||
$organisationAddressDetails.slideDown();
|
||||
});
|
||||
}
|
||||
}
|
||||
var updateProviderDetails = function () {
|
||||
var providerId = $ProviderId.val();
|
||||
var orgAddressId = $OrganisationAddressId.val();
|
||||
|
||||
if (providerId) {
|
||||
window.location.href = '");
|
||||
|
||||
|
||||
#line 129 "..\..\Views\Job\LogWarranty.cshtml"
|
||||
Write(Url.Action(MVC.Job.LogWarranty(Model.JobId, null, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(@"?WarrantyProviderId=' + providerId + '&OrganisationAddressId=' + orgAddressId;
|
||||
}
|
||||
}
|
||||
$OrganisationAddressId.change(updateOrganisationAddressDetails).change(updateProviderDetails);
|
||||
$ProviderId.change(updateProviderDetails);
|
||||
updateOrganisationAddressDetails();
|
||||
});
|
||||
</script>
|
||||
");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,108 @@
|
||||
@model Disco.Web.Models.Job.LogWarrantyModel
|
||||
@{
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), string.Format("Job: {0}", Model.Job.Id), MVC.Job.Show(Model.Job.Id), "Log Warranty");
|
||||
}
|
||||
@using (Html.BeginForm(MVC.Job.LogWarranty(), FormMethod.Post))
|
||||
{
|
||||
@Html.ValidationSummary(true)
|
||||
@Html.HiddenFor(m => m.JobId)
|
||||
@Html.HiddenFor(m => m.OrganisationAddressId)
|
||||
@Html.HiddenFor(m => m.WarrantyProviderId)
|
||||
@Html.HiddenFor(m => m.FaultDescription)
|
||||
@Html.HiddenFor(m => m.WarrantyProviderPropertiesJson)
|
||||
<input type="hidden" name="WarrantyAction" value="Submit" />
|
||||
<div id="warrantyJobForm" class="form" style="width: 650px">
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Internal Job Id:
|
||||
</th>
|
||||
<td>
|
||||
@Model.JobId
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Device Serial Number:
|
||||
</th>
|
||||
<td>
|
||||
@Model.Job.Device.SerialNumber
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Device Model:
|
||||
</th>
|
||||
<td>
|
||||
@Model.Job.Device.DeviceModel.Manufacturer @Model.Job.Device.DeviceModel.Model
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Technician:
|
||||
</th>
|
||||
<td>
|
||||
@Model.TechUser.DisplayName
|
||||
<div class="smallMessage">
|
||||
Email Address: @Model.TechUser.EmailAddress<br />
|
||||
Phone Number: @Model.TechUser.PhoneNumber
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 150px">
|
||||
Repair Address:
|
||||
</th>
|
||||
<td>
|
||||
<div id="organisationAddressDetails">
|
||||
@Model.OrganisationAddress.Name
|
||||
<div class="smallMessage">
|
||||
<span>@Model.OrganisationAddress.Address</span><br />
|
||||
<span>@Model.OrganisationAddress.Suburb, @Model.OrganisationAddress.Postcode</span><br />
|
||||
<span>@Model.OrganisationAddress.State, @Model.OrganisationAddress.Country</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Warranty Provider:
|
||||
</th>
|
||||
<td>
|
||||
@Model.WarrantyProvider.Name (@Model.WarrantyProvider.Id) @Model.WarrantyProvider.PluginManifest.Version.ToString(3)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Fault Description:
|
||||
</th>
|
||||
<td>
|
||||
@Model.FaultDescription.ToMultilineString()
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Disclosed Information
|
||||
</th>
|
||||
<td>
|
||||
<div id="warrantyDisclosedInformation">
|
||||
<table>
|
||||
@foreach (var dp in Model.DiscloseProperties)
|
||||
{
|
||||
<tr>
|
||||
<th>@dp.Key:
|
||||
</th>
|
||||
<td>@dp.Value
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="actionBar">
|
||||
<input type="submit" class="button" value="Submit Warranty Claim" />
|
||||
</div>
|
||||
}
|
||||
@@ -0,0 +1,436 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/LogWarrantyDisclose.cshtml")]
|
||||
public class LogWarrantyDisclose : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.LogWarrantyModel>
|
||||
{
|
||||
public LogWarrantyDisclose()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), string.Format("Job: {0}", Model.Job.Id), MVC.Job.Show(Model.Job.Id), "Log Warranty");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
|
||||
#line 5 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
using (Html.BeginForm(MVC.Job.LogWarranty(), FormMethod.Post))
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 7 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Html.ValidationSummary(true));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 7 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 8 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Html.HiddenFor(m => m.JobId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 8 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Html.HiddenFor(m => m.OrganisationAddressId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 10 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Html.HiddenFor(m => m.WarrantyProviderId));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 10 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 11 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Html.HiddenFor(m => m.FaultDescription));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 11 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 12 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Html.HiddenFor(m => m.WarrantyProviderPropertiesJson));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 12 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <input");
|
||||
|
||||
WriteLiteral(" type=\"hidden\"");
|
||||
|
||||
WriteLiteral(" name=\"WarrantyAction\"");
|
||||
|
||||
WriteLiteral(" value=\"Submit\"");
|
||||
|
||||
WriteLiteral(" />\r\n");
|
||||
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobForm\"");
|
||||
|
||||
WriteLiteral(" class=\"form\"");
|
||||
|
||||
WriteLiteral(" style=\"width: 650px\"");
|
||||
|
||||
WriteLiteral(">\r\n <table>\r\n <tr>\r\n <th>\r\n I" +
|
||||
"nternal Job Id:\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 21 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.JobId);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||
">\r\n Device Serial Number:\r\n </th>\r\n " +
|
||||
" <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 29 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.Job.Device.SerialNumber);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||
">\r\n Device Model:\r\n </th>\r\n <td" +
|
||||
">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 37 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.Job.Device.DeviceModel.Manufacturer);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 37 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.Job.Device.DeviceModel.Model);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||
">\r\n Technician:\r\n </th>\r\n <td>\r" +
|
||||
"\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 45 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.TechUser.DisplayName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">\r\n Email Address: ");
|
||||
|
||||
|
||||
#line 47 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.TechUser.EmailAddress);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n Phone Number: ");
|
||||
|
||||
|
||||
#line 48 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.TechUser.PhoneNumber);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n </td>\r\n </tr>\r\n " +
|
||||
" <tr>\r\n <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 150px\"");
|
||||
|
||||
WriteLiteral(">\r\n Repair Address:\r\n </th>\r\n <t" +
|
||||
"d>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"organisationAddressDetails\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 58 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.OrganisationAddress.Name);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">\r\n <span>");
|
||||
|
||||
|
||||
#line 60 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.OrganisationAddress.Address);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span><br />\r\n <span>");
|
||||
|
||||
|
||||
#line 61 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.OrganisationAddress.Suburb);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(", ");
|
||||
|
||||
|
||||
#line 61 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.OrganisationAddress.Postcode);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span><br />\r\n <span>");
|
||||
|
||||
|
||||
#line 62 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.OrganisationAddress.State);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(", ");
|
||||
|
||||
|
||||
#line 62 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.OrganisationAddress.Country);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n </div>\r\n </div>\r\n " +
|
||||
" </td>\r\n </tr>\r\n <tr>\r\n <th>\r\n " +
|
||||
" Warranty Provider:\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 72 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.WarrantyProvider.Name);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" (");
|
||||
|
||||
|
||||
#line 72 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.WarrantyProvider.Id);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(") ");
|
||||
|
||||
|
||||
#line 72 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.WarrantyProvider.PluginManifest.Version.ToString(3));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||
">\r\n Fault Description:\r\n </th>\r\n " +
|
||||
" <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 80 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(Model.FaultDescription.ToMultilineString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th" +
|
||||
">\r\n Disclosed Information\r\n </th>\r\n " +
|
||||
" <td>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"warrantyDisclosedInformation\"");
|
||||
|
||||
WriteLiteral(">\r\n <table>\r\n");
|
||||
|
||||
|
||||
#line 90 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 90 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
foreach (var dp in Model.DiscloseProperties)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <tr>\r\n <th>");
|
||||
|
||||
|
||||
#line 93 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(dp.Key);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(":\r\n </th>\r\n " +
|
||||
" <td>");
|
||||
|
||||
|
||||
#line 95 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
Write(dp.Value);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr" +
|
||||
"> \r\n");
|
||||
|
||||
|
||||
#line 98 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </table>\r\n </div>\r\n </t" +
|
||||
"d>\r\n </tr>\r\n </table>\r\n </div>\r\n");
|
||||
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" class=\"actionBar\"");
|
||||
|
||||
WriteLiteral(">\r\n <input");
|
||||
|
||||
WriteLiteral(" type=\"submit\"");
|
||||
|
||||
WriteLiteral(" class=\"button\"");
|
||||
|
||||
WriteLiteral(" value=\"Submit Warranty Claim\"");
|
||||
|
||||
WriteLiteral(" />\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 108 "..\..\Views\Job\LogWarrantyDisclose.cshtml"
|
||||
}
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,124 @@
|
||||
@model Disco.Web.Models.Job.LogWarrantyModel
|
||||
@{
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), string.Format("Job: {0}", Model.Job.Id), MVC.Job.Show(Model.Job.Id), "Log Warranty Error");
|
||||
}
|
||||
<div class="form" style="width: 650px">
|
||||
<h2>
|
||||
Submission Error</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<div>
|
||||
<strong>@Model.Error.Message</strong>
|
||||
</div>
|
||||
<a href="#" id="warrantyJobErrorShow" class="smallMessage">(show more)</a>
|
||||
<div id="warrantyJobErrorMore" style="display: none">
|
||||
<br />
|
||||
<strong>Error Type: </strong>@Model.Error.GetType().Name
|
||||
<br />
|
||||
<strong>Stack Trace:</strong>
|
||||
<div class="code">
|
||||
@Model.Error.StackTrace.ToMultilineString()
|
||||
</div>
|
||||
@if (Model.Error.InnerException != null)
|
||||
{
|
||||
<hr />
|
||||
<div>
|
||||
<strong>Inner Exception:</strong> @Model.Error.InnerException.Message<br />
|
||||
<strong>Error Type:</strong> @Model.Error.GetType().Name<br />
|
||||
<strong>Stack Trace:</strong>
|
||||
<div class="code">
|
||||
@Model.Error.InnerException.StackTrace
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$('#warrantyJobErrorShow').click(function () {
|
||||
$(this).hide();
|
||||
$('#warrantyJobErrorMore').slideDown();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="warrantyJobForm" class="form" style="width: 650px; margin-top: 15px;">
|
||||
<h2>
|
||||
Warranty Submission Details</h2>
|
||||
<table>
|
||||
<tr>
|
||||
<th>
|
||||
Internal Job Id:
|
||||
</th>
|
||||
<td>
|
||||
@Model.JobId
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Device Serial Number:
|
||||
</th>
|
||||
<td>
|
||||
@Model.Job.Device.SerialNumber
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Device Model:
|
||||
</th>
|
||||
<td>
|
||||
@Model.Job.Device.DeviceModel.Manufacturer @Model.Job.Device.DeviceModel.Model
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Technician:
|
||||
</th>
|
||||
<td>
|
||||
@Model.TechUser.DisplayName
|
||||
<div class="smallMessage">
|
||||
Email Address: @Model.TechUser.EmailAddress<br />
|
||||
Phone Number: @Model.TechUser.PhoneNumber
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th style="width: 150px">
|
||||
Repair Address:
|
||||
</th>
|
||||
<td>
|
||||
<div id="organisationAddressDetails">
|
||||
@Model.OrganisationAddress.Name
|
||||
<div class="smallMessage">
|
||||
<span>@Model.OrganisationAddress.Address</span><br />
|
||||
<span>@Model.OrganisationAddress.Suburb, @Model.OrganisationAddress.Postcode</span><br />
|
||||
<span>@Model.OrganisationAddress.State, @Model.OrganisationAddress.Country</span>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Warranty Provider:
|
||||
</th>
|
||||
<td>
|
||||
@Model.WarrantyProvider.Name (@Model.WarrantyProvider.Id) @Model.WarrantyProvider.PluginManifest.Version.ToString(3)
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>
|
||||
Fault Description:
|
||||
</th>
|
||||
<td>
|
||||
@Model.FaultDescription.ToMultilineString()
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div class="actionBar">
|
||||
@Html.ActionLinkButton("Try Again", MVC.Job.LogWarranty(Model.JobId, null, null))
|
||||
@Html.ActionLinkButton("Return to Job", MVC.Job.Show(Model.JobId))
|
||||
</div>
|
||||
@@ -0,0 +1,416 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/LogWarrantyError.cshtml")]
|
||||
public class LogWarrantyError : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.LogWarrantyModel>
|
||||
{
|
||||
public LogWarrantyError()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), string.Format("Job: {0}", Model.Job.Id), MVC.Job.Show(Model.Job.Id), "Log Warranty Error");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<div");
|
||||
|
||||
WriteLiteral(" class=\"form\"");
|
||||
|
||||
WriteLiteral(" style=\"width: 650px\"");
|
||||
|
||||
WriteLiteral(">\r\n <h2>\r\n Submission Error</h2>\r\n <table>\r\n <tr>\r\n " +
|
||||
" <td>\r\n <div>\r\n <strong>");
|
||||
|
||||
|
||||
#line 12 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Error.Message);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</strong>\r\n </div>\r\n <a");
|
||||
|
||||
WriteLiteral(" href=\"#\"");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobErrorShow\"");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">(show more)</a>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobErrorMore\"");
|
||||
|
||||
WriteLiteral(" style=\"display: none\"");
|
||||
|
||||
WriteLiteral(">\r\n <br />\r\n <strong>Error Type: </strong>");
|
||||
|
||||
|
||||
#line 17 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Error.GetType().Name);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <br />\r\n <strong>Stack Trace:</strong>\r\n" +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"code\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 21 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Error.StackTrace.ToMultilineString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 23 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 23 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
if (Model.Error.InnerException != null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <hr />\r\n");
|
||||
|
||||
WriteLiteral(" <div>\r\n <strong>Inner Exceptio" +
|
||||
"n:</strong> ");
|
||||
|
||||
|
||||
#line 27 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Error.InnerException.Message);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n <strong>Error Type:</strong> ");
|
||||
|
||||
|
||||
#line 28 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Error.GetType().Name);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n <strong>Stack Trace:</strong>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" class=\"code\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 31 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Error.InnerException.StackTrace);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 34 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </div>\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
$('#warrantyJobErrorShow').click(function () {
|
||||
$(this).hide();
|
||||
$('#warrantyJobErrorMore').slideDown();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobForm\"");
|
||||
|
||||
WriteLiteral(" class=\"form\"");
|
||||
|
||||
WriteLiteral(" style=\"width: 650px; margin-top: 15px;\"");
|
||||
|
||||
WriteLiteral(">\r\n <h2>\r\n Warranty Submission Details</h2>\r\n <table>\r\n <tr>\r" +
|
||||
"\n <th>\r\n Internal Job Id:\r\n </th>\r\n " +
|
||||
" <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 57 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.JobId);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th>\r\n " +
|
||||
" Device Serial Number:\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 65 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Job.Device.SerialNumber);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th>\r\n " +
|
||||
" Device Model:\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 73 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Job.Device.DeviceModel.Manufacturer);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 73 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.Job.Device.DeviceModel.Model);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th>\r\n " +
|
||||
" Technician:\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 81 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.TechUser.DisplayName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">\r\n Email Address: ");
|
||||
|
||||
|
||||
#line 83 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.TechUser.EmailAddress);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n Phone Number: ");
|
||||
|
||||
|
||||
#line 84 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.TechUser.PhoneNumber);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n " +
|
||||
" <th");
|
||||
|
||||
WriteLiteral(" style=\"width: 150px\"");
|
||||
|
||||
WriteLiteral(">\r\n Repair Address:\r\n </th>\r\n <td>\r\n " +
|
||||
" <div");
|
||||
|
||||
WriteLiteral(" id=\"organisationAddressDetails\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 94 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.OrganisationAddress.Name);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">\r\n <span>");
|
||||
|
||||
|
||||
#line 96 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.OrganisationAddress.Address);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span><br />\r\n <span>");
|
||||
|
||||
|
||||
#line 97 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.OrganisationAddress.Suburb);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(", ");
|
||||
|
||||
|
||||
#line 97 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.OrganisationAddress.Postcode);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span><br />\r\n <span>");
|
||||
|
||||
|
||||
#line 98 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.OrganisationAddress.State);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(", ");
|
||||
|
||||
|
||||
#line 98 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.OrganisationAddress.Country);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n </div>\r\n </div>\r\n </td>\r\n " +
|
||||
" </tr>\r\n <tr>\r\n <th>\r\n Warranty Provider:" +
|
||||
"\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 108 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.WarrantyProvider.Name);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" (");
|
||||
|
||||
|
||||
#line 108 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.WarrantyProvider.Id);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(") ");
|
||||
|
||||
|
||||
#line 108 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.WarrantyProvider.PluginManifest.Version.ToString(3));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n <tr>\r\n <th>\r\n " +
|
||||
" Fault Description:\r\n </th>\r\n <td>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 116 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Model.FaultDescription.ToMultilineString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </td>\r\n </tr>\r\n </table>\r\n</div>\r\n<div");
|
||||
|
||||
WriteLiteral(" class=\"actionBar\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 122 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Html.ActionLinkButton("Try Again", MVC.Job.LogWarranty(Model.JobId, null, null)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 123 "..\..\Views\Job\LogWarrantyError.cshtml"
|
||||
Write(Html.ActionLinkButton("Return to Job", MVC.Job.Show(Model.JobId)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n</div>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,56 @@
|
||||
@model Disco.Web.Models.Job.ShowModel
|
||||
@{
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), string.Format("Job: {0}", Model.Job.Id.ToString()));
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/Silverlight");
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/jQueryUI-TimePicker");
|
||||
}
|
||||
<div id="Job_Show">
|
||||
<div id="Job_Show_Status">
|
||||
@{ var jobStatusInfo = Model.Job.Status();}
|
||||
<span class="icon JobStatus@(jobStatusInfo.Item1)"></span>@jobStatusInfo.Item2
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$('#Job_Show_Status').appendTo('#layout_PageHeading')
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
@Html.Partial(MVC.Job.Views.JobParts._Subject, Model)
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
var $tabs = $('#jobDetailTabs');
|
||||
$tabs.tabs({
|
||||
activate: function (event, ui) {
|
||||
window.setTimeout(function () {
|
||||
var $window = $(window);
|
||||
var tabHeight = $tabs.height();
|
||||
var tabOffset = $tabs.offset();
|
||||
var windowScrollTop = $window.scrollTop();
|
||||
var windowHeight = $window.height();
|
||||
|
||||
var tabTopNotShown = windowScrollTop - tabOffset.top;
|
||||
if (tabTopNotShown > 0) {
|
||||
$('html').animate({ scrollTop: tabOffset.top }, 125);
|
||||
} else {
|
||||
var tabBottomNotShown = ((windowScrollTop + windowHeight) - (tabHeight + tabOffset.top)) * -1;
|
||||
if (tabBottomNotShown > 0) {
|
||||
if (tabHeight > windowHeight)
|
||||
$('html').animate({ scrollTop: tabOffset.top }, 125);
|
||||
else
|
||||
$('html').animate({ scrollTop: windowScrollTop + tabBottomNotShown }, 125);
|
||||
}
|
||||
}
|
||||
}, 1);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div id="jobDetailTabs">
|
||||
<ul id="jobDetailTabItems">
|
||||
<li><a href="#jobDetailTab-Resources">Log and Attachments</a></li>
|
||||
</ul>
|
||||
<div id="jobDetailTab-Resources" class="jobPart">
|
||||
@Html.Partial(MVC.Job.Views.JobParts.Resources, Model)
|
||||
</div>
|
||||
@Html.Partial(MVC.Job.Views.JobParts.JobMetaAdditions, Model)
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,192 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/Show.cshtml")]
|
||||
public class Show : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.ShowModel>
|
||||
{
|
||||
public Show()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\Show.cshtml"
|
||||
|
||||
ViewBag.Title = Html.ToBreadcrumb("Jobs", MVC.Job.Index(), string.Format("Job: {0}", Model.Job.Id.ToString()));
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/Silverlight");
|
||||
Html.BundleDeferred("~/ClientScripts/Modules/jQueryUI-TimePicker");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n<div");
|
||||
|
||||
WriteLiteral(" id=\"Job_Show\"");
|
||||
|
||||
WriteLiteral(">\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"Job_Show_Status\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 9 "..\..\Views\Job\Show.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 9 "..\..\Views\Job\Show.cshtml"
|
||||
var jobStatusInfo = Model.Job.Status();
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <span");
|
||||
|
||||
WriteAttribute("class", Tuple.Create(" class=\"", 420), Tuple.Create("\"", 464)
|
||||
, Tuple.Create(Tuple.Create("", 428), Tuple.Create("icon", 428), true)
|
||||
, Tuple.Create(Tuple.Create(" ", 432), Tuple.Create("JobStatus", 433), true)
|
||||
|
||||
#line 10 "..\..\Views\Job\Show.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 442), Tuple.Create<System.Object, System.Int32>(jobStatusInfo.Item1
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 442), false)
|
||||
);
|
||||
|
||||
WriteLiteral("></span>");
|
||||
|
||||
|
||||
#line 10 "..\..\Views\Job\Show.cshtml"
|
||||
Write(jobStatusInfo.Item2);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(">\r\n $(function () {\r\n $(\'#Job_Show_Status\').appendTo(\'#" +
|
||||
"layout_PageHeading\')\r\n });\r\n </script>\r\n </div>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 17 "..\..\Views\Job\Show.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts._Subject, Model));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
var $tabs = $('#jobDetailTabs');
|
||||
$tabs.tabs({
|
||||
activate: function (event, ui) {
|
||||
window.setTimeout(function () {
|
||||
var $window = $(window);
|
||||
var tabHeight = $tabs.height();
|
||||
var tabOffset = $tabs.offset();
|
||||
var windowScrollTop = $window.scrollTop();
|
||||
var windowHeight = $window.height();
|
||||
|
||||
var tabTopNotShown = windowScrollTop - tabOffset.top;
|
||||
if (tabTopNotShown > 0) {
|
||||
$('html').animate({ scrollTop: tabOffset.top }, 125);
|
||||
} else {
|
||||
var tabBottomNotShown = ((windowScrollTop + windowHeight) - (tabHeight + tabOffset.top)) * -1;
|
||||
if (tabBottomNotShown > 0) {
|
||||
if (tabHeight > windowHeight)
|
||||
$('html').animate({ scrollTop: tabOffset.top }, 125);
|
||||
else
|
||||
$('html').animate({ scrollTop: windowScrollTop + tabBottomNotShown }, 125);
|
||||
}
|
||||
}
|
||||
}, 1);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTabs\"");
|
||||
|
||||
WriteLiteral(">\r\n <ul");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTabItems\"");
|
||||
|
||||
WriteLiteral(">\r\n <li><a");
|
||||
|
||||
WriteLiteral(" href=\"#jobDetailTab-Resources\"");
|
||||
|
||||
WriteLiteral(">Log and Attachments</a></li>\r\n </ul>\r\n <div");
|
||||
|
||||
WriteLiteral(" id=\"jobDetailTab-Resources\"");
|
||||
|
||||
WriteLiteral(" class=\"jobPart\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 52 "..\..\Views\Job\Show.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.Resources, Model));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 54 "..\..\Views\Job\Show.cshtml"
|
||||
Write(Html.Partial(MVC.Job.Views.JobParts.JobMetaAdditions, Model));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n</div>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,53 @@
|
||||
@model Disco.Web.Models.Job.WarrantyProviderJobDetailsModel
|
||||
@{ Layout = null;
|
||||
|
||||
if (Model.JobDetailsException != null)
|
||||
{
|
||||
<h3>
|
||||
Error:</h3>
|
||||
<div>
|
||||
<strong>@Model.JobDetailsException.Message</strong>
|
||||
</div>
|
||||
<a href="#" id="warrantyJobDetailsErrorShow" class="smallMessage">(show more)</a>
|
||||
<div id="warrantyJobDetailsErrorMore" style="display: none">
|
||||
<br />
|
||||
<strong>Error Type: </strong>@Model.JobDetailsException.GetType().Name
|
||||
<br />
|
||||
<strong>Stack Trace:</strong>
|
||||
<div class="code">
|
||||
@Model.JobDetailsException.StackTrace.ToMultilineString()
|
||||
</div>
|
||||
@if (Model.JobDetailsException.InnerException != null)
|
||||
{
|
||||
<hr />
|
||||
<div>
|
||||
<strong>Inner Exception:</strong> @Model.JobDetailsException.InnerException.Message<br />
|
||||
<strong>Error Type:</strong> @Model.JobDetailsException.GetType().Name<br />
|
||||
<strong>Stack Trace:</strong>
|
||||
<div class="code">
|
||||
@Model.JobDetailsException.InnerException.StackTrace
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<script type="text/javascript">
|
||||
$(function () {
|
||||
$('#warrantyJobDetailsErrorShow').click(function () {
|
||||
$(this).hide();
|
||||
$('#warrantyJobDetailsErrorMore').slideDown();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Model.JobDetailsSupported)
|
||||
{
|
||||
@Html.PartialCompiled(Model.ViewType, Model.ViewModel)
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="smallMessage">@Model.JobDetailsNotSupportedMessage</span>
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,237 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/WarrantyProviderJobDetails.cshtml")]
|
||||
public class WarrantyProviderJobDetails : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.WarrantyProviderJobDetailsModel>
|
||||
{
|
||||
public WarrantyProviderJobDetails()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 2 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Layout = null;
|
||||
|
||||
if (Model.JobDetailsException != null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <h3>\r\n Error:</h3>\r\n");
|
||||
|
||||
WriteLiteral(" <div>\r\n <strong>");
|
||||
|
||||
|
||||
#line 9 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Write(Model.JobDetailsException.Message);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</strong>\r\n </div>\r\n");
|
||||
|
||||
WriteLiteral(" <a");
|
||||
|
||||
WriteLiteral(" href=\"#\"");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobDetailsErrorShow\"");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">(show more)</a>\r\n");
|
||||
|
||||
WriteLiteral(" <div");
|
||||
|
||||
WriteLiteral(" id=\"warrantyJobDetailsErrorMore\"");
|
||||
|
||||
WriteLiteral(" style=\"display: none\"");
|
||||
|
||||
WriteLiteral(">\r\n <br />\r\n <strong>Error Type: </strong>");
|
||||
|
||||
|
||||
#line 14 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Write(Model.JobDetailsException.GetType().Name);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n <br />\r\n <strong>Stack Trace:</strong>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"code\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 18 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Write(Model.JobDetailsException.StackTrace.ToMultilineString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 20 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 20 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
if (Model.JobDetailsException.InnerException != null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <hr />\r\n");
|
||||
|
||||
WriteLiteral(" <div>\r\n <strong>Inner Exception:</strong> ");
|
||||
|
||||
|
||||
#line 24 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Write(Model.JobDetailsException.InnerException.Message);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n <strong>Error Type:</strong> ");
|
||||
|
||||
|
||||
#line 25 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Write(Model.JobDetailsException.GetType().Name);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("<br />\r\n <strong>Stack Trace:</strong>\r\n <div");
|
||||
|
||||
WriteLiteral(" class=\"code\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
WriteLiteral(" ");
|
||||
|
||||
|
||||
#line 28 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Write(Model.JobDetailsException.InnerException.StackTrace);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n </div>\r\n </div>\r\n");
|
||||
|
||||
|
||||
#line 31 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <script");
|
||||
|
||||
WriteLiteral(" type=\"text/javascript\"");
|
||||
|
||||
WriteLiteral(@">
|
||||
$(function () {
|
||||
$('#warrantyJobDetailsErrorShow').click(function () {
|
||||
$(this).hide();
|
||||
$('#warrantyJobDetailsErrorMore').slideDown();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
");
|
||||
|
||||
|
||||
#line 41 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Model.JobDetailsSupported)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 46 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Write(Html.PartialCompiled(Model.ViewType, Model.ViewModel));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 46 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">");
|
||||
|
||||
|
||||
#line 50 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
Write(Model.JobDetailsNotSupportedMessage);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
|
||||
#line 51 "..\..\Views\Job\WarrantyProviderJobDetails.cshtml"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,34 @@
|
||||
@model Disco.Web.Models.Job.CreateModel
|
||||
<table class="subtleHighlight">
|
||||
<tr>
|
||||
<td style="width: 50%">
|
||||
<h2>
|
||||
Device</h2>
|
||||
@if (Model.Device == null)
|
||||
{
|
||||
<span class="smallMessage">No Device referenced to this Job</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span><strong>Serial Number:</strong> @Html.ActionLink(Model.Device.SerialNumber, MVC.Device.Show(Model.Device.SerialNumber))</span><br />
|
||||
<span><strong>Name:</strong> @Model.Device.ComputerName</span><br />
|
||||
<span><strong>Model:</strong> @Model.Device.DeviceModel.ToString()</span><br />
|
||||
<img alt="Model Image" src="@Url.Action(MVC.API.DeviceModel.Image(Model.Device.DeviceModelId, Model.Device.DeviceModel.ImageHash()))" />
|
||||
}
|
||||
</td>
|
||||
<td style="width: 50%">
|
||||
<h2>
|
||||
User</h2>
|
||||
@if (Model.User == null)
|
||||
{
|
||||
<span class="smallMessage">No User referenced to this Job</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span><strong>Id:</strong> @Html.ActionLink(Model.User.Id, MVC.User.Show(Model.User.Id))</span><br />
|
||||
<span><strong>Name:</strong> @Model.User.DisplayName</span><br />
|
||||
<span><strong>Type:</strong> @Model.User.Type</span>
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,229 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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.Optimization;
|
||||
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("~/Views/Job/_CreateSubject-Old.cshtml")]
|
||||
public class CreateSubject_Old : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.CreateModel>
|
||||
{
|
||||
public CreateSubject_Old()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
WriteLiteral("<table");
|
||||
|
||||
WriteLiteral(" class=\"subtleHighlight\"");
|
||||
|
||||
WriteLiteral(">\r\n <tr>\r\n <td");
|
||||
|
||||
WriteLiteral(" style=\"width: 50%\"");
|
||||
|
||||
WriteLiteral(">\r\n <h2>\r\n Device</h2>\r\n");
|
||||
|
||||
|
||||
#line 7 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 7 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
if (Model.Device == null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">No Device referenced to this Job</span>\r\n");
|
||||
|
||||
|
||||
#line 10 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span><strong>Serial Number:</strong> ");
|
||||
|
||||
|
||||
#line 13 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
Write(Html.ActionLink(Model.Device.SerialNumber, MVC.Device.Show(Model.Device.SerialNumber)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <span><strong>Name:</strong> ");
|
||||
|
||||
|
||||
#line 14 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
Write(Model.Device.ComputerName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <span><strong>Model:</strong> ");
|
||||
|
||||
|
||||
#line 15 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
Write(Model.Device.DeviceModel.ToString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <img");
|
||||
|
||||
WriteLiteral(" alt=\"Model Image\"");
|
||||
|
||||
WriteAttribute("src", Tuple.Create(" src=\"", 730), Tuple.Create("\"", 840)
|
||||
|
||||
#line 16 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 736), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(Model.Device.DeviceModelId, Model.Device.DeviceModel.ImageHash()))
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 736), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" />\r\n");
|
||||
|
||||
|
||||
#line 17 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </td>\r\n <td");
|
||||
|
||||
WriteLiteral(" style=\"width: 50%\"");
|
||||
|
||||
WriteLiteral(">\r\n <h2>\r\n User</h2>\r\n");
|
||||
|
||||
|
||||
#line 22 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 22 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
if (Model.User == null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">No User referenced to this Job</span>\r\n");
|
||||
|
||||
|
||||
#line 25 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span><strong>Id:</strong> ");
|
||||
|
||||
|
||||
#line 28 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
Write(Html.ActionLink(Model.User.Id, MVC.User.Show(Model.User.Id)));
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <span><strong>Name:</strong> ");
|
||||
|
||||
|
||||
#line 29 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
Write(Model.User.DisplayName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <span><strong>Type:</strong> ");
|
||||
|
||||
|
||||
#line 30 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
Write(Model.User.Type);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
|
||||
#line 31 "..\..\Views\Job\_CreateSubject-Old.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </td>\r\n </tr>\r\n</table>");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,41 @@
|
||||
@model Disco.Web.Models.Job.CreateModel
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<h2>Device</h2>
|
||||
</td>
|
||||
@if (Model.Device != null)
|
||||
{
|
||||
<td style="width: 64px">
|
||||
<img class="modelImage" alt="Model Image" src="@Url.Action(MVC.API.DeviceModel.Image(Model.Device.DeviceModelId, Model.Device.DeviceModel.ImageHash()))" />
|
||||
</td>
|
||||
}
|
||||
<td style="width: 50%">
|
||||
@if (Model.Device == null)
|
||||
{
|
||||
<span class="smallMessage">No Device referenced to this Job</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span><strong>Serial Number:</strong> @Model.Device.SerialNumber</span><br />
|
||||
<span><strong>Name:</strong> @Model.Device.ComputerName</span><br />
|
||||
<span><strong>Model:</strong> @Model.Device.DeviceModel.ToString()</span><br />
|
||||
}
|
||||
</td>
|
||||
<td>
|
||||
<h2>User</h2>
|
||||
</td>
|
||||
<td style="width: 50%">
|
||||
@if (Model.User == null)
|
||||
{
|
||||
<span class="smallMessage">No User referenced to this Job</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span><strong>Id:</strong> @Model.User.Id</span><br />
|
||||
<span><strong>Name:</strong> @Model.User.DisplayName</span><br />
|
||||
<span><strong>Type:</strong> @Model.User.Type</span>
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@@ -0,0 +1,254 @@
|
||||
#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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/_CreateSubject.cshtml")]
|
||||
public class CreateSubject : System.Web.Mvc.WebViewPage<Disco.Web.Models.Job.CreateModel>
|
||||
{
|
||||
public CreateSubject()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
WriteLiteral("<table>\r\n <tr>\r\n <td>\r\n <h2>Device</h2>\r\n </td>\r\n");
|
||||
|
||||
|
||||
#line 7 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 7 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
if (Model.Device != null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <td");
|
||||
|
||||
WriteLiteral(" style=\"width: 64px\"");
|
||||
|
||||
WriteLiteral(">\r\n <img");
|
||||
|
||||
WriteLiteral(" class=\"modelImage\"");
|
||||
|
||||
WriteLiteral(" alt=\"Model Image\"");
|
||||
|
||||
WriteAttribute("src", Tuple.Create(" src=\"", 260), Tuple.Create("\"", 370)
|
||||
|
||||
#line 10 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
, Tuple.Create(Tuple.Create("", 266), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.DeviceModel.Image(Model.Device.DeviceModelId, Model.Device.DeviceModel.ImageHash()))
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
, 266), false)
|
||||
);
|
||||
|
||||
WriteLiteral(" />\r\n </td>\r\n");
|
||||
|
||||
|
||||
#line 12 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <td");
|
||||
|
||||
WriteLiteral(" style=\"width: 50%\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 14 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 14 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
if (Model.Device == null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">No Device referenced to this Job</span>\r\n");
|
||||
|
||||
|
||||
#line 17 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span><strong>Serial Number:</strong> ");
|
||||
|
||||
|
||||
#line 20 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
Write(Model.Device.SerialNumber);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <span><strong>Name:</strong> ");
|
||||
|
||||
|
||||
#line 21 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
Write(Model.Device.ComputerName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <span><strong>Model:</strong> ");
|
||||
|
||||
|
||||
#line 22 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
Write(Model.Device.DeviceModel.ToString());
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
|
||||
#line 23 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </td>\r\n <td>\r\n <h2>User</h2>\r\n </td>\r\n <t" +
|
||||
"d");
|
||||
|
||||
WriteLiteral(" style=\"width: 50%\"");
|
||||
|
||||
WriteLiteral(">\r\n");
|
||||
|
||||
|
||||
#line 29 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
|
||||
#line 29 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
if (Model.User == null)
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span");
|
||||
|
||||
WriteLiteral(" class=\"smallMessage\"");
|
||||
|
||||
WriteLiteral(">No User referenced to this Job</span>\r\n");
|
||||
|
||||
|
||||
#line 32 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" <span><strong>Id:</strong> ");
|
||||
|
||||
|
||||
#line 35 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
Write(Model.User.Id);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <span><strong>Name:</strong> ");
|
||||
|
||||
|
||||
#line 36 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
Write(Model.User.DisplayName);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>");
|
||||
|
||||
WriteLiteral("<br />\r\n");
|
||||
|
||||
WriteLiteral(" <span><strong>Type:</strong> ");
|
||||
|
||||
|
||||
#line 37 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
Write(Model.User.Type);
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral("</span>\r\n");
|
||||
|
||||
|
||||
#line 38 "..\..\Views\Job\_CreateSubject.cshtml"
|
||||
}
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
WriteLiteral(" </td>\r\n </tr>\r\n</table>\r\n");
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
@@ -0,0 +1,3 @@
|
||||
@{
|
||||
Html.BundleDeferred("~/Style/Job");
|
||||
}
|
||||
@@ -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.Views.Job
|
||||
{
|
||||
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("~/Views/Job/_ViewStart.cshtml")]
|
||||
public class ViewStart : System.Web.Mvc.ViewStartPage
|
||||
{
|
||||
public ViewStart()
|
||||
{
|
||||
}
|
||||
public override void Execute()
|
||||
{
|
||||
|
||||
#line 1 "..\..\Views\Job\_ViewStart.cshtml"
|
||||
|
||||
Html.BundleDeferred("~/Style/Job");
|
||||
|
||||
|
||||
#line default
|
||||
#line hidden
|
||||
}
|
||||
}
|
||||
}
|
||||
#pragma warning restore 1591
|
||||
Reference in New Issue
Block a user