2023-03-02 12:24:07 -07:00

820 lines
36 KiB
Plaintext

@model IEnumerable<Fab2ApprovalSystem.Models.LoginModel>
@{
ViewBag.Title = "Index";
}
@{
Layout = "_AdminLayout.cshtml";
}
<link rel="stylesheet" href="/Content/kendo/kendo.blueopal.min.css" />
<link rel="stylesheet" href="~/Content/kendogridcustom.css" />
<style>
.k-grid-edit-row input {
width: 100%;
}
.k-grid .k-grid-header .k-header .k-link {
height: auto;
}
.k-grid .k-grid-header .k-header {
white-space: normal;
}
.k-grid .k-edit-cell input {
width: 100%;
}
.hiddenDelegate {
display: none;
}
/*InLine Edit Mode*/
</style>
<div id="userListdiv" class="k-content">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.LoginModel>()
.Name("userList")
.Columns(columns =>
{
columns.Bound(l => l.UserID).Visible(false);
columns.Bound(l => l.LoginID);
columns.Bound(l => l.FirstName);
columns.Bound(l => l.LastName);
columns.Bound(l => l.Email);
columns.Bound(l => l.IsActive);
//columns.Template(@<text></text>).ClientTemplate("<input type='checkbox' #= IsActive ? checked='checked':'' # class='chkbx' />");
columns.Bound(l => l.IsAdmin);
columns.Bound(l => l.IsManager);
columns.Bound(l => l.LastLogin).Format("{0:MM/dd/yy hh:mm:ss}");
// columns.Command(command => { command.Edit(); command.Destroy(); }).Width("200px");
columns.Bound(l => l.OOO);
columns.Bound(l => l.OOOStartDate).Format("{0:MM/dd/yy hh:mm:ss}").Width("150px");
columns.Bound(l => l.OOOExpirationDate).Format("{0:MM/dd/yy hh:mm:ss}").Width("150px");
columns.Bound(l => l.DelegatedTo).Visible(false);
columns.Bound(l => l.DelegatedToFullName);
columns.Bound(p => p.OOOStatusWithUserID).ClientTemplate("#=buildButtons(OOOStatusWithUserID)#").Width(120);
columns.Template(t => { }).ClientTemplate(@"<input type='button' value='Approval Groups' class='btn btn-primary btn-xs' onclick='ShowApprovalGroup(" + "#: UserID #" + ")'/>");
columns.Template(t => { }).ClientTemplate(@"<input type='button' value='Tasks' class='btn btn-primary btn-xs' onclick='ShowUserTasks(" + "#: UserID #" + ")'/>");
//columns.Template(p => { }).HeaderTemplate("").ClientTemplate(@"
//<input type='button' value='Approval Groups' class='btn btn-primary btn-xs' onclick='ShowApprovalGroup(" + l => + ")'/>");
columns.Template(t => { }).HeaderTemplate("").ClientTemplate(@"
<a href='javascript: void(0)' class='abutton edit' onclick='editRow(this)' title='button edit'>button edit</a>
<a href='javascript: void(0)' class='abutton delete' onclick='deleteRow(this, " + "#: UserID #" + ")' title='button delete'>button delete</a>");
})
.ToolBar(toolbar => toolbar.Create().Text("Add New User"))
.Editable(editable => editable.Mode(GridEditMode.InLine))
.HtmlAttributes(new { style = "height: 500px;" })
.Scrollable()
.Resizable(resize => resize.Columns(true))
.Groupable()
.Sortable()
.Filterable()
.Events(e => e.Edit("onEdit"))
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax().ServerOperation(false)
.Events(events => events.Error("error_handler"))
.Model(model =>
{
model.Id(l => l.UserID);
model.Field(p => p.UserID).Editable(false);
model.Field(l => l.LastLogin).Editable(false);
model.Field(l => l.OOO).Editable(false);
model.Field(l => l.OOOStartDate).Editable(false);
model.Field(l => l.OOOExpirationDate).Editable(false);
model.Field(l => l.DelegatedToFullName).Editable(false);
})
.PageSize(50)
.Read(read => read.Action("GetGridUserList", "Admin"))
.Create(update => update.Action("InsertUser", "Admin"))
.Update(update => update.Action("UpdateUser", "Admin"))
.Destroy(destroy => destroy.Action("DeleteUser", "Admin"))
)
)
@*@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.LoginModel>()
.Name("Grid")
.Columns(columns =>
{
columns.Bound(l => l.UserID).Visible(false);
columns.Bound(l => l.LoginID);
columns.Bound(l => l.FirstName);
columns.Bound(l => l.LastName);
columns.Bound(l => l.IsAdmin);
columns.Bound(l => l.LastLogin).Format("{0:MM/dd/yy hh:mm:ss}");
columns.Bound(l => l.OOO);
columns.Bound(l => l.OOOStartDate).Format("{0:MM/dd/yy hh:mm:ss}").Width("150px");
columns.Bound(l => l.OOOExpirationDate).Format("{0:MM/dd/yy hh:mm:ss}").Width("150px");
columns.Bound(l => l.DelegatedTo).Visible(false);
columns.Bound(l => l.DelegatedToFullName);
columns.Bound(p => p.OOOStatusWithUserID).ClientTemplate("#=buildButtons(OOOStatusWithUserID)#").Width(120);
})
.ToolBar(toolbar =>
{
toolbar.Create();
toolbar.Save();
})
.Editable(editable => editable.Mode(GridEditMode.InCell))
.Pageable()
.Navigatable()
.Sortable()
.Scrollable()
.DataSource(dataSource => dataSource
.Ajax()
.Batch(true)
.PageSize(20)
.ServerOperation(false)
//.Events(events => events.Error("error_handler"))
.Model(model => model.Id(p => p.UserID))
.Read(read => read.Action("GetGridUserList", "Admin"))
.Create(update => update.Action("InsertUser", "Admin"))
.Update(update => update.Action("BatchUpdateUser", "Admin"))
.Destroy(destroy => destroy.Action("DeleteUser", "Admin"))
)
)*@
</div>
<div class="modal fade" id="OOODialog" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
@*<h4 class="modal-title" id="myModalLabel">Out Of Office for user:</h4>*@
<label style="color: #36940a; font-weight: bold; font-size: 16px; " id="currentUser"></label>
</div>
<div class="modal-body">
<div class="row">
<div class="col-sm-12">
<div class="control-group">
<div class="controls">
<div class="controls">
<label for="AssignDelegate">Assign Delegate?</label>
<input type="checkbox" name="AssignDelegate" id="AssignDelegate" value="false" onclick="toggleDelegate()" />
<p>*Please assign a delegate if this user will be assigned tasks while Out of Office.</p>
</div>
</div>
</div>
</div>
</div>
<br />
<div class="row hiddenDelegate" id="delegateLabel">
<div class="col-sm-12">
<div class="control-group">
<div class="controls">
<div class="controls">
<label for="CurrentUser">Delegate To:</label>
</div>
</div>
</div>
</div>
</div>
<div class="row hiddenDelegate" id="delegateControl">
<div class="col-sm-12">
<div class="control-group">
<div class="controls">
<div class="controls">
@(Html.Kendo().DropDownList()
.Name("DelegateTo")
.HtmlAttributes(new { style = "width: 250px" })
.DataTextField("FullName")
.DataValueField("UserID")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetAllUserList", "Admin");
});
})
)
</div>
</div>
</div>
</div>
</div>
<br />
<div class="row">
<div class="col-sm-6">
<div class="control-group">
<div class="controls">
<label for="CurrentUser">Start Date:</label>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="control-group">
<div class="controls">
<div class="controls">
<label for="CurrentUser">End Date:</label>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="control-group">
<div class="controls">
@(Html.Kendo().DatePicker()
.Name("txtStartDate")
//.Value()
)
</div>
</div>
</div>
<div class="col-sm-6">
<div class="control-group">
<div class="controls">
@(Html.Kendo().DatePicker()
.Name("txtEndDate")
//.Value()
)
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary" id="SaveOOOInfo">Save</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="UserApprovalGroupsDialog" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<input type="hidden" id="UserIDHidden" value="467" />
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
@*<h4 class="modal-title" id="myModalLabel">Out Of Office for user:</h4>*@
<label style="color: #36940a; font-weight: bold; font-size: 16px; " id="currentUser"></label>
</div>
<div class="modal-body">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.UserSubRoles>()
.Name("SubRoleList")
.Columns(columns =>
{
columns.Bound(l => l.SubRoleID).Visible(false);
columns.Bound(l => l.RoleName);
columns.Bound(l => l.SubRoleName);
})
//.HtmlAttributes(new { style = "height: 500px;" })
.Scrollable()
.Resizable(resize => resize.Columns(true))
.Groupable()
.Sortable()
.Filterable()
.Events(e => e.Edit("onEdit"))
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax().ServerOperation(false)
.Events(events => events.Error("error_handler"))
.PageSize(20)
.Read(read => read.Action("GetSubRoleListByUserId", "Admin").Data("GetUserID"))
.Create(update => update.Action("InsertUser", "Admin"))
.Update(update => update.Action("UpdateUser", "Admin"))
.Destroy(destroy => destroy.Action("DeleteUser", "Admin"))
)
)
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="ReAssignApprovalGroups" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
<h4 class="modal-title" id="myModalLabel">Inactivate User</h4>
<label style="color: #36940a; font-weight: bold; font-size: 16px; " id="currentUser"></label>
<input type="hidden" id="DeletedUserIDHidden" value="467" />
</div>
<div class="modal-body">
@(Html.Kendo().Grid<Fab2ApprovalSystem.Models.UserSubRoles>()
.Name("SubRoleListReAssign")
.Columns(columns =>
{
columns.Bound(l => l.SubRoleID).Visible(false);
columns.Bound(l => l.RoleName);
columns.Bound(l => l.SubRoleName);
//columns.Command(command => command.Custom("Re-Assign").Click("ShowRoleUserSelector")).Width("100px");
columns.Template(t => { }).ClientTemplate(@"<input type='button' value='Re-Assign' class='btn btn-primary btn-xs' onclick='ShowRoleUserSelector(" + "#: SubRoleID #" + ")'/>");
})
//.HtmlAttributes(new { style = "height: 400px;" })
.Scrollable()
.Resizable(resize => resize.Columns(true))
.Groupable()
.Sortable()
.Filterable()
.Events(e => e.Edit("onEdit"))
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax().ServerOperation(false)
.Events(events => events.Error("error_handler"))
.PageSize(20)
.Read(read => read.Action("GetSubRoleListByUserId", "Admin").Data("GetDeletedUserID"))
)
)
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-default" onclick="InactivateUser()">Submit Inactivation</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="UserAssignedTasksDialog" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<input type="hidden" id="TaskUserIDHidden" value="456" />
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
@*<h4 class="modal-title" id="myModalLabel">Out Of Office for user:</h4>*@
<label style="color: #36940a; font-weight: bold; font-size: 16px; " id="currentUser"></label>
</div>
<div class="modal-body">
@(Html.Kendo().Grid<Fab2ApprovalSystem.ViewModels.IssuesViewModel>()
.Name("UserTaskList")
.Columns(columns =>
{
//columns.Bound(l => l.IssueID);
columns.Bound(l => l.IssueID).Template(@<text> @Html.ActionLink(@item.IssueID.ToString(), null)</text>)
.ClientTemplate("<a href='/#=DocumentType#/Edit?IssueID=#=DocID#'>#=IssueID#</a>");
columns.Bound(l => l.DocumentType);
columns.Bound(l => l.SubDoc);
columns.Bound(l => l.Originator);
columns.Bound(l => l.Title);
columns.Bound(l => l.PendingApprovers).HtmlAttributes(new { style = "font-weight: bold; color: red;" });
//columns.Command(command => command.Custom("Re-Assign").Click("showReAssignRole")).Width("100px");
})
.Selectable(selectable => selectable.Mode(GridSelectionMode.Single).Type(GridSelectionType.Row))
//.HtmlAttributes(new { style = "height: 700px;" })
.Scrollable()
.Groupable()
.Sortable()
.Filterable(filterable => filterable
.Extra(false)
.Operators(operators => operators
.ForString(str => str
.Clear()
.Contains("Contains")
.DoesNotContain("Does not contain")
.StartsWith("Starts with")
.EndsWith("Ends with")
.IsEqualTo("Is equal to")
.IsNotEqualTo("Is not equal to ")
)
)
)
.Pageable(pageable => pageable
.Refresh(true)
.PageSizes(true)
.ButtonCount(5))
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(50)
.Read(read => read.Action("GetTaskListByUser", "Admin").Data("GetTaskListUserID")))
// .ClientRowTemplate(" <tr class=#:ItemStatus == 2? 'red':'white'# data-uid='#= uid #'>" +
// "<td> <a href='/#=DocumentType#/Edit?IssueID=#=DocID#'>#=IssueID#</a></td>" +
// "<td>#: DocumentType #</td>" +
// "<td>#: SubDoc #</td>" +
// "<td>#:Originator #</td>" +
// "<td>#: IssueDate #</td>" +
// "<td>#:Title #</td>" +
// "<td>#: LotNos #</td>" +
// "<td>#:PendingApprovers #</td>" +
// "<td>#:SubmitedDate #</td>" +
// "<td>#: CloseDate #</td> " +
// "<td>#: Item Status </td> " +
// "<td><button class='btn btn-warning btn-xs' id='Delegate' name='Refresh' onclick='showReAssignRole(&quot;#=PendingApprovers#&quot;,&quot;#=CloseDate#&quot;,&quot;#=DocID#&quot;, &quot;#=DocumentType#&quot;,&quot;#=SubmitedDate#&quot;);'>Delegate</buton></td>" +
//"</tr>"
//)
)
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="RoleReAssignPrompt" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<input type="hidden" value="" id="hiddenRoleId" />
<input type="hidden" value="" id="hiddenIssueId" />
<input type="hidden" value="" id="hiddenIssueType" />
<input type="hidden" value="" id="RoleReAssignPromptDeletedUserHidden" />
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
@*<h4 class="modal-title" id="myModalLabel">Out Of Office for user:</h4>*@
<label style="color: #36940a; font-weight: bold; font-size: 16px; " id="currentUser"></label>
</div>
<div class="modal-body">
@*@Html.DropDownList("selectedUserToReassign", new SelectList(ViewBag.AllActiveUsers, "UserID", "FullName"))*@
@(Html.Kendo().DropDownList()
.Name("selectedUserToReassign")
.BindTo(new SelectList(ViewBag.AllActiveUsers, "UserID", "FullName"))
.OptionLabel("Select User")
.HtmlAttributes(new { style = " font-size:10px" })
)
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-default" data-dismiss="modal" onclick="SubmitRoleAssignment()">Submit</button>
</div>
</div>
</div>
</div>
<script>
function toggleDelegate() {
document.getElementById("delegateControl").classList.toggle("hiddenDelegate");
document.getElementById("delegateLabel").classList.toggle("hiddenDelegate");
}
function error_handler(e) {
alert("Error during the operation");
if (e.errors) {
var message = "Errors:\n";
$.each(e.errors, function (key, value) {
if ('errors' in value) {
$.each(value.errors, function () {
message += this + "\n";
});
}
});
alert(message);
}
}
var userid = "";
function onEdit(e) {
$(e.container).find("td:last").html("<a href='javascript: void(0)' class='abutton update' onclick='updateRow()' title='button update'>button update</a> " +
"<a href='javascript: void(0)' class='abutton cancel' onclick='cancelRow()' title='button cancel'>button cancel</a>");
}
function cancelRow() {
grid = $("#userList").data("kendoGrid");
grid.cancelRow();
}
function editRow(element) {
grid = $("#userList").data("kendoGrid");
grid.editRow($(element).closest("tr"));
}
function updateRow() {
grid = $("#userList").data("kendoGrid");
grid.saveRow();
}
function deleteRow(element, userId) {
grid = $("#userList").data("kendoGrid");
console.log(userId);
$("#DeletedUserIDHidden").val(userId);
$("#SubRoleListReAssign").data("kendoGrid").dataSource.read();
$("#ReAssignApprovalGroups").modal('show');
//var ds = grid.dataSource;
//var dataItem = grid.dataItem($(element.target).closest("tr"));
//var rowViewIndex = $(element).closest("tr").index();
//var index = ((ds.page() - 1) * ds.pageSize()) + rowViewIndex;
//var myRowData = $("#userList").data().kendoGrid.dataSource.at(index);
//console.log(myRowData);
//grid.data.
//grid.removeRow($(element).closest("tr"));
}
function createRow() {
grid = $("#userList").data("kendoGrid");
grid.addRow();
}
function buildButtons(oooStatusWithUserID) {
var uid = oooStatusWithUserID.split('~')[0];
var oooStatus = oooStatusWithUserID.split('~')[1];
var userName = oooStatusWithUserID.split('~')[2];
var template = "";
if (oooStatus == '0') {
template = "<input type='button' value='Set OOO ' class='btn btn-primary btn-xs' id='" + uid + "-" + userName + "'" + "onclick='SetOOOStatus(this)'/>";
}
else
{
template = "<input type='button' value='Expire OOO' class='btn btn-warning btn-xs' id='" + uid + "-" + userName + "'" + "onclick='Expire(this)'/>";
}
return template;
}
function buildShowGroupsButton(UserID) {
var uid = oooStatusWithUserID.split('~')[0];
var template = "";
template = "<input type='button' value='Edit Approval Groups ' class='btn btn-primary btn-xs' id='" + UserID + "' " + "onclick='ShowApprovalGroup(this)'/>";
return template;
}
function SetOOOStatus(e) {
$("#txtStartDate").val('');
$("#txtEndDate").val('');
id = e.id;
userid = id.split('-')[0];
var userName = id.split('-')[1];
$('#currentUser').text("Out Of Office for user: " + userName);
$("#OOODialog").modal('show');
return false;
}
$('#SaveOOOInfo').on('click', function () {
var bfound = false;
//var currentDate = new Date();
var delegate = "";
var isChecked = $("#AssignDelegate").is(":checked");
if (isChecked === true)
delegate = $("#DelegateTo").data("kendoDropDownList").value();
else
delegate = "0";
if (userid == delegate) {
alert('The OOO person cannot be same as the delegate to person');
return false;
}
var fullDate = new Date()
//convert month to 2 digits
var twoDigitMonth = ((fullDate.getMonth().length + 1) === 1) ? (fullDate.getMonth() + 1) : '0' + (fullDate.getMonth() + 1);
var tempCurrentDate = twoDigitMonth + "/" + fullDate.getDate() + "/" + fullDate.getFullYear();
var arrCurrDate = tempCurrentDate.split('/');
var currentDate = new Date(arrCurrDate[2], arrCurrDate[0] - 1, arrCurrDate[1]);
if (!$("#txtStartDate").val() || !$("#txtEndDate").val()) {
alert('Start or the End Date cannot be blank');
return false;
}
var stDateEntered = $("#txtStartDate").val();
var arrStDate = stDateEntered.split('/');
var stDate = new Date(arrStDate[2], arrStDate[0] - 1, arrStDate[1]);
var endDateEntered = $("#txtEndDate").val();
var arrEndDate = endDateEntered.split('/');
var endDate = new Date(arrEndDate[2], arrEndDate[0] - 1, arrEndDate[1]);
if (stDate < currentDate) {
alert("Start Date should be greater than the or equal to Current Date ");
return false;
}
if (endDate <= stDate) {
alert("The End Date should be greater than the Start Date ");
return false;
}
$("#OOODialog").modal('hide');
var urlString = '/Admin/EnableOOOStatus';
$.ajax({
type: "Post",
url: urlString,
data: {
oooUserID: userid,
delegatedTo: delegate,
startDate: $("#txtStartDate").val(),
endDate: $("#txtEndDate").val(),
},
success: function (result) {
if (result == "3") {
alert('The user which you selected for Delegation is already a delegator for another user\n Please select a different user for Delgation')
}
else {
var grid = $("#userList").data("kendoGrid");
grid.dataSource.read();
}
},
error: function (result) {
alert("Failed " + result);
}
});
return false;
});
function Expire(e) {
id = e.id;
userid = id.split('-')[0];
var userName = id.split('-')[1];
if (confirm('Are you sure you want to expire the OOO setting for user: ' + userName))
{
var urlString = '/Admin/ExpireOOOStatus';
$.ajax({
type: "Post",
url: urlString,
data: {
oooUserID: userid
},
success: function (result) {
var grid = $("#userList").data("kendoGrid");
grid.dataSource.read();
},
error: function (result) {
alert("Failed " + result);
}
});
}
return false;
}
function ShowApprovalGroup(UserId) {
$("#UserIDHidden").val(UserId);
$("#SubRoleList").data("kendoGrid").dataSource.read();
$("#UserApprovalGroupsDialog").modal('show');
}
function ShowApprovalGroupReAssign(UserId) {
$("#DeletedUserIDHidden").val(UserId);
$("#SubRoleListReAssign").data("kendoGrid").dataSource.read();
$("#UserApprovalGroupsDialog").modal('show');
}
function GetUserID() {
var userId = $("#UserIDHidden").val();
return { userId : userId};
}
function GetDeletedUserID()
{
var userId = $("#DeletedUserIDHidden").val();
return { userId: userId };
}
function ShowUserTasks(UserId) {
$("#TaskUserIDHidden").val(UserId);
$("#UserTaskList").data("kendoGrid").dataSource.read();
$("#UserAssignedTasksDialog").modal('show');
}
function GetTaskListUserID() {
var userId = $("#TaskUserIDHidden").val();
return { userId: userId };
}
function ShowRoleUserSelector(SubRoleID) {
var userBeingDeleted = $("#DeletedUserIDHidden").val()
$("#hiddenRoleId").val(SubRoleID);
$("#RoleReAssignPromptDeletedUserHidden").val(userBeingDeleted)
$("#RoleReAssignPrompt").modal('show');
}
function SubmitRoleAssignment() {
var userToAssign = $("#selectedUserToReassign").data("kendoDropDownList").value();
var roleToAssign = $("#hiddenRoleId").val();
var userBeingDeleted = $("#RoleReAssignPromptDeletedUserHidden").val();
$.ajax({
url: "/Admin/ReplaceUserRoles",
type: "POST",
datatype: "json",
data: {
subRole: roleToAssign,
users: userToAssign
},
success: function (data) {
alert(data);
DeleteUserFromRole(roleToAssign, userBeingDeleted);
$("#RoleReAssignPrompt").modal('hide');
},
error: function (result) {
alert("Failed " + result);
}
});
}
function DeleteUserFromRole(subRoleId, userId) {
$.ajax({
url: "/Admin/DeleteUserRoles",
type: "POST",
datatype: "json",
data: {
subRole: subRoleId,
users: userId
},
success: function (data) {
$("#SubRoleListReAssign").data("kendoGrid").dataSource.read();
return;
},
error: function (result) {
alert("Failed " + result);
}
});
}
function InactivateUser() {
if (confirm("Are you sure you wish to de-activate this user?")) {
var userId = $("#DeletedUserIDHidden").val();
$.ajax({
url: "/Admin/DeleteUser",
type: "POST",
datatype: "json",
data: {
userId: userId
},
success: function (data) {
alert(data);
$("#ReAssignApprovalGroups").modal('hide');
$("#userList").data("kendoGrid").dataSource.read();
},
error: function (result) {
alert("Failed " + result);
}
});
}
else {
return;
}
}
</script>