initial add
This commit is contained in:
791
Fab2ApprovalSystem/Views/Admin/Index.cshtml
Normal file
791
Fab2ApprovalSystem/Views/Admin/Index.cshtml
Normal file
@ -0,0 +1,791 @@
|
||||
@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%;
|
||||
}
|
||||
|
||||
/*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.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">×</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="CurrentUser">Delegate To:</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<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">×</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">×</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">×</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("#=PendingApprovers#","#=CloseDate#","#=DocID#", "#=DocumentType#","#=SubmitedDate#");'>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">×</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 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();
|
||||
|
||||
|
||||
if (userid == $("#DelegateTo").data("kendoDropDownList").value())
|
||||
{
|
||||
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: $("#DelegateTo").data("kendoDropDownList").value(),
|
||||
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>
|
Reference in New Issue
Block a user