Update: Device Battery field, Excel CSV Format

Device Battery import & export; Leading zero workaround for Excel
This commit is contained in:
Gary Sharp
2014-05-27 16:36:42 +10:00
parent 825627e345
commit 4e69253852
16 changed files with 400 additions and 80 deletions
@@ -27,6 +27,7 @@ namespace Disco.Web.Areas.API.Controllers
const string pLocation = "location";
const string pAllowUnauthenticatedEnrol = "allowunauthenticatedenrol";
const string pDetailACAdapter = "detailacadapter";
const string pDetailBattery = "detailbattery";
public virtual ActionResult Update(string id, string key, string value = null, bool redirect = false)
{
@@ -71,6 +72,10 @@ namespace Disco.Web.Areas.API.Controllers
Authorization.Require(Claims.Device.Properties.Details);
UpdateDetailACAdapter(device, value);
break;
case pDetailBattery:
Authorization.Require(Claims.Device.Properties.Details);
UpdateDetailBattery(device, value);
break;
default:
throw new Exception("Invalid Update Key");
}
@@ -145,6 +150,12 @@ namespace Disco.Web.Areas.API.Controllers
return Update(id, pDetailACAdapter, DetailACAdapter, redirect);
}
[DiscoAuthorize(Claims.Device.Properties.Details)]
public virtual ActionResult UpdateDetailBattery(string id, string DetailBattery = null, bool redirect = false)
{
return Update(id, pDetailBattery, DetailBattery, redirect);
}
#endregion
#region Update Properties
@@ -258,6 +269,14 @@ namespace Disco.Web.Areas.API.Controllers
device.DeviceDetails.ACAdapter(device, ACAdapter.Trim());
Database.SaveChanges();
}
private void UpdateDetailBattery(Disco.Models.Repository.Device device, string Battery)
{
if (string.IsNullOrWhiteSpace(Battery))
device.DeviceDetails.Battery(device, null);
else
device.DeviceDetails.Battery(device, Battery.Trim());
Database.SaveChanges();
}
#endregion
#region Device Actions
+30
View File
@@ -3543,6 +3543,12 @@ namespace Disco.Web.Areas.API.Controllers
}
[NonAction]
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public virtual System.Web.Mvc.ActionResult UpdateDetailBattery()
{
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateDetailBattery);
}
[NonAction]
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public virtual System.Web.Mvc.ActionResult Decommission()
{
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Decommission);
@@ -3661,6 +3667,7 @@ namespace Disco.Web.Areas.API.Controllers
public readonly string UpdateAssignedUserId = "UpdateAssignedUserId";
public readonly string UpdateAllowUnauthenticatedEnrol = "UpdateAllowUnauthenticatedEnrol";
public readonly string UpdateDetailACAdapter = "UpdateDetailACAdapter";
public readonly string UpdateDetailBattery = "UpdateDetailBattery";
public readonly string Decommission = "Decommission";
public readonly string Recommission = "Recommission";
public readonly string Delete = "Delete";
@@ -3691,6 +3698,7 @@ namespace Disco.Web.Areas.API.Controllers
public const string UpdateAssignedUserId = "UpdateAssignedUserId";
public const string UpdateAllowUnauthenticatedEnrol = "UpdateAllowUnauthenticatedEnrol";
public const string UpdateDetailACAdapter = "UpdateDetailACAdapter";
public const string UpdateDetailBattery = "UpdateDetailBattery";
public const string Decommission = "Decommission";
public const string Recommission = "Recommission";
public const string Delete = "Delete";
@@ -3793,6 +3801,16 @@ namespace Disco.Web.Areas.API.Controllers
public readonly string DetailACAdapter = "DetailACAdapter";
public readonly string redirect = "redirect";
}
static readonly ActionParamsClass_UpdateDetailBattery s_params_UpdateDetailBattery = new ActionParamsClass_UpdateDetailBattery();
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public ActionParamsClass_UpdateDetailBattery UpdateDetailBatteryParams { get { return s_params_UpdateDetailBattery; } }
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public class ActionParamsClass_UpdateDetailBattery
{
public readonly string id = "id";
public readonly string DetailBattery = "DetailBattery";
public readonly string redirect = "redirect";
}
static readonly ActionParamsClass_Decommission s_params_Decommission = new ActionParamsClass_Decommission();
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public ActionParamsClass_Decommission DecommissionParams { get { return s_params_Decommission; } }
@@ -4046,6 +4064,18 @@ namespace Disco.Web.Areas.API.Controllers
return callInfo;
}
partial void UpdateDetailBatteryOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string id, string DetailBattery, bool redirect);
public override System.Web.Mvc.ActionResult UpdateDetailBattery(string id, string DetailBattery, bool redirect)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateDetailBattery);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "DetailBattery", DetailBattery);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
UpdateDetailBatteryOverride(callInfo, id, DetailBattery, redirect);
return callInfo;
}
partial void DecommissionOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string id, int Reason, bool redirect);
public override System.Web.Mvc.ActionResult Decommission(string id, int Reason, bool redirect)
@@ -38,6 +38,23 @@
}
</td>
</tr>
<tr>
<th>Battery</th>
<td>@if (canConfig)
{
@Html.TextBox("DeviceDetail_Battery", Model.Device.DeviceDetails.Battery()) @AjaxHelpers.AjaxSave() @AjaxHelpers.AjaxLoader()
<script>
$(function () {
document.DiscoFunctions.PropertyChangeHelper($('#DeviceDetail_Battery'), 'Unknown', '@Url.Action(MVC.API.Device.UpdateDetailBattery(Model.Device.SerialNumber, null))', 'DetailBattery');
});
</script>
}
else
{
@(Model.Device.DeviceDetails.Battery() ?? "Unknown")
}
</td>
</tr>
</tbody>
</table>
</div>
@@ -2,7 +2,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.34011
// Runtime Version:4.0.30319.34014
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -188,6 +188,95 @@ WriteLiteral("\', \'DetailACAdapter\');\r\n });\r\n
}
#line default
#line hidden
WriteLiteral(" </td>\r\n </tr>\r\n <tr>\r\n " +
" <th>Battery</th>\r\n <td>");
#line 43 "..\..\Views\Device\DeviceParts\_Details.cshtml"
if (canConfig)
{
#line default
#line hidden
#line 45 "..\..\Views\Device\DeviceParts\_Details.cshtml"
Write(Html.TextBox("DeviceDetail_Battery", Model.Device.DeviceDetails.Battery()));
#line default
#line hidden
#line 45 "..\..\Views\Device\DeviceParts\_Details.cshtml"
#line default
#line hidden
#line 45 "..\..\Views\Device\DeviceParts\_Details.cshtml"
Write(AjaxHelpers.AjaxSave());
#line default
#line hidden
#line 45 "..\..\Views\Device\DeviceParts\_Details.cshtml"
#line default
#line hidden
#line 45 "..\..\Views\Device\DeviceParts\_Details.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
#line 45 "..\..\Views\Device\DeviceParts\_Details.cshtml"
#line default
#line hidden
WriteLiteral(" <script>\r\n $(function () {\r\n " +
" document.DiscoFunctions.PropertyChangeHelper($(\'#D" +
"eviceDetail_Battery\'), \'Unknown\', \'");
#line 48 "..\..\Views\Device\DeviceParts\_Details.cshtml"
Write(Url.Action(MVC.API.Device.UpdateDetailBattery(Model.Device.SerialNumber, null)));
#line default
#line hidden
WriteLiteral("\', \'DetailBattery\');\r\n });\r\n </" +
"script>\r\n");
#line 51 "..\..\Views\Device\DeviceParts\_Details.cshtml"
}
else
{
#line default
#line hidden
#line 54 "..\..\Views\Device\DeviceParts\_Details.cshtml"
Write(Model.Device.DeviceDetails.Battery() ?? "Unknown");
#line default
#line hidden
#line 54 "..\..\Views\Device\DeviceParts\_Details.cshtml"
}
#line default
#line hidden
WriteLiteral(" </td>\r\n </tr>\r\n </tbody>\r\n <" +
+6
View File
@@ -32,6 +32,12 @@
</div>
</td>
</tr>
<tr>
<th>&nbsp;</th>
<td>
@Html.CheckBoxFor(m => m.Options.ExcelCsvFormat) <label for="Options_ExcelCsvFormat">Microsoft Excel CSV Format</label>
</td>
</tr>
</table>
</div>
<div id="Devices_Export_Fields" class="form" style="width: 530px; margin-top: 15px;">
+82 -65
View File
@@ -166,7 +166,24 @@ WriteLiteral(" ");
#line default
#line hidden
WriteLiteral("\r\n </div>\r\n </td>\r\n </tr" +
">\r\n </table>\r\n </div>\r\n");
">\r\n <tr>\r\n <th>&nbsp;</th>\r\n " +
" <td>\r\n");
WriteLiteral(" ");
#line 38 "..\..\Views\Device\Export.cshtml"
Write(Html.CheckBoxFor(m => m.Options.ExcelCsvFormat));
#line default
#line hidden
WriteLiteral(" <label");
WriteLiteral(" for=\"Options_ExcelCsvFormat\"");
WriteLiteral(">Microsoft Excel CSV Format</label>\r\n </td>\r\n <" +
"/tr>\r\n </table>\r\n </div>\r\n");
WriteLiteral(" <div");
@@ -185,13 +202,13 @@ WriteLiteral(" href=\"#\"");
WriteLiteral(">(Defaults)</a></h2>\r\n <table>\r\n");
#line 40 "..\..\Views\Device\Export.cshtml"
#line 46 "..\..\Views\Device\Export.cshtml"
#line default
#line hidden
#line 40 "..\..\Views\Device\Export.cshtml"
#line 46 "..\..\Views\Device\Export.cshtml"
foreach (var optionGroup in optionGroups)
{
var optionFields = optionGroup.ToList();
@@ -209,7 +226,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" ");
#line 46 "..\..\Views\Device\Export.cshtml"
#line 52 "..\..\Views\Device\Export.cshtml"
Write(optionGroup.Key);
@@ -218,13 +235,13 @@ WriteLiteral(" ");
WriteLiteral("\r\n");
#line 47 "..\..\Views\Device\Export.cshtml"
#line 53 "..\..\Views\Device\Export.cshtml"
#line default
#line hidden
#line 47 "..\..\Views\Device\Export.cshtml"
#line 53 "..\..\Views\Device\Export.cshtml"
if (optionFields.Count > 2)
{
@@ -252,7 +269,7 @@ WriteLiteral(" href=\"#\"");
WriteLiteral(">NONE</a></span>\r\n");
#line 50 "..\..\Views\Device\Export.cshtml"
#line 56 "..\..\Views\Device\Export.cshtml"
}
@@ -279,13 +296,13 @@ WriteLiteral(" class=\"none\"");
WriteLiteral(">\r\n");
#line 58 "..\..\Views\Device\Export.cshtml"
#line 64 "..\..\Views\Device\Export.cshtml"
#line default
#line hidden
#line 58 "..\..\Views\Device\Export.cshtml"
#line 64 "..\..\Views\Device\Export.cshtml"
foreach (var optionItem in optionFields.Take(itemsPerColumn))
{
@@ -294,40 +311,40 @@ WriteLiteral(">\r\n");
#line hidden
WriteLiteral(" <li");
WriteAttribute("title", Tuple.Create(" title=\"", 3553), Tuple.Create("\"", 3584)
WriteAttribute("title", Tuple.Create(" title=\"", 3833), Tuple.Create("\"", 3864)
#line 60 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 3561), Tuple.Create<System.Object, System.Int32>(optionItem.Description
#line 66 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 3841), Tuple.Create<System.Object, System.Int32>(optionItem.Description
#line default
#line hidden
, 3561), false)
, 3841), false)
);
WriteLiteral(">\r\n <input");
WriteLiteral(" type=\"checkbox\"");
WriteAttribute("id", Tuple.Create(" id=\"", 3666), Tuple.Create("\"", 3703)
, Tuple.Create(Tuple.Create("", 3671), Tuple.Create("Options_", 3671), true)
WriteAttribute("id", Tuple.Create(" id=\"", 3946), Tuple.Create("\"", 3983)
, Tuple.Create(Tuple.Create("", 3951), Tuple.Create("Options_", 3951), true)
#line 61 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 3679), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line 67 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 3959), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line default
#line hidden
, 3679), false)
, 3959), false)
);
WriteAttribute("name", Tuple.Create(" name=\"", 3704), Tuple.Create("\"", 3743)
, Tuple.Create(Tuple.Create("", 3711), Tuple.Create("Options.", 3711), true)
WriteAttribute("name", Tuple.Create(" name=\"", 3984), Tuple.Create("\"", 4023)
, Tuple.Create(Tuple.Create("", 3991), Tuple.Create("Options.", 3991), true)
#line 61 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 3719), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line 67 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 3999), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line default
#line hidden
, 3719), false)
, 3999), false)
);
WriteLiteral(" value=\"true\"");
@@ -335,7 +352,7 @@ WriteLiteral(" value=\"true\"");
WriteLiteral(" ");
#line 61 "..\..\Views\Device\Export.cshtml"
#line 67 "..\..\Views\Device\Export.cshtml"
Write(((bool)optionItem.Model) ? "checked " : null);
@@ -343,21 +360,21 @@ WriteLiteral(" ");
#line hidden
WriteLiteral("/><label");
WriteAttribute("for", Tuple.Create(" for=\"", 3813), Tuple.Create("\"", 3851)
, Tuple.Create(Tuple.Create("", 3819), Tuple.Create("Options_", 3819), true)
WriteAttribute("for", Tuple.Create(" for=\"", 4093), Tuple.Create("\"", 4131)
, Tuple.Create(Tuple.Create("", 4099), Tuple.Create("Options_", 4099), true)
#line 61 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 3827), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line 67 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4107), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line default
#line hidden
, 3827), false)
, 4107), false)
);
WriteLiteral(">");
#line 61 "..\..\Views\Device\Export.cshtml"
#line 67 "..\..\Views\Device\Export.cshtml"
Write(optionItem.DisplayName);
@@ -366,7 +383,7 @@ WriteLiteral(">");
WriteLiteral("</label></li>\r\n");
#line 62 "..\..\Views\Device\Export.cshtml"
#line 68 "..\..\Views\Device\Export.cshtml"
}
@@ -384,13 +401,13 @@ WriteLiteral(" class=\"none\"");
WriteLiteral(">\r\n");
#line 67 "..\..\Views\Device\Export.cshtml"
#line 73 "..\..\Views\Device\Export.cshtml"
#line default
#line hidden
#line 67 "..\..\Views\Device\Export.cshtml"
#line 73 "..\..\Views\Device\Export.cshtml"
foreach (var optionItem in optionFields.Skip(itemsPerColumn))
{
@@ -399,40 +416,40 @@ WriteLiteral(">\r\n");
#line hidden
WriteLiteral(" <li");
WriteAttribute("title", Tuple.Create(" title=\"", 4386), Tuple.Create("\"", 4417)
WriteAttribute("title", Tuple.Create(" title=\"", 4666), Tuple.Create("\"", 4697)
#line 69 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4394), Tuple.Create<System.Object, System.Int32>(optionItem.Description
#line 75 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4674), Tuple.Create<System.Object, System.Int32>(optionItem.Description
#line default
#line hidden
, 4394), false)
, 4674), false)
);
WriteLiteral(">\r\n <input");
WriteLiteral(" type=\"checkbox\"");
WriteAttribute("id", Tuple.Create(" id=\"", 4499), Tuple.Create("\"", 4536)
, Tuple.Create(Tuple.Create("", 4504), Tuple.Create("Options_", 4504), true)
WriteAttribute("id", Tuple.Create(" id=\"", 4779), Tuple.Create("\"", 4816)
, Tuple.Create(Tuple.Create("", 4784), Tuple.Create("Options_", 4784), true)
#line 70 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4512), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line 76 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4792), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line default
#line hidden
, 4512), false)
, 4792), false)
);
WriteAttribute("name", Tuple.Create(" name=\"", 4537), Tuple.Create("\"", 4576)
, Tuple.Create(Tuple.Create("", 4544), Tuple.Create("Options.", 4544), true)
WriteAttribute("name", Tuple.Create(" name=\"", 4817), Tuple.Create("\"", 4856)
, Tuple.Create(Tuple.Create("", 4824), Tuple.Create("Options.", 4824), true)
#line 70 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4552), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line 76 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4832), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line default
#line hidden
, 4552), false)
, 4832), false)
);
WriteLiteral(" value=\"true\"");
@@ -440,7 +457,7 @@ WriteLiteral(" value=\"true\"");
WriteLiteral(" ");
#line 70 "..\..\Views\Device\Export.cshtml"
#line 76 "..\..\Views\Device\Export.cshtml"
Write(((bool)optionItem.Model) ? "checked " : null);
@@ -448,21 +465,21 @@ WriteLiteral(" ");
#line hidden
WriteLiteral("/><label");
WriteAttribute("for", Tuple.Create(" for=\"", 4646), Tuple.Create("\"", 4684)
, Tuple.Create(Tuple.Create("", 4652), Tuple.Create("Options_", 4652), true)
WriteAttribute("for", Tuple.Create(" for=\"", 4926), Tuple.Create("\"", 4964)
, Tuple.Create(Tuple.Create("", 4932), Tuple.Create("Options_", 4932), true)
#line 70 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4660), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line 76 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 4940), Tuple.Create<System.Object, System.Int32>(optionItem.PropertyName
#line default
#line hidden
, 4660), false)
, 4940), false)
);
WriteLiteral(">");
#line 70 "..\..\Views\Device\Export.cshtml"
#line 76 "..\..\Views\Device\Export.cshtml"
Write(optionItem.DisplayName);
@@ -471,7 +488,7 @@ WriteLiteral(">");
WriteLiteral("</label></li>\r\n");
#line 71 "..\..\Views\Device\Export.cshtml"
#line 77 "..\..\Views\Device\Export.cshtml"
}
@@ -487,7 +504,7 @@ WriteLiteral(@" </ul>
");
#line 79 "..\..\Views\Device\Export.cshtml"
#line 85 "..\..\Views\Device\Export.cshtml"
}
@@ -543,7 +560,7 @@ WriteLiteral(" <script>\r\n $(function () {\r\n
"pt>\r\n");
#line 165 "..\..\Views\Device\Export.cshtml"
#line 171 "..\..\Views\Device\Export.cshtml"
}
@@ -552,7 +569,7 @@ WriteLiteral(" <script>\r\n $(function () {\r\n
WriteLiteral("</div>\r\n");
#line 167 "..\..\Views\Device\Export.cshtml"
#line 173 "..\..\Views\Device\Export.cshtml"
if (Model.ExportSessionId != null)
{
@@ -570,7 +587,7 @@ WriteLiteral(" title=\"Export Devices\"");
WriteLiteral(">\r\n <h4>");
#line 170 "..\..\Views\Device\Export.cshtml"
#line 176 "..\..\Views\Device\Export.cshtml"
Write(Model.ExportSessionResult.RecordCount);
@@ -579,7 +596,7 @@ WriteLiteral(">\r\n <h4>");
WriteLiteral(" record");
#line 170 "..\..\Views\Device\Export.cshtml"
#line 176 "..\..\Views\Device\Export.cshtml"
Write(Model.ExportSessionResult.RecordCount != 1 ? "s" : null);
@@ -587,14 +604,14 @@ WriteLiteral(" record");
#line hidden
WriteLiteral(" were successfully exported.</h4>\r\n <a");
WriteAttribute("href", Tuple.Create(" href=\"", 9027), Tuple.Create("\"", 9099)
WriteAttribute("href", Tuple.Create(" href=\"", 9307), Tuple.Create("\"", 9379)
#line 171 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 9034), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Device.ExportRetrieve(Model.ExportSessionId))
#line 177 "..\..\Views\Device\Export.cshtml"
, Tuple.Create(Tuple.Create("", 9314), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.Device.ExportRetrieve(Model.ExportSessionId))
#line default
#line hidden
, 9034), false)
, 9314), false)
);
WriteLiteral(" class=\"button\"");
@@ -620,7 +637,7 @@ WriteLiteral(@" <script>
");
#line 185 "..\..\Views\Device\Export.cshtml"
#line 191 "..\..\Views\Device\Export.cshtml"
}