Feature #20: Assigned User Is Local Admin

Device Profile setting which specifies whether assigned users are set as
Local Administrators. Default is true (which maintains compatibility).
This commit is contained in:
Gary Sharp committed 2013-10-28 18:16:22 +11:00
1 parent c13d13c91c
commit 10a38af08b
12 files changed
+668 -287

No files matched your search

+1
View File
@@ -523,6 +523,7 @@ namespace Disco.BI.DeviceBI
ActiveDirectoryUserAccount AssignedUserInfo = ActiveDirectory.GetUserAccount(RepoDevice.AssignedUser.Id); ActiveDirectoryUserAccount AssignedUserInfo = ActiveDirectory.GetUserAccount(RepoDevice.AssignedUser.Id);
EnrolmentLog.LogSessionTaskAssigningUser(sessionId, RepoDevice.SerialNumber, AssignedUserInfo.DisplayName, AssignedUserInfo.SamAccountName, AssignedUserInfo.Domain, AssignedUserInfo.SecurityIdentifier); EnrolmentLog.LogSessionTaskAssigningUser(sessionId, RepoDevice.SerialNumber, AssignedUserInfo.DisplayName, AssignedUserInfo.SamAccountName, AssignedUserInfo.Domain, AssignedUserInfo.SecurityIdentifier);
response.AllowBootstrapperUninstall = true; response.AllowBootstrapperUninstall = true;
response.DeviceAssignedUserIsLocalAdmin = RepoDevice.DeviceProfile.AssignedUserLocalAdmin;
response.DeviceAssignedUserUsername = AssignedUserInfo.SamAccountName; response.DeviceAssignedUserUsername = AssignedUserInfo.SamAccountName;
response.DeviceAssignedUserDomain = AssignedUserInfo.Domain; response.DeviceAssignedUserDomain = AssignedUserInfo.Domain;
response.DeviceAssignedUserName = AssignedUserInfo.DisplayName; response.DeviceAssignedUserName = AssignedUserInfo.DisplayName;
+5 -3
View File
@@ -102,7 +102,8 @@ namespace Disco.Client.Extensions
// Flush Logged-On History // Flush Logged-On History
if (!string.IsNullOrEmpty(enrolResponse.DeviceDomainName)) if (!string.IsNullOrEmpty(enrolResponse.DeviceDomainName))
{ {
using (RegistryKey regWinlogon = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true)){ using (RegistryKey regWinlogon = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true))
{
regWinlogon.SetValue("DefaultDomainName", enrolResponse.DeviceDomainName, RegistryValueKind.String); regWinlogon.SetValue("DefaultDomainName", enrolResponse.DeviceDomainName, RegistryValueKind.String);
regWinlogon.SetValue("DefaultUserName", String.Empty, RegistryValueKind.String); regWinlogon.SetValue("DefaultUserName", String.Empty, RegistryValueKind.String);
} }
@@ -130,9 +131,10 @@ namespace Disco.Client.Extensions
// Only run task if Assigned User was specified // Only run task if Assigned User was specified
if (!string.IsNullOrWhiteSpace(enrolResponse.DeviceAssignedUserSID)) if (!string.IsNullOrWhiteSpace(enrolResponse.DeviceAssignedUserSID))
{ {
Presentation.UpdateStatus("Enrolling Device", string.Format(@"Configuring permissions for the device owner:{0}{1} ({2}\{3})", Environment.NewLine, enrolResponse.DeviceAssignedUserName, enrolResponse.DeviceAssignedUserDomain, enrolResponse.DeviceAssignedUserUsername), true, -1, 3000); Presentation.UpdateStatus("Enrolling Device", string.Format(@"Configuring the device owner:{0}{1} ({2}\{3})", Environment.NewLine, enrolResponse.DeviceAssignedUserName, enrolResponse.DeviceAssignedUserDomain, enrolResponse.DeviceAssignedUserUsername), true, -1, 3000);
Interop.LocalAuthentication.AddLocalGroupMembership("Administrators", enrolResponse.DeviceAssignedUserSID, enrolResponse.DeviceAssignedUserUsername, enrolResponse.DeviceAssignedUserDomain); if (enrolResponse.DeviceAssignedUserIsLocalAdmin)
Interop.LocalAuthentication.AddLocalGroupMembership("Administrators", enrolResponse.DeviceAssignedUserSID, enrolResponse.DeviceAssignedUserUsername, enrolResponse.DeviceAssignedUserDomain);
// Make Windows think this user was the last to logon // Make Windows think this user was the last to logon
using (RegistryKey regWinlogon = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true)) using (RegistryKey regWinlogon = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", true))
+8 -1
View File
@@ -118,6 +118,10 @@
<Compile Include="Migrations\201310010352238_DBv9.Designer.cs"> <Compile Include="Migrations\201310010352238_DBv9.Designer.cs">
<DependentUpon>201310010352238_DBv9.cs</DependentUpon> <DependentUpon>201310010352238_DBv9.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Migrations\201310280657528_DBv10.cs" />
<Compile Include="Migrations\201310280657528_DBv10.Designer.cs">
<DependentUpon>201310280657528_DBv10.cs</DependentUpon>
</Compile>
<Compile Include="Migrations\Configuration.cs" /> <Compile Include="Migrations\Configuration.cs" />
<Compile Include="Migrations\DiscoDataMigrator.cs" /> <Compile Include="Migrations\DiscoDataMigrator.cs" />
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
@@ -160,6 +164,9 @@
<EmbeddedResource Include="Migrations\201310010352238_DBv9.resx"> <EmbeddedResource Include="Migrations\201310010352238_DBv9.resx">
<DependentUpon>201310010352238_DBv9.cs</DependentUpon> <DependentUpon>201310010352238_DBv9.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Migrations\201310280657528_DBv10.resx">
<DependentUpon>201310280657528_DBv10.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx"> <EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator> <Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput> <LastGenOutput>Resources.Designer.cs</LastGenOutput>
@@ -173,7 +180,7 @@
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<ProjectExtensions> <ProjectExtensions>
<VisualStudio> <VisualStudio>
<UserProperties BuildVersion_BuildAction="Both" BuildVersion_UseGlobalSettings="False" BuildVersion_DetectChanges="False" BuildVersion_StartDate="2011/7/1" BuildVersion_BuildVersioningStyle="None.DeltaBaseYear.MonthAndDayStamp.TimeStamp" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_UpdateFileVersion="True" /> <UserProperties BuildVersion_UpdateFileVersion="True" BuildVersion_UpdateAssemblyVersion="True" BuildVersion_BuildVersioningStyle="None.DeltaBaseYear.MonthAndDayStamp.TimeStamp" BuildVersion_StartDate="2011/7/1" BuildVersion_DetectChanges="False" BuildVersion_UseGlobalSettings="False" BuildVersion_BuildAction="Both" />
</VisualStudio> </VisualStudio>
</ProjectExtensions> </ProjectExtensions>
<Import Project="$(SolutionDir)\.nuget\nuget.targets" /> <Import Project="$(SolutionDir)\.nuget\nuget.targets" />
+27
View File
@@ -0,0 +1,27 @@
// <auto-generated />
namespace Disco.Data.Migrations
{
using System.Data.Entity.Migrations;
using System.Data.Entity.Migrations.Infrastructure;
using System.Resources;
public sealed partial class DBv10 : IMigrationMetadata
{
private readonly ResourceManager Resources = new ResourceManager(typeof(DBv10));
string IMigrationMetadata.Id
{
get { return "201310280657528_DBv10"; }
}
string IMigrationMetadata.Source
{
get { return null; }
}
string IMigrationMetadata.Target
{
get { return Resources.GetString("Target"); }
}
}
}
@@ -0,0 +1,18 @@
namespace Disco.Data.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class DBv10 : DbMigration
{
public override void Up()
{
AddColumn("dbo.DeviceProfiles", "AssignedUserLocalAdmin", c => c.Boolean(nullable: false, defaultValue: true));
}
public override void Down()
{
DropColumn("dbo.DeviceProfiles", "AssignedUserLocalAdmin");
}
}
}
@@ -0,0 +1,123 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Target" xml:space="preserve">
<value>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 truncated
</data>
</root>
@@ -17,6 +17,8 @@ namespace Disco.Models.ClientServices
public string DeviceAssignedUserSID { get; set; } public string DeviceAssignedUserSID { get; set; }
public string DeviceAssignedUserUsername { get; set; } public string DeviceAssignedUserUsername { get; set; }
public bool DeviceAssignedUserIsLocalAdmin { get; set; }
public string OfflineDomainJoin { get; set; } public string OfflineDomainJoin { get; set; }
public string DeviceCertificate { get; set; } public string DeviceCertificate { get; set; }
@@ -43,6 +43,8 @@ namespace Disco.Models.Repository
// 2012-06-28 G# // 2012-06-28 G#
public bool ProvisionADAccount { get; set; } public bool ProvisionADAccount { get; set; }
public bool AssignedUserLocalAdmin { get; set; }
public virtual IList<Device> Devices { get; set; } public virtual IList<Device> Devices { get; set; }
public override string ToString() public override string ToString()
@@ -22,6 +22,7 @@ namespace Disco.Web.Areas.API.Controllers
const string pEnforceComputerNameConvention = "enforcecomputernameconvention"; const string pEnforceComputerNameConvention = "enforcecomputernameconvention";
const string pEnforceOrganisationalUnit = "enforceorganisationalunit"; const string pEnforceOrganisationalUnit = "enforceorganisationalunit";
const string pProvisionADAccount = "provisionadaccount"; const string pProvisionADAccount = "provisionadaccount";
const string pAssignedUserLocalAdmin = "assigneduserlocaladmin";
[DiscoAuthorize(Claims.Config.DeviceProfile.Configure)] [DiscoAuthorize(Claims.Config.DeviceProfile.Configure)]
public virtual ActionResult Update(int id, string key, string value = null, Nullable<bool> redirect = null) public virtual ActionResult Update(int id, string key, string value = null, Nullable<bool> redirect = null)
@@ -73,6 +74,9 @@ namespace Disco.Web.Areas.API.Controllers
case pProvisionADAccount: case pProvisionADAccount:
UpdateProvisionADAccount(deviceProfile, value); UpdateProvisionADAccount(deviceProfile, value);
break; break;
case pAssignedUserLocalAdmin:
UpdateAssignedUserLocalAdmin(deviceProfile, value);
break;
default: default:
throw new Exception("Invalid Update Key"); throw new Exception("Invalid Update Key");
} }
@@ -163,6 +167,12 @@ namespace Disco.Web.Areas.API.Controllers
return Update(id, pProvisionADAccount, ProvisionADAccount, redirect); return Update(id, pProvisionADAccount, ProvisionADAccount, redirect);
} }
[DiscoAuthorize(Claims.Config.DeviceProfile.Configure)]
public virtual ActionResult UpdateAssignedUserLocalAdmin(int id, string AssignedUserLocalAdmin = null, Nullable<bool> redirect = null)
{
return Update(id, pAssignedUserLocalAdmin, AssignedUserLocalAdmin, redirect);
}
#endregion #endregion
#region Update Properties #region Update Properties
@@ -317,6 +327,19 @@ namespace Disco.Web.Areas.API.Controllers
} }
throw new Exception("Invalid Boolean Value"); throw new Exception("Invalid Boolean Value");
} }
private void UpdateAssignedUserLocalAdmin(DeviceProfile deviceProfile, string AssignedUserLocalAdmin)
{
bool bValue;
if (bool.TryParse(AssignedUserLocalAdmin, out bValue))
{
deviceProfile.AssignedUserLocalAdmin = bValue;
Database.SaveChanges();
return;
}
throw new Exception("Invalid Boolean Value");
}
#endregion #endregion
[DiscoAuthorize(Claims.Config.DeviceProfile.Configure)] [DiscoAuthorize(Claims.Config.DeviceProfile.Configure)]
@@ -17,7 +17,7 @@
<div id="configurationDeviceProfileShow" class="form" style="width: 600px"> <div id="configurationDeviceProfileShow" class="form" style="width: 600px">
<table> <table>
<tr> <tr>
<th>Id: <th style="width: 230px;">Id:
</th> </th>
<td> <td>
@Html.DisplayFor(model => model.DeviceProfile.Id) @Html.DisplayFor(model => model.DeviceProfile.Id)
@@ -383,49 +383,14 @@
} }
} }
<div style="margin-top: 8px;"> <div style="margin-top: 8px;">
<label for="DeviceProfile_ProvisionADAccount">
Provision Active Directory Account:
</label>
@if (canConfig)
{
<input id="DeviceProfile_ProvisionADAccount" type="checkbox" @(Model.DeviceProfile.ProvisionADAccount ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty))/>
@AjaxHelpers.AjaxLoader()
<script type="text/javascript">
$(function () {
$('#DeviceProfile_ProvisionADAccount').click(function () {
var $this = $(this);
var $ajaxLoading = $this.next('.ajaxLoading').show();
var data = { ProvisionADAccount: $this.is(':checked') };
$.getJSON('@Url.Action(MVC.API.DeviceProfile.UpdateProvisionADAccount(Model.DeviceProfile.Id))', data, function (response, result) {
if (result != 'success' || response != 'OK') {
alert('Unable to change Provision AD Account:\n' + response);
$ajaxLoading.hide();
} else {
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
}
});
});
});
</script>
}
else
{
<input id="DeviceProfile_ProvisionADAccount" type="checkbox" @(Model.DeviceProfile.ProvisionADAccount ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)) disabled="disabled" />
}
</div>
<div style="margin-top: 8px;">
<label for="DeviceProfile_EnforceComputerNameConvention">
Enforce Naming Convention:
</label>
@if (canConfig) @if (canConfig)
{ {
<input id="DeviceProfile_EnforceComputerNameConvention" type="checkbox" @(Model.DeviceProfile.EnforceComputerNameConvention ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty))/> <input id="DeviceProfile_EnforceComputerNameConvention" type="checkbox" @(Model.DeviceProfile.EnforceComputerNameConvention ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty))/>
@AjaxHelpers.AjaxLoader()
<script type="text/javascript"> <script type="text/javascript">
$(function () { $(function () {
$('#DeviceProfile_EnforceComputerNameConvention').click(function () { $('#DeviceProfile_EnforceComputerNameConvention').click(function () {
var $this = $(this); var $this = $(this);
var $ajaxLoading = $this.next('.ajaxLoading').show(); var $ajaxLoading = $this.nextAll('.ajaxLoading').show();
var data = { EnforceComputerNameConvention: $this.is(':checked') }; var data = { EnforceComputerNameConvention: $this.is(':checked') };
$.getJSON('@Url.Action(MVC.API.DeviceProfile.UpdateEnforceComputerNameConvention(Model.DeviceProfile.Id))', data, function (response, result) { $.getJSON('@Url.Action(MVC.API.DeviceProfile.UpdateEnforceComputerNameConvention(Model.DeviceProfile.Id))', data, function (response, result) {
if (result != 'success' || response != 'OK') { if (result != 'success' || response != 'OK') {
@@ -443,6 +408,80 @@
{ {
<input id="DeviceProfile_EnforceComputerNameConvention" type="checkbox" @(Model.DeviceProfile.EnforceComputerNameConvention ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)) disabled="disabled" /> <input id="DeviceProfile_EnforceComputerNameConvention" type="checkbox" @(Model.DeviceProfile.EnforceComputerNameConvention ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)) disabled="disabled" />
} }
<label for="DeviceProfile_EnforceComputerNameConvention">
Enforce Naming Convention
</label>
@AjaxHelpers.AjaxLoader()
</div>
<div class="smallMessage" style="margin-top: 8px;">
Note: Computer names are only changed when Active Directory accounts are provisioned.
</div>
</td>
</tr>
<tr>
<th>Active Directory</th>
<td>
<div>
@if (canConfig)
{
<input id="DeviceProfile_ProvisionADAccount" type="checkbox" @(Model.DeviceProfile.ProvisionADAccount ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty))/>
<script type="text/javascript">
$(function () {
$('#DeviceProfile_ProvisionADAccount').click(function () {
var $this = $(this);
var $ajaxLoading = $this.nextAll('.ajaxLoading').show();
var data = { ProvisionADAccount: $this.is(':checked') };
$.getJSON('@Url.Action(MVC.API.DeviceProfile.UpdateProvisionADAccount(Model.DeviceProfile.Id))', data, function (response, result) {
if (result != 'success' || response != 'OK') {
alert('Unable to change Provision AD Account:\n' + response);
$ajaxLoading.hide();
} else {
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
}
});
});
});
</script>
}
else
{
<input id="DeviceProfile_ProvisionADAccount" type="checkbox" @(Model.DeviceProfile.ProvisionADAccount ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)) disabled="disabled" />
}
<label for="DeviceProfile_ProvisionADAccount">
Provision Active Directory Account
</label>
@AjaxHelpers.AjaxLoader()
</div>
<div style="margin-top: 8px;">
@if (canConfig)
{
<input id="DeviceProfile_AssignedUserLocalAdmin" type="checkbox" @(Model.DeviceProfile.AssignedUserLocalAdmin ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty))/>
<script type="text/javascript">
$(function () {
$('#DeviceProfile_AssignedUserLocalAdmin').click(function () {
var $this = $(this);
var $ajaxLoading = $this.nextAll('.ajaxLoading').show();
var data = { AssignedUserLocalAdmin: $this.is(':checked') };
$.getJSON('@Url.Action(MVC.API.DeviceProfile.UpdateAssignedUserLocalAdmin(Model.DeviceProfile.Id))', data, function (response, result) {
if (result != 'success' || response != 'OK') {
alert('Unable to change Assigned User Is Local Administrator:\n' + response);
$ajaxLoading.hide();
} else {
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
}
});
});
});
</script>
}
else
{
<input id="DeviceProfile_AssignedUserLocalAdmin" type="checkbox" @(Model.DeviceProfile.AssignedUserLocalAdmin ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)) disabled="disabled" />
}
<label for="DeviceProfile_AssignedUserLocalAdmin">
Assigned User is Local Administrator
</label>
@AjaxHelpers.AjaxLoader()
</div> </div>
</td> </td>
</tr> </tr>
@@ -583,35 +622,35 @@
} }
} }
<div style="margin-top: 8px;"> <div style="margin-top: 8px;">
<label for="DeviceProfile_EnforceOrganisationalUnit">
Enforce:
</label>
@if (canConfig) @if (canConfig)
{ {
<input id="DeviceProfile_EnforceOrganisationalUnit" type="checkbox" @(Model.DeviceProfile.EnforceOrganisationalUnit ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty))/> <input id="DeviceProfile_EnforceOrganisationalUnit" type="checkbox" @(Model.DeviceProfile.EnforceOrganisationalUnit ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty))/>
@AjaxHelpers.AjaxLoader()
<script type="text/javascript"> <script type="text/javascript">
$(function () { $(function () {
$('#DeviceProfile_EnforceOrganisationalUnit').click(function () { $('#DeviceProfile_EnforceOrganisationalUnit').click(function () {
var $this = $(this); var $this = $(this);
var $ajaxLoading = $this.next('.ajaxLoading').show(); var $ajaxLoading = $this.nextAll('.ajaxLoading').show();
var data = { EnforceOrganisationalUnit: $this.is(':checked') }; var data = { EnforceOrganisationalUnit: $this.is(':checked') };
$.getJSON('@Url.Action(MVC.API.DeviceProfile.UpdateEnforceOrganisationalUnit(Model.DeviceProfile.Id))', data, function (response, result) { $.getJSON('@Url.Action(MVC.API.DeviceProfile.UpdateEnforceOrganisationalUnit(Model.DeviceProfile.Id))', data, function (response, result) {
if (result != 'success' || response != 'OK') { if (result != 'success' || response != 'OK') {
alert('Unable to change Enforce Organisation Unit:\n' + response); alert('Unable to change Enforce Organisation Unit:\n' + response);
$ajaxLoading.hide(); $ajaxLoading.hide();
} else { } else {
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow'); $ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
} }
});
}); });
}); });
});
</script> </script>
} }
else else
{ {
<input id="DeviceProfile_EnforceOrganisationalUnit" type="checkbox" @(Model.DeviceProfile.EnforceOrganisationalUnit ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)) disabled="disabled" /> <input id="DeviceProfile_EnforceOrganisationalUnit" type="checkbox" @(Model.DeviceProfile.EnforceOrganisationalUnit ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)) disabled="disabled" />
} }
<label for="DeviceProfile_EnforceOrganisationalUnit">
Enforce Organisational Unit
</label>
@AjaxHelpers.AjaxLoader()
</div> </div>
</td> </td>
</tr> </tr>
@@ -2,7 +2,7 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// This code was generated by a tool. // This code was generated by a tool.
// Runtime Version:4.0.30319.18051 // Runtime Version:4.0.30319.34003
// //
// Changes to this file may cause incorrect behavior and will be lost if // Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated. // the code is regenerated.
@@ -70,8 +70,11 @@ WriteLiteral(" class=\"form\"");
WriteLiteral(" style=\"width: 600px\""); WriteLiteral(" style=\"width: 600px\"");
WriteLiteral(">\r\n <table>\r\n <tr>\r\n <th>Id:\r\n </th>\r\n " + WriteLiteral(">\r\n <table>\r\n <tr>\r\n <th");
" <td>\r\n");
WriteLiteral(" style=\"width: 230px;\"");
WriteLiteral(">Id:\r\n </th>\r\n <td>\r\n");
WriteLiteral(" "); WriteLiteral(" ");
@@ -949,14 +952,14 @@ WriteLiteral(" <a");
WriteLiteral(" id=\"expressionBrowserAnchor\""); WriteLiteral(" id=\"expressionBrowserAnchor\"");
WriteAttribute("href", Tuple.Create(" href=\"", 16234), Tuple.Create("\"", 16303) WriteAttribute("href", Tuple.Create(" href=\"", 16256), Tuple.Create("\"", 16325)
#line 332 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 332 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
, Tuple.Create(Tuple.Create("", 16241), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Config.DocumentTemplate.ExpressionBrowser()) , Tuple.Create(Tuple.Create("", 16263), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Config.DocumentTemplate.ExpressionBrowser())
#line default #line default
#line hidden #line hidden
, 16241), false) , 16263), false)
); );
WriteLiteral(">&nbsp;</a>\r\n"); WriteLiteral(">&nbsp;</a>\r\n");
@@ -1069,148 +1072,16 @@ WriteLiteral(" <div");
WriteLiteral(" style=\"margin-top: 8px;\""); WriteLiteral(" style=\"margin-top: 8px;\"");
WriteLiteral(">\r\n <label"); WriteLiteral(">\r\n");
WriteLiteral(" for=\"DeviceProfile_ProvisionADAccount\"");
WriteLiteral(">\r\n Provision Active Directory Account:\r\n " +
" </label>\r\n");
#line 389 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 386 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default #line default
#line hidden #line hidden
#line 389 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 386 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (canConfig)
{
#line default
#line hidden
WriteLiteral(" <input");
WriteLiteral(" id=\"DeviceProfile_ProvisionADAccount\"");
WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" ");
#line 391 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.ProvisionADAccount ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
#line default
#line hidden
WriteLiteral("/>\r\n");
#line 392 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
#line 392 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
#line 392 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
WriteLiteral(" <script");
WriteLiteral(" type=\"text/javascript\"");
WriteLiteral(@">
$(function () {
$('#DeviceProfile_ProvisionADAccount').click(function () {
var $this = $(this);
var $ajaxLoading = $this.next('.ajaxLoading').show();
var data = { ProvisionADAccount: $this.is(':checked') };
$.getJSON('");
#line 399 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Url.Action(MVC.API.DeviceProfile.UpdateProvisionADAccount(Model.DeviceProfile.Id)));
#line default
#line hidden
WriteLiteral(@"', data, function (response, result) {
if (result != 'success' || response != 'OK') {
alert('Unable to change Provision AD Account:\n' + response);
$ajaxLoading.hide();
} else {
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
}
});
});
});
</script>
");
#line 410 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
}
else
{
#line default
#line hidden
WriteLiteral(" <input");
WriteLiteral(" id=\"DeviceProfile_ProvisionADAccount\"");
WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" ");
#line 413 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.ProvisionADAccount ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
#line default
#line hidden
WriteLiteral(" disabled=\"disabled\" />\r\n");
#line 414 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
}
#line default
#line hidden
WriteLiteral(" </div>\r\n <div");
WriteLiteral(" style=\"margin-top: 8px;\"");
WriteLiteral(">\r\n <label");
WriteLiteral(" for=\"DeviceProfile_EnforceComputerNameConvention\"");
WriteLiteral(">\r\n Enforce Naming Convention:\r\n </labe" +
"l>\r\n");
#line 420 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
#line 420 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (canConfig) if (canConfig)
{ {
@@ -1226,7 +1097,7 @@ WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" "); WriteLiteral(" ");
#line 422 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 388 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.EnforceComputerNameConvention ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)); Write(Model.DeviceProfile.EnforceComputerNameConvention ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
@@ -1234,26 +1105,6 @@ WriteLiteral(" ");
#line hidden #line hidden
WriteLiteral("/>\r\n"); WriteLiteral("/>\r\n");
#line 423 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
#line 423 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
#line 423 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
WriteLiteral(" <script"); WriteLiteral(" <script");
WriteLiteral(" type=\"text/javascript\""); WriteLiteral(" type=\"text/javascript\"");
@@ -1262,12 +1113,12 @@ WriteLiteral(@">
$(function () { $(function () {
$('#DeviceProfile_EnforceComputerNameConvention').click(function () { $('#DeviceProfile_EnforceComputerNameConvention').click(function () {
var $this = $(this); var $this = $(this);
var $ajaxLoading = $this.next('.ajaxLoading').show(); var $ajaxLoading = $this.nextAll('.ajaxLoading').show();
var data = { EnforceComputerNameConvention: $this.is(':checked') }; var data = { EnforceComputerNameConvention: $this.is(':checked') };
$.getJSON('"); $.getJSON('");
#line 430 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 395 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Url.Action(MVC.API.DeviceProfile.UpdateEnforceComputerNameConvention(Model.DeviceProfile.Id))); Write(Url.Action(MVC.API.DeviceProfile.UpdateEnforceComputerNameConvention(Model.DeviceProfile.Id)));
@@ -1287,7 +1138,7 @@ WriteLiteral(@"', data, function (response, result) {
"); ");
#line 441 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 406 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
else else
{ {
@@ -1304,7 +1155,7 @@ WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" "); WriteLiteral(" ");
#line 444 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 409 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.EnforceComputerNameConvention ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)); Write(Model.DeviceProfile.EnforceComputerNameConvention ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
@@ -1313,17 +1164,280 @@ WriteLiteral(" ");
WriteLiteral(" disabled=\"disabled\" />\r\n"); WriteLiteral(" disabled=\"disabled\" />\r\n");
#line 445 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 410 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n " + WriteLiteral(" <label");
" <th>Default Organisational Unit:\r\n </th>\r\n <td>");
WriteLiteral(" for=\"DeviceProfile_EnforceComputerNameConvention\"");
WriteLiteral(">\r\n Enforce Naming Convention\r\n </label" +
">\r\n");
WriteLiteral(" ");
#line 452 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 414 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
WriteLiteral("\r\n </div>\r\n <div");
WriteLiteral(" class=\"smallMessage\"");
WriteLiteral(" style=\"margin-top: 8px;\"");
WriteLiteral(@">
Note: Computer names are only changed when Active Directory accounts are provisioned.
</div>
</td>
</tr>
<tr>
<th>Active Directory</th>
<td>
<div>
");
#line 425 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
#line 425 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (canConfig)
{
#line default
#line hidden
WriteLiteral(" <input");
WriteLiteral(" id=\"DeviceProfile_ProvisionADAccount\"");
WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" ");
#line 427 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.ProvisionADAccount ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
#line default
#line hidden
WriteLiteral("/>\r\n");
WriteLiteral(" <script");
WriteLiteral(" type=\"text/javascript\"");
WriteLiteral(@">
$(function () {
$('#DeviceProfile_ProvisionADAccount').click(function () {
var $this = $(this);
var $ajaxLoading = $this.nextAll('.ajaxLoading').show();
var data = { ProvisionADAccount: $this.is(':checked') };
$.getJSON('");
#line 434 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Url.Action(MVC.API.DeviceProfile.UpdateProvisionADAccount(Model.DeviceProfile.Id)));
#line default
#line hidden
WriteLiteral(@"', data, function (response, result) {
if (result != 'success' || response != 'OK') {
alert('Unable to change Provision AD Account:\n' + response);
$ajaxLoading.hide();
} else {
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
}
});
});
});
</script>
");
#line 445 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
}
else
{
#line default
#line hidden
WriteLiteral(" <input");
WriteLiteral(" id=\"DeviceProfile_ProvisionADAccount\"");
WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" ");
#line 448 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.ProvisionADAccount ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
#line default
#line hidden
WriteLiteral(" disabled=\"disabled\" />\r\n");
#line 449 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
}
#line default
#line hidden
WriteLiteral(" <label");
WriteLiteral(" for=\"DeviceProfile_ProvisionADAccount\"");
WriteLiteral(">\r\n Provision Active Directory Account\r\n " +
" </label>\r\n");
WriteLiteral(" ");
#line 453 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
WriteLiteral("\r\n </div>\r\n <div");
WriteLiteral(" style=\"margin-top: 8px;\"");
WriteLiteral(">\r\n");
#line 456 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
#line 456 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (canConfig)
{
#line default
#line hidden
WriteLiteral(" <input");
WriteLiteral(" id=\"DeviceProfile_AssignedUserLocalAdmin\"");
WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" ");
#line 458 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.AssignedUserLocalAdmin ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
#line default
#line hidden
WriteLiteral("/>\r\n");
WriteLiteral(" <script");
WriteLiteral(" type=\"text/javascript\"");
WriteLiteral(@">
$(function () {
$('#DeviceProfile_AssignedUserLocalAdmin').click(function () {
var $this = $(this);
var $ajaxLoading = $this.nextAll('.ajaxLoading').show();
var data = { AssignedUserLocalAdmin: $this.is(':checked') };
$.getJSON('");
#line 465 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Url.Action(MVC.API.DeviceProfile.UpdateAssignedUserLocalAdmin(Model.DeviceProfile.Id)));
#line default
#line hidden
WriteLiteral(@"', data, function (response, result) {
if (result != 'success' || response != 'OK') {
alert('Unable to change Assigned User Is Local Administrator:\n' + response);
$ajaxLoading.hide();
} else {
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
}
});
});
});
</script>
");
#line 476 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
}
else
{
#line default
#line hidden
WriteLiteral(" <input");
WriteLiteral(" id=\"DeviceProfile_AssignedUserLocalAdmin\"");
WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" ");
#line 479 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.AssignedUserLocalAdmin ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
#line default
#line hidden
WriteLiteral(" disabled=\"disabled\" />\r\n");
#line 480 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
}
#line default
#line hidden
WriteLiteral(" <label");
WriteLiteral(" for=\"DeviceProfile_AssignedUserLocalAdmin\"");
WriteLiteral(">\r\n Assigned User is Local Administrator\r\n " +
" </label>\r\n");
WriteLiteral(" ");
#line 484 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
WriteLiteral("\r\n </div>\r\n </td>\r\n </tr>\r\n <tr>\r\n " +
" <th>Default Organisational Unit:\r\n </th>\r\n <td>");
#line 491 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (canConfig) if (canConfig)
{ {
@@ -1331,14 +1445,14 @@ WriteLiteral(" </div>\r\n </td>\r\n </tr>\r\n
#line default #line default
#line hidden #line hidden
#line 454 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 493 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Html.HiddenFor(model => model.DeviceProfile.OrganisationalUnit)); Write(Html.HiddenFor(model => model.DeviceProfile.OrganisationalUnit));
#line default #line default
#line hidden #line hidden
#line 454 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 493 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
@@ -1359,20 +1473,20 @@ WriteLiteral(" href=\"#\"");
WriteLiteral(">Change</a>"); WriteLiteral(">Change</a>");
#line 457 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 496 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default #line default
#line hidden #line hidden
#line 457 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 496 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(AjaxHelpers.AjaxLoader()); Write(AjaxHelpers.AjaxLoader());
#line default #line default
#line hidden #line hidden
#line 457 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 496 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
@@ -1418,7 +1532,7 @@ WriteLiteral(@">
$.getJSON('"); $.getJSON('");
#line 483 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 522 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Url.Action(MVC.API.DeviceProfile.UpdateOrganisationalUnit(Model.DeviceProfile.Id, null))); Write(Url.Action(MVC.API.DeviceProfile.UpdateOrganisationalUnit(Model.DeviceProfile.Id, null)));
@@ -1459,7 +1573,7 @@ WriteLiteral("\', data, function (response, result) {\r\n
"getJSON(\'"); "getJSON(\'");
#line 532 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 571 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Url.Action(MVC.API.DeviceProfile.OrganisationalUnits())); Write(Url.Action(MVC.API.DeviceProfile.OrganisationalUnits()));
@@ -1492,7 +1606,7 @@ WriteLiteral("\', null, function (data) {\r\n var
" });\r\n </script>\r\n"); " });\r\n </script>\r\n");
#line 571 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 610 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
else else
{ {
@@ -1505,7 +1619,7 @@ WriteLiteral("\', null, function (data) {\r\n var
WriteLiteral(" <span>{Default Computers Container}</span>\r\n"); WriteLiteral(" <span>{Default Computers Container}</span>\r\n");
#line 577 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 616 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
else else
{ {
@@ -1518,7 +1632,7 @@ WriteLiteral(" <span>\r\n");
WriteLiteral(" "); WriteLiteral(" ");
#line 581 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 620 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(string.Join(" > ", Model.DeviceProfile.OrganisationalUnit.Split(',').Select(s => s.Substring(3)).Reverse())); Write(string.Join(" > ", Model.DeviceProfile.OrganisationalUnit.Split(',').Select(s => s.Substring(3)).Reverse()));
@@ -1527,7 +1641,7 @@ WriteLiteral(" ");
WriteLiteral("\r\n </span>\r\n"); WriteLiteral("\r\n </span>\r\n");
#line 583 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 622 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
} }
@@ -1538,20 +1652,16 @@ WriteLiteral(" <div");
WriteLiteral(" style=\"margin-top: 8px;\""); WriteLiteral(" style=\"margin-top: 8px;\"");
WriteLiteral(">\r\n <label"); WriteLiteral(">\r\n");
WriteLiteral(" for=\"DeviceProfile_EnforceOrganisationalUnit\"");
WriteLiteral(">\r\n Enforce:\r\n </label>\r\n");
#line 589 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 625 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default #line default
#line hidden #line hidden
#line 589 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 625 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (canConfig) if (canConfig)
{ {
@@ -1567,7 +1677,7 @@ WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" "); WriteLiteral(" ");
#line 591 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 627 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.EnforceOrganisationalUnit ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)); Write(Model.DeviceProfile.EnforceOrganisationalUnit ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
@@ -1575,26 +1685,6 @@ WriteLiteral(" ");
#line hidden #line hidden
WriteLiteral("/>\r\n"); WriteLiteral("/>\r\n");
#line 592 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
#line 592 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
#line 592 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default
#line hidden
WriteLiteral(" <script"); WriteLiteral(" <script");
WriteLiteral(" type=\"text/javascript\""); WriteLiteral(" type=\"text/javascript\"");
@@ -1603,32 +1693,32 @@ WriteLiteral(@">
$(function () { $(function () {
$('#DeviceProfile_EnforceOrganisationalUnit').click(function () { $('#DeviceProfile_EnforceOrganisationalUnit').click(function () {
var $this = $(this); var $this = $(this);
var $ajaxLoading = $this.next('.ajaxLoading').show(); var $ajaxLoading = $this.nextAll('.ajaxLoading').show();
var data = { EnforceOrganisationalUnit: $this.is(':checked') }; var data = { EnforceOrganisationalUnit: $this.is(':checked') };
$.getJSON('"); $.getJSON('");
#line 599 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 634 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Url.Action(MVC.API.DeviceProfile.UpdateEnforceOrganisationalUnit(Model.DeviceProfile.Id))); Write(Url.Action(MVC.API.DeviceProfile.UpdateEnforceOrganisationalUnit(Model.DeviceProfile.Id)));
#line default #line default
#line hidden #line hidden
WriteLiteral(@"', data, function (response, result) { WriteLiteral(@"', data, function (response, result) {
if (result != 'success' || response != 'OK') { if (result != 'success' || response != 'OK') {
alert('Unable to change Enforce Organisation Unit:\n' + response); alert('Unable to change Enforce Organisation Unit:\n' + response);
$ajaxLoading.hide(); $ajaxLoading.hide();
} else { } else {
$ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow'); $ajaxLoading.hide().next('.ajaxOk').show().delay('fast').fadeOut('slow');
} }
});
}); });
}); });
});
</script> </script>
"); ");
#line 610 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 645 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
else else
{ {
@@ -1645,7 +1735,7 @@ WriteLiteral(" type=\"checkbox\"");
WriteLiteral(" "); WriteLiteral(" ");
#line 613 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 648 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Model.DeviceProfile.EnforceOrganisationalUnit ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty)); Write(Model.DeviceProfile.EnforceOrganisationalUnit ? new MvcHtmlString("checked=\"checked\" ") : new MvcHtmlString(string.Empty));
@@ -1654,16 +1744,33 @@ WriteLiteral(" ");
WriteLiteral(" disabled=\"disabled\" />\r\n"); WriteLiteral(" disabled=\"disabled\" />\r\n");
#line 614 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 649 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
#line default #line default
#line hidden #line hidden
WriteLiteral(" </div>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>\r\n"); WriteLiteral(" <label");
WriteLiteral(" for=\"DeviceProfile_EnforceOrganisationalUnit\"");
WriteLiteral(">\r\n Enforce Organisational Unit\r\n </lab" +
"el>\r\n");
WriteLiteral(" ");
#line 620 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 653 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(AjaxHelpers.AjaxLoader());
#line default
#line hidden
WriteLiteral("\r\n </div>\r\n </td>\r\n </tr>\r\n </table>\r\n</div>\r" +
"\n");
#line 659 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (canDelete) if (canDelete)
{ {
@@ -1720,7 +1827,7 @@ WriteLiteral(@">
"); ");
#line 656 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 695 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
@@ -1733,13 +1840,13 @@ WriteLiteral(" class=\"actionBar\"");
WriteLiteral(">\r\n"); WriteLiteral(">\r\n");
#line 658 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 697 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
#line default #line default
#line hidden #line hidden
#line 658 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 697 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (canDelete) if (canDelete)
{ {
@@ -1747,14 +1854,14 @@ WriteLiteral(">\r\n");
#line default #line default
#line hidden #line hidden
#line 660 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 699 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Html.ActionLinkButton("Delete", MVC.API.DeviceProfile.Delete(Model.DeviceProfile.Id, true), "buttonDelete")); Write(Html.ActionLinkButton("Delete", MVC.API.DeviceProfile.Delete(Model.DeviceProfile.Id, true), "buttonDelete"));
#line default #line default
#line hidden #line hidden
#line 660 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 699 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
@@ -1764,7 +1871,7 @@ WriteLiteral(">\r\n");
WriteLiteral(" "); WriteLiteral(" ");
#line 662 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 701 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (Authorization.Has(Claims.Device.Actions.Export)) if (Authorization.Has(Claims.Device.Actions.Export))
{ {
@@ -1772,14 +1879,14 @@ WriteLiteral(" ");
#line default #line default
#line hidden #line hidden
#line 664 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 703 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Html.ActionLinkButton("Export Devices", MVC.API.DeviceProfile.ExportDevices(Model.DeviceProfile.Id))); Write(Html.ActionLinkButton("Export Devices", MVC.API.DeviceProfile.ExportDevices(Model.DeviceProfile.Id)));
#line default #line default
#line hidden #line hidden
#line 664 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 703 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
@@ -1789,7 +1896,7 @@ WriteLiteral(" ");
WriteLiteral(" "); WriteLiteral(" ");
#line 666 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 705 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
if (Authorization.Has(Claims.Device.Search)) if (Authorization.Has(Claims.Device.Search))
{ {
@@ -1797,14 +1904,14 @@ WriteLiteral(" ");
#line default #line default
#line hidden #line hidden
#line 668 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 707 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
Write(Html.ActionLinkButton("View Devices", MVC.Search.Query(Model.DeviceProfile.Id.ToString(), "DeviceProfile"))); Write(Html.ActionLinkButton("View Devices", MVC.Search.Query(Model.DeviceProfile.Id.ToString(), "DeviceProfile")));
#line default #line default
#line hidden #line hidden
#line 668 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml" #line 707 "..\..\Areas\Config\Views\DeviceProfile\Show.cshtml"
} }
+30
View File
@@ -4472,6 +4472,12 @@ namespace Disco.Web.Areas.API.Controllers
} }
[NonAction] [NonAction]
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode] [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public virtual System.Web.Mvc.ActionResult UpdateAssignedUserLocalAdmin()
{
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateAssignedUserLocalAdmin);
}
[NonAction]
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public virtual System.Web.Mvc.ActionResult Delete() public virtual System.Web.Mvc.ActionResult Delete()
{ {
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Delete); return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Delete);
@@ -4522,6 +4528,7 @@ namespace Disco.Web.Areas.API.Controllers
public readonly string UpdateEnforceComputerNameConvention = "UpdateEnforceComputerNameConvention"; public readonly string UpdateEnforceComputerNameConvention = "UpdateEnforceComputerNameConvention";
public readonly string UpdateEnforceOrganisationalUnit = "UpdateEnforceOrganisationalUnit"; public readonly string UpdateEnforceOrganisationalUnit = "UpdateEnforceOrganisationalUnit";
public readonly string UpdateProvisionADAccount = "UpdateProvisionADAccount"; public readonly string UpdateProvisionADAccount = "UpdateProvisionADAccount";
public readonly string UpdateAssignedUserLocalAdmin = "UpdateAssignedUserLocalAdmin";
public readonly string OrganisationalUnits = "OrganisationalUnits"; public readonly string OrganisationalUnits = "OrganisationalUnits";
public readonly string Delete = "Delete"; public readonly string Delete = "Delete";
public readonly string Default = "Default"; public readonly string Default = "Default";
@@ -4544,6 +4551,7 @@ namespace Disco.Web.Areas.API.Controllers
public const string UpdateEnforceComputerNameConvention = "UpdateEnforceComputerNameConvention"; public const string UpdateEnforceComputerNameConvention = "UpdateEnforceComputerNameConvention";
public const string UpdateEnforceOrganisationalUnit = "UpdateEnforceOrganisationalUnit"; public const string UpdateEnforceOrganisationalUnit = "UpdateEnforceOrganisationalUnit";
public const string UpdateProvisionADAccount = "UpdateProvisionADAccount"; public const string UpdateProvisionADAccount = "UpdateProvisionADAccount";
public const string UpdateAssignedUserLocalAdmin = "UpdateAssignedUserLocalAdmin";
public const string OrganisationalUnits = "OrganisationalUnits"; public const string OrganisationalUnits = "OrganisationalUnits";
public const string Delete = "Delete"; public const string Delete = "Delete";
public const string Default = "Default"; public const string Default = "Default";
@@ -4673,6 +4681,16 @@ namespace Disco.Web.Areas.API.Controllers
public readonly string ProvisionADAccount = "ProvisionADAccount"; public readonly string ProvisionADAccount = "ProvisionADAccount";
public readonly string redirect = "redirect"; public readonly string redirect = "redirect";
} }
static readonly ActionParamsClass_UpdateAssignedUserLocalAdmin s_params_UpdateAssignedUserLocalAdmin = new ActionParamsClass_UpdateAssignedUserLocalAdmin();
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public ActionParamsClass_UpdateAssignedUserLocalAdmin UpdateAssignedUserLocalAdminParams { get { return s_params_UpdateAssignedUserLocalAdmin; } }
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public class ActionParamsClass_UpdateAssignedUserLocalAdmin
{
public readonly string id = "id";
public readonly string AssignedUserLocalAdmin = "AssignedUserLocalAdmin";
public readonly string redirect = "redirect";
}
static readonly ActionParamsClass_Delete s_params_Delete = new ActionParamsClass_Delete(); static readonly ActionParamsClass_Delete s_params_Delete = new ActionParamsClass_Delete();
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode] [GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
public ActionParamsClass_Delete DeleteParams { get { return s_params_Delete; } } public ActionParamsClass_Delete DeleteParams { get { return s_params_Delete; } }
@@ -4872,6 +4890,18 @@ namespace Disco.Web.Areas.API.Controllers
return callInfo; return callInfo;
} }
partial void UpdateAssignedUserLocalAdminOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, int id, string AssignedUserLocalAdmin, bool? redirect);
public override System.Web.Mvc.ActionResult UpdateAssignedUserLocalAdmin(int id, string AssignedUserLocalAdmin, bool? redirect)
{
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.UpdateAssignedUserLocalAdmin);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "id", id);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "AssignedUserLocalAdmin", AssignedUserLocalAdmin);
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "redirect", redirect);
UpdateAssignedUserLocalAdminOverride(callInfo, id, AssignedUserLocalAdmin, redirect);
return callInfo;
}
partial void OrganisationalUnitsOverride(T4MVC_System_Web_Mvc_ActionResult callInfo); partial void OrganisationalUnitsOverride(T4MVC_System_Web_Mvc_ActionResult callInfo);
public override System.Web.Mvc.ActionResult OrganisationalUnits() public override System.Web.Mvc.ActionResult OrganisationalUnits()