Bug Fix: Minor permission enforcements

Also some UI tweaks.
This commit is contained in:
Gary Sharp
2014-02-13 15:27:04 +11:00
parent a6a65c54c7
commit 2ac3a9bdd3
9 changed files with 445 additions and 223 deletions
@@ -58,7 +58,7 @@ namespace Disco.Web.Areas.Config.Controllers
else
{
// List Index
var jqs = Database.JobQueues.ToList()
var jqs = Database.JobQueues.OrderBy(jq => jq.Name).ToList()
.Select(jq => JobQueueToken.FromJobQueue(jq)).Cast<IJobQueueToken>().ToList();
var m = new Models.JobQueue.IndexModel()
@@ -15,11 +15,11 @@
<tbody>
<tr>
<th>LAN MAC Address</th>
<td>@(Model.Device.DeviceDetails.LanMacAddress() ?? "Unknown")</td>
<td class="code">@(Model.Device.DeviceDetails.LanMacAddress() ?? "Unknown")</td>
</tr>
<tr>
<th>WLAN MAC Address</th>
<td>@(Model.Device.DeviceDetails.WLanMacAddress() ?? "Unknown")</td>
<td class="code">@(Model.Device.DeviceDetails.WLanMacAddress() ?? "Unknown")</td>
</tr>
<tr>
<th>AC Adapter</th>
@@ -29,6 +29,7 @@ namespace Disco.Web.Views.Device.DeviceParts
using Disco;
using Disco.BI.Extensions;
using Disco.Models.Repository;
using Disco.Services;
using Disco.Services.Authorization;
using Disco.Services.Web;
using Disco.Web;
@@ -73,21 +74,29 @@ WriteLiteral(">\r\n <table");
WriteLiteral(" class=\"tableData\"");
WriteLiteral(">\r\n <tbody>\r\n <tr>\r\n <th>LAN MAC Add" +
"ress</th>\r\n <td>");
"ress</th>\r\n <td");
WriteLiteral(" class=\"code\"");
WriteLiteral(">");
#line 18 "..\..\Views\Device\DeviceParts\_Details.cshtml"
Write(Model.Device.DeviceDetails.LanMacAddress() ?? "Unknown");
Write(Model.Device.DeviceDetails.LanMacAddress() ?? "Unknown");
#line default
#line hidden
WriteLiteral("</td>\r\n </tr>\r\n <tr>\r\n <th>WLAN " +
"MAC Address</th>\r\n <td>");
"MAC Address</th>\r\n <td");
WriteLiteral(" class=\"code\"");
WriteLiteral(">");
#line 22 "..\..\Views\Device\DeviceParts\_Details.cshtml"
Write(Model.Device.DeviceDetails.WLanMacAddress() ?? "Unknown");
Write(Model.Device.DeviceDetails.WLanMacAddress() ?? "Unknown");
#line default
@@ -235,11 +235,11 @@
</td>
</tr>
</table>
<div id="dialogUpload" title="Upload Attachment">
<div id="dialogUpload" class="dialog" title="Upload Attachment">
<div id="silverlightHostUploadAttachment">
</div>
</div>
<div id="dialogRemoveAttachment" title="Remove this Attachment?">
<div id="dialogRemoveAttachment" class="dialog" title="Remove this Attachment?">
<p>
<i class="fa fa-exclamation-triangle fa-lg"></i>&nbsp;Are you sure?
</p>
@@ -706,6 +706,8 @@ WriteLiteral(@"
WriteLiteral(" id=\"dialogUpload\"");
WriteLiteral(" class=\"dialog\"");
WriteLiteral(" title=\"Upload Attachment\"");
WriteLiteral(">\r\n <div");
@@ -716,6 +718,8 @@ WriteLiteral(">\r\n </div>\r\n </div>\r\n <div");
WriteLiteral(" id=\"dialogRemoveAttachment\"");
WriteLiteral(" class=\"dialog\"");
WriteLiteral(" title=\"Remove this Attachment?\"");
WriteLiteral(">\r\n <p>\r\n <i");
@@ -32,7 +32,7 @@
}
else
{
<span class="small discreet">@Model.Device.AssetNumber</span>
<span class="small discreet">@(Model.Device.AssetNumber ?? "Unknown")</span>
}
</td>
</tr>
@@ -45,7 +45,7 @@
}
else
{
<span class="small discreet">@Model.Device.Location</span>
<span class="small discreet">@(Model.Device.Location ?? "Unknown")</span>
}
</td>
</tr>
@@ -175,7 +175,16 @@
@if (assignedUser != null)
{
<div id="Device_Show_User">
<div id="Device_Show_User_DisplayName" title="Display Name">@Html.ActionLink(assignedUser.DisplayName, MVC.User.Show(assignedUser.Id))</div>
<div id="Device_Show_User_DisplayName" title="Display Name">
@if (Authorization.Has(Claims.User.Show))
{
@Html.ActionLink(assignedUser.DisplayName, MVC.User.Show(assignedUser.Id))
}
else
{
@assignedUser.DisplayName
}
</div>
<div id="Device_Show_User_Id" title="Id">@assignedUser.Id</div>
@if (Authorization.Has(Claims.User.ShowDetails))
{
@@ -222,7 +231,14 @@
<td id="Device_Show_Policies" rowspan="2">
<div>
<div id="Device_Show_Policies_Profile">
<h2 title="Device Profile">@Html.ActionLink(Model.Device.DeviceProfile.Name, MVC.Config.DeviceProfile.Index(Model.Device.DeviceProfileId))</h2>
<h2 title="Device Profile">@if (Authorization.Has(Claims.Config.DeviceProfile.Show))
{
@Html.ActionLink(Model.Device.DeviceProfile.Name, MVC.Config.DeviceProfile.Index(Model.Device.DeviceProfileId))
}
else
{
@Model.Device.DeviceProfile.Name
}</h2>
<table class="none verticalHeadings">
<tr>
<td><span title="Distribution Type">Distribution:</span>
@@ -330,7 +346,14 @@
<div id="Device_Show_Policies_Batch" class="status">
@if (Model.Device.DeviceBatchId.HasValue)
{
<h2 title="Device Batch">@Html.ActionLink(Model.Device.DeviceBatch.Name, MVC.Config.DeviceBatch.Index(Model.Device.DeviceBatchId.Value))</h2>
<h2 title="Device Batch">@if (Authorization.Has(Claims.Config.DeviceBatch.Show))
{
@Html.ActionLink(Model.Device.DeviceBatch.Name, MVC.Config.DeviceBatch.Index(Model.Device.DeviceBatchId.Value))
}
else
{
@Model.Device.DeviceBatch.Name
}</h2>
<table class="none verticalHeadings">
<tr>
<td><span title="Purchased Date">Purchased:</span>
@@ -442,7 +465,14 @@
<td id="Device_Show_Aspects" rowspan="2">
<div>
<div id="Device_Show_Aspects_Model" class="clearfix">
<h2 id="Device_Show_Aspects_Model_Description" title="Model Description">@Html.ActionLink(Model.Device.DeviceModel.ToString(), MVC.Config.DeviceModel.Index(Model.Device.DeviceModelId))</h2>
<h2 id="Device_Show_Aspects_Model_Description" title="Model Description">@if (Authorization.Has(Claims.Config.DeviceModel.Show))
{
@Html.ActionLink(Model.Device.DeviceModel.ToString(), MVC.Config.DeviceModel.Index(Model.Device.DeviceModelId))
}
else
{
@Model.Device.DeviceModel.ToString()
}</h2>
<img id="Device_Show_Aspects_Model_Image" alt="Model Image" src="@Url.Action(MVC.API.DeviceModel.Image(Model.Device.DeviceModelId, Model.Device.DeviceModel.ImageHash()))" />
</div>
</div>
File diff suppressed because it is too large Load Diff
+10 -1
View File
@@ -1,6 +1,7 @@
@model IEnumerable<Disco.Models.Services.Searching.DeviceSearchResultItem>
@{
var canShowDevices = Authorization.Has(Claims.Device.Show);
var canShowUsers = Authorization.Has(Claims.User.Show);
}
<div class="genericData deviceTable">
@if (Model != null && Model.Count() > 0)
@@ -70,7 +71,15 @@
}
else
{
<span>@item.AssignedUserDescription</span>
<span>@if (canShowUsers)
{
@Html.ActionLink(item.AssignedUserDescription, MVC.User.Show(item.AssignedUserId))
}
else
{
@item.AssignedUserDescription
}
</span>
}
</td>
<td>
@@ -48,6 +48,7 @@ namespace Disco.Web.Views.Device
#line 2 "..\..\Views\Device\_DeviceTable.cshtml"
var canShowDevices = Authorization.Has(Claims.Device.Show);
var canShowUsers = Authorization.Has(Claims.User.Show);
#line default
@@ -59,13 +60,13 @@ WriteLiteral(" class=\"genericData deviceTable\"");
WriteLiteral(">\r\n");
#line 6 "..\..\Views\Device\_DeviceTable.cshtml"
#line 7 "..\..\Views\Device\_DeviceTable.cshtml"
#line default
#line hidden
#line 6 "..\..\Views\Device\_DeviceTable.cshtml"
#line 7 "..\..\Views\Device\_DeviceTable.cshtml"
if (Model != null && Model.Count() > 0)
{
@@ -99,13 +100,13 @@ WriteLiteral(@">
");
#line 28 "..\..\Views\Device\_DeviceTable.cshtml"
#line 29 "..\..\Views\Device\_DeviceTable.cshtml"
#line default
#line hidden
#line 28 "..\..\Views\Device\_DeviceTable.cshtml"
#line 29 "..\..\Views\Device\_DeviceTable.cshtml"
foreach (var item in Model)
{
@@ -114,40 +115,40 @@ WriteLiteral(@">
#line hidden
WriteLiteral(" <tr");
WriteAttribute("class", Tuple.Create(" class=\"", 904), Tuple.Create("\"", 981)
WriteAttribute("class", Tuple.Create(" class=\"", 965), Tuple.Create("\"", 1042)
#line 30 "..\..\Views\Device\_DeviceTable.cshtml"
, Tuple.Create(Tuple.Create("", 912), Tuple.Create<System.Object, System.Int32>(item.DecommissionedDate.HasValue ? "decommissioned" : string.Empty
#line 31 "..\..\Views\Device\_DeviceTable.cshtml"
, Tuple.Create(Tuple.Create("", 973), Tuple.Create<System.Object, System.Int32>(item.DecommissionedDate.HasValue ? "decommissioned" : string.Empty
#line default
#line hidden
, 912), false)
, 973), false)
);
WriteLiteral(">\r\n <td>\r\n");
#line 32 "..\..\Views\Device\_DeviceTable.cshtml"
#line 33 "..\..\Views\Device\_DeviceTable.cshtml"
#line default
#line hidden
#line 32 "..\..\Views\Device\_DeviceTable.cshtml"
#line 33 "..\..\Views\Device\_DeviceTable.cshtml"
if (canShowDevices)
{
#line default
#line hidden
#line 33 "..\..\Views\Device\_DeviceTable.cshtml"
#line 34 "..\..\Views\Device\_DeviceTable.cshtml"
Write(Html.ActionLink(item.Id, MVC.Device.Show(item.Id)));
#line default
#line hidden
#line 33 "..\..\Views\Device\_DeviceTable.cshtml"
#line 34 "..\..\Views\Device\_DeviceTable.cshtml"
}
else
{
@@ -155,14 +156,14 @@ WriteLiteral(">\r\n <td>\r\n");
#line default
#line hidden
#line 35 "..\..\Views\Device\_DeviceTable.cshtml"
#line 36 "..\..\Views\Device\_DeviceTable.cshtml"
Write(item.Id);
#line default
#line hidden
#line 35 "..\..\Views\Device\_DeviceTable.cshtml"
#line 36 "..\..\Views\Device\_DeviceTable.cshtml"
}
@@ -173,7 +174,7 @@ WriteLiteral(" </td>\r\n <td>\r\n"
WriteLiteral(" ");
#line 38 "..\..\Views\Device\_DeviceTable.cshtml"
#line 39 "..\..\Views\Device\_DeviceTable.cshtml"
Write(item.AssetNumber);
@@ -182,13 +183,13 @@ WriteLiteral(" ");
WriteLiteral("\r\n");
#line 39 "..\..\Views\Device\_DeviceTable.cshtml"
#line 40 "..\..\Views\Device\_DeviceTable.cshtml"
#line default
#line hidden
#line 39 "..\..\Views\Device\_DeviceTable.cshtml"
#line 40 "..\..\Views\Device\_DeviceTable.cshtml"
if (item.DecommissionedDate.HasValue)
{
@@ -203,7 +204,7 @@ WriteLiteral(">(Decommissioned\r\n");
WriteLiteral(" ");
#line 41 "..\..\Views\Device\_DeviceTable.cshtml"
#line 42 "..\..\Views\Device\_DeviceTable.cshtml"
Write(CommonHelpers.FriendlyDate(item.DecommissionedDate.Value));
@@ -212,7 +213,7 @@ WriteLiteral(" ");
WriteLiteral(")</span> ");
#line 41 "..\..\Views\Device\_DeviceTable.cshtml"
#line 42 "..\..\Views\Device\_DeviceTable.cshtml"
}
@@ -221,13 +222,13 @@ WriteLiteral(")</span> ");
WriteLiteral(" </td>\r\n <td>\r\n");
#line 44 "..\..\Views\Device\_DeviceTable.cshtml"
#line 45 "..\..\Views\Device\_DeviceTable.cshtml"
#line default
#line hidden
#line 44 "..\..\Views\Device\_DeviceTable.cshtml"
#line 45 "..\..\Views\Device\_DeviceTable.cshtml"
if (string.IsNullOrWhiteSpace(item.ComputerName))
{
@@ -241,7 +242,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">Unknown</span>\r\n");
#line 47 "..\..\Views\Device\_DeviceTable.cshtml"
#line 48 "..\..\Views\Device\_DeviceTable.cshtml"
}
else
{
@@ -250,14 +251,14 @@ WriteLiteral(">Unknown</span>\r\n");
#line default
#line hidden
#line 50 "..\..\Views\Device\_DeviceTable.cshtml"
#line 51 "..\..\Views\Device\_DeviceTable.cshtml"
Write(item.ComputerName);
#line default
#line hidden
#line 50 "..\..\Views\Device\_DeviceTable.cshtml"
#line 51 "..\..\Views\Device\_DeviceTable.cshtml"
}
@@ -267,13 +268,13 @@ WriteLiteral(">Unknown</span>\r\n");
WriteLiteral(" </td>\r\n <td>\r\n");
#line 54 "..\..\Views\Device\_DeviceTable.cshtml"
#line 55 "..\..\Views\Device\_DeviceTable.cshtml"
#line default
#line hidden
#line 54 "..\..\Views\Device\_DeviceTable.cshtml"
#line 55 "..\..\Views\Device\_DeviceTable.cshtml"
if (item.DeviceModelDescription != null)
{
@@ -283,7 +284,7 @@ WriteLiteral(" </td>\r\n <td>\r\n"
WriteLiteral(" <span>");
#line 56 "..\..\Views\Device\_DeviceTable.cshtml"
#line 57 "..\..\Views\Device\_DeviceTable.cshtml"
Write(item.DeviceModelDescription);
@@ -292,7 +293,7 @@ WriteLiteral(" <span>");
WriteLiteral("</span>\r\n");
#line 57 "..\..\Views\Device\_DeviceTable.cshtml"
#line 58 "..\..\Views\Device\_DeviceTable.cshtml"
}
else
{
@@ -307,7 +308,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">Unknown</span> \r\n");
#line 61 "..\..\Views\Device\_DeviceTable.cshtml"
#line 62 "..\..\Views\Device\_DeviceTable.cshtml"
}
@@ -318,7 +319,7 @@ WriteLiteral(" </td>\r\n <td>\r\n"
WriteLiteral(" ");
#line 64 "..\..\Views\Device\_DeviceTable.cshtml"
#line 65 "..\..\Views\Device\_DeviceTable.cshtml"
Write(item.DeviceProfileDescription);
@@ -327,13 +328,13 @@ WriteLiteral(" ");
WriteLiteral("\r\n </td>\r\n <td>\r\n");
#line 67 "..\..\Views\Device\_DeviceTable.cshtml"
#line 68 "..\..\Views\Device\_DeviceTable.cshtml"
#line default
#line hidden
#line 67 "..\..\Views\Device\_DeviceTable.cshtml"
#line 68 "..\..\Views\Device\_DeviceTable.cshtml"
if (string.IsNullOrEmpty(item.AssignedUserId))
{
@@ -347,7 +348,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">N/A</span> \r\n");
#line 70 "..\..\Views\Device\_DeviceTable.cshtml"
#line 71 "..\..\Views\Device\_DeviceTable.cshtml"
}
else
{
@@ -358,16 +359,49 @@ WriteLiteral(">N/A</span> \r\n");
WriteLiteral(" <span>");
#line 73 "..\..\Views\Device\_DeviceTable.cshtml"
Write(item.AssignedUserDescription);
#line 74 "..\..\Views\Device\_DeviceTable.cshtml"
if (canShowUsers)
{
#line default
#line hidden
#line 76 "..\..\Views\Device\_DeviceTable.cshtml"
Write(Html.ActionLink(item.AssignedUserDescription, MVC.User.Show(item.AssignedUserId)));
#line default
#line hidden
WriteLiteral("</span>\r\n");
#line 76 "..\..\Views\Device\_DeviceTable.cshtml"
}
else
{
#line default
#line hidden
#line 80 "..\..\Views\Device\_DeviceTable.cshtml"
Write(item.AssignedUserDescription);
#line 74 "..\..\Views\Device\_DeviceTable.cshtml"
#line default
#line hidden
#line 80 "..\..\Views\Device\_DeviceTable.cshtml"
}
#line default
#line hidden
WriteLiteral(" </span>\r\n");
#line 83 "..\..\Views\Device\_DeviceTable.cshtml"
}
@@ -378,7 +412,7 @@ WriteLiteral(" </td>\r\n <td>\r\n"
WriteLiteral(" ");
#line 77 "..\..\Views\Device\_DeviceTable.cshtml"
#line 86 "..\..\Views\Device\_DeviceTable.cshtml"
Write(item.JobCount);
@@ -387,7 +421,7 @@ WriteLiteral(" ");
WriteLiteral("\r\n </td>\r\n </tr>\r\n");
#line 80 "..\..\Views\Device\_DeviceTable.cshtml"
#line 89 "..\..\Views\Device\_DeviceTable.cshtml"
}
@@ -396,7 +430,7 @@ WriteLiteral("\r\n </td>\r\n </tr>\r\n
WriteLiteral(" </tbody>\r\n </table>\r\n");
#line 83 "..\..\Views\Device\_DeviceTable.cshtml"
#line 92 "..\..\Views\Device\_DeviceTable.cshtml"
}
else
{
@@ -411,7 +445,7 @@ WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(">No Devices Found</span>\r\n");
#line 87 "..\..\Views\Device\_DeviceTable.cshtml"
#line 96 "..\..\Views\Device\_DeviceTable.cshtml"
}