initial add
This commit is contained in:
505
Fab2ApprovalSystem/Views/Home/_HomeLayout.cshtml
Normal file
505
Fab2ApprovalSystem/Views/Home/_HomeLayout.cshtml
Normal file
@ -0,0 +1,505 @@
|
||||
@using Microsoft.AspNet.Identity
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>@ViewBag.Title - Mesa Approval</title>
|
||||
@Styles.Render("~/Content/kendo/css")
|
||||
@Styles.Render("~/Content/css")
|
||||
@Styles.Render("~/Content/jqw/css")
|
||||
|
||||
|
||||
@Scripts.Render("~/bundles/modernizr")
|
||||
@Scripts.Render("~/bundles/jquery")
|
||||
@Scripts.Render("~/bundles/kendo")
|
||||
|
||||
|
||||
@*<script src="~/Scripts/bootstrap.js"></script>
|
||||
<script src="~/Scripts/respond.js"></script>*@
|
||||
@Scripts.Render("~/bundles/bootstrap")
|
||||
@Scripts.Render("~/Content/jqw/jq")
|
||||
|
||||
<link rel="stylesheet" href="/Content/kendo/kendo.blueopal.min.css" />
|
||||
<link rel="stylesheet" href="~/Content/kendogridcustom.css" />
|
||||
<style>
|
||||
.red {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.hide {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
.k-menu .k-link
|
||||
{
|
||||
color: crimson;
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
|
||||
</head>
|
||||
|
||||
<body class="navbar-inner">
|
||||
<div class=" navbar navbar-inverse navbar-fixed-top">
|
||||
<div>
|
||||
<div class="navbar-header">
|
||||
@if (Request.IsAuthenticated)
|
||||
{
|
||||
@*@Html.ActionLink("Home", "Index", "Home", new { tabName = "MyTasks" }, new { @class = "navbar-brand" })*@
|
||||
@Html.ActionLink("Home", "MyTasks", "Home", null, new { @class = "navbar-brand" })
|
||||
}
|
||||
</div>
|
||||
<div class="navbar-collapse collapse">
|
||||
<ul class="nav navbar-nav">
|
||||
<li>@Html.ActionLink("Reports", "Index", "Reports")</li>
|
||||
@if ((bool)@Session[GlobalVars.IS_ADMIN])
|
||||
{
|
||||
<li>@Html.ActionLink("Admin", "Index", "Admin")</li>
|
||||
}
|
||||
</ul>
|
||||
@Html.Partial("_LoginPartial")
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<nav class="navbar navbar-default" role="navigation" style="font-size: 11px">
|
||||
|
||||
<div class="container-fluid">
|
||||
<!-- Collect the nav links, forms, and other content for toggling -->
|
||||
|
||||
<ul class="nav navbar-nav" id="myTab">
|
||||
@*<li><a href=@Url.Action("SpecialWorkRequest", "Home", new { tabName = "AllTasks" })>Special Work Requests</a></li>*@
|
||||
@*<li><a href="file:////temirwfp001.irworld.irf.com/UserData/QA/CommonRO/Projects/AVI Tool/">AVI Tool</a></li>*@
|
||||
<li class="dropdown">
|
||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Create New<b class="caret"></b></a>
|
||||
<ul class="dropdown-menu" style="font-size: 11px">
|
||||
@*<li><a href=@Url.Action("Create", "LotDisposition")>Lot Dispostion</a></li>*@
|
||||
<li><a href=@Url.Action("Create", "MRB")>MRB</a></li>
|
||||
<li><a href=@Url.Action("Create", "ECN")>ECN/TECN</a></li>
|
||||
@*<li><a href=@Url.Action("CreateWorkRequest", "LotTraveler")>Create Special Work Request</a></li>*@
|
||||
<li><a href=@Url.Action("Create", "ChangeControl")>Create PCR</a></li>
|
||||
<li><a href=@Url.Action("Create", "Audit")>Create Audit</a></li>
|
||||
<li><a href=@Url.Action("Create", "CorrectiveAction")>Create Corrective Action</a></li>
|
||||
@*@if (Convert.ToBoolean(Session[GlobalVars.CAN_CREATE_PARTS_REQUEST]))
|
||||
{
|
||||
<li><a href=@Url.Action("Create", "PartsRequest")>Create New/Repair Spare Parts Request</a></li>
|
||||
}*@
|
||||
@*<li><a href="#">Another Doc</a></li>*@
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<form class="navbar-form navbar-right" role="search">
|
||||
@*<div class="form-group">
|
||||
<input type="text" class="form-control" placeholder="Search" style="font-size: 11px">
|
||||
</div>*@
|
||||
@if (!(bool)Session[GlobalVars.OOO])
|
||||
{
|
||||
<button class="btn btn-default btn-primary" data-toggle="modal" id="OOO">Out Of Office</button>
|
||||
}
|
||||
else
|
||||
{
|
||||
<button class="btn btn-default btn-warning" id="OOOExpire">Expire OOO Status</button>
|
||||
}
|
||||
@*<button type="submit" class="btn btn-primary" style="font-size: 11px">Submit</button>*@
|
||||
</form>
|
||||
|
||||
<!-- /.navbar-collapse -->
|
||||
</div><!-- /.container-fluid -->
|
||||
</nav>
|
||||
|
||||
|
||||
|
||||
@(Html.Kendo().Menu()
|
||||
.Name("menu")
|
||||
.HtmlAttributes(new { style = "width:100%; font-size: 12px" })
|
||||
.Items(menu =>
|
||||
{
|
||||
menu.Add().Text("My Inbox").Action("MyTasks", "Home");
|
||||
menu.Add().Text("My Training").Action("ViewMyTrainingAssignments", "Training");
|
||||
menu.Add().Text("Training Reports").Action("TrainingReports", "Training");
|
||||
menu.Add().Text("All Documents").Action("AllDocuments", "Home");
|
||||
//menu.Add().Text("Special Work Requests").Action("SpecialWorkRequestList", "Home");
|
||||
menu.Add().Text("PCRB").Action("ChangeControlList", "Home");
|
||||
menu.Add().Text("MRB").Action("MRBList", "Home");
|
||||
//menu.Add().Text("LotDisposition").Action("LotDispositionList", "Home");
|
||||
menu.Add().Text("ECN").Action("ECNList", "Home");
|
||||
menu.Add().Text("Audit").Action("AuditList", "Home");
|
||||
menu.Add().Text("Corrective Action").Action("CorrectiveActionList", "Home");
|
||||
//menu.Add().Text("New/Repair Spare Parts").Action("PartsRequestList", "Home");
|
||||
}))
|
||||
<div>
|
||||
@RenderBody()
|
||||
@*<hr />*@
|
||||
<footer>
|
||||
<p>© @DateTime.Now.Year - Infineon Technologies</p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<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: @User.Identity.GetUserName()</h4>
|
||||
</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">
|
||||
<input type="text" id="test"/>
|
||||
</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>
|
||||
|
||||
<script>
|
||||
var issueID="";
|
||||
var docType = "";
|
||||
var submitdate = "";
|
||||
var userName = "@Session[@GlobalVars.SESSION_USERNAME].ToString()";
|
||||
|
||||
$(document).ready(function () {
|
||||
})
|
||||
|
||||
@*$("#mytasklist").on("dblclick", "tr.k-state-selected", function (e) {
|
||||
var grid = $("#mytasklist").data("kendoGrid");
|
||||
var row = e.currentTarget;
|
||||
var issueID = row.cells[0].innerText; //
|
||||
|
||||
var url = '@Url.Action("Edit", "LotDisposition", new { issueID = "__id__" })';
|
||||
window.location.href = url.replace('__id__', issueID);
|
||||
})
|
||||
|
||||
$("#alltasklist").on("dblclick", "tr.k-state-selected", function (e) {
|
||||
var grid = $("#mytalltasklistasklist").data("kendoGrid");
|
||||
var row = e.currentTarget;
|
||||
var issueID = row.cells[0].innerText; //
|
||||
|
||||
var url = '@Url.Action("Edit", "LotDisposition", new { issueID = "__id__" })';
|
||||
window.location.href = url.replace('__id__', issueID);
|
||||
})*@
|
||||
|
||||
var userid = @Session[@GlobalVars.SESSION_USERID].ToString()
|
||||
|
||||
|
||||
$("#IncludeAllDocuments").on("click", function () {
|
||||
alert("clicked");
|
||||
})
|
||||
|
||||
|
||||
$('#OOO').on('click', function () {
|
||||
|
||||
|
||||
$("#OOODialog").modal('show');
|
||||
return false;
|
||||
})
|
||||
|
||||
|
||||
$('#OOOExpire').on('click', function () {
|
||||
//alert('in');
|
||||
var tab = $('#currentTab').val();
|
||||
|
||||
var urlString = '@Url.Action("ExpireOOOStatus", "Home")'; // '/Home/ExpireOOOStatus';
|
||||
|
||||
if (confirm('Are you sure you want to expire the OOO status')) {
|
||||
$.ajax({
|
||||
type: "Post",
|
||||
url: urlString,
|
||||
data: {
|
||||
tab: tab
|
||||
},
|
||||
success: function (result) {
|
||||
var urlString = '@Url.Action("MyTasks", "Home")'
|
||||
window.location.href = urlString;
|
||||
|
||||
},
|
||||
error: function (result) {
|
||||
alert("Failed " + result.responseText);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
return false;
|
||||
})
|
||||
|
||||
|
||||
$('#SaveOOOInfo').on('click', function () {
|
||||
var tab = $('#currentTab').val();
|
||||
var bfound = false;
|
||||
|
||||
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 or equal the 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 = '/Home/SetOOOStatus';
|
||||
var urlString = '@Url.Action("SetOOOStatus", "Home")';
|
||||
$.ajax({
|
||||
type: "Post",
|
||||
url: urlString,
|
||||
data: {
|
||||
//oooUserID: userids,
|
||||
delegatedTo: $("#DelegateTo").data("kendoDropDownList").value(),
|
||||
startDate: $("#txtStartDate").val(),
|
||||
endDate: $("#txtEndDate").val(),
|
||||
tab: tab
|
||||
},
|
||||
success: function (result) {
|
||||
if (result == "9") {
|
||||
alert('The user which you selected for Delegation has already been assigned to another user for Delegation\n Please select a different user for Delgation')
|
||||
}
|
||||
else {
|
||||
//var url = '@Url.Action("Index", "Home", new { tabName = "rep" })';
|
||||
var url = '@Url.Action("MyTasks", "Home")';
|
||||
window.location.href = url;
|
||||
}
|
||||
|
||||
},
|
||||
error: function (result) {
|
||||
alert("Failed " + result.responseText);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
return false;
|
||||
|
||||
});
|
||||
|
||||
|
||||
function deleteRow(element) {
|
||||
grid = $("#alltasklist").data("kendoGrid");
|
||||
grid.removeRow($(element).closest("tr"));
|
||||
}
|
||||
|
||||
|
||||
function showReAssignRole(_pendingApprovers, _closeDate, _issueID, _docType, _submitDate) {
|
||||
//alert(_closeDate);;
|
||||
//alert(_pendingApprovers);
|
||||
if (_pendingApprovers.indexOf(userName) == -1)
|
||||
{
|
||||
alert("You are not one of the approvers for this document");
|
||||
return;
|
||||
}
|
||||
|
||||
if (_submitDate == 'null')
|
||||
{
|
||||
alert("Cannot delegate the document as it has not been submitted yet");
|
||||
return;
|
||||
}
|
||||
|
||||
if (_closeDate != 'null') {
|
||||
alert("Cannot delegate as the approval loop has already been closed");
|
||||
return;
|
||||
}
|
||||
|
||||
issueID = _issueID;
|
||||
docType = _docType;
|
||||
|
||||
submitdate = _submitDate;
|
||||
|
||||
$('#ReAssignApproverFromLabel').text(userName);
|
||||
// var searchText = ($("#txtSearch").val());
|
||||
var url = "/Home/GetAllUsersList";
|
||||
var source =
|
||||
{
|
||||
datatype: "json",
|
||||
datafields: [
|
||||
{ name: 'UserID' },
|
||||
{ name: 'FullName' }
|
||||
],
|
||||
id: 'id',
|
||||
url: url,
|
||||
};
|
||||
var dataAdapter = new $.jqx.dataAdapter(source);
|
||||
// Create a jqxListBox
|
||||
$("#lstReAssignApproval").jqxListBox({
|
||||
multipleextended: false, theme: "arctic", source: dataAdapter, displayMember: "FullName", valueMember: "UserID", width: 200, height: 250
|
||||
});
|
||||
|
||||
$("#ReAssignApproval").modal('show');
|
||||
|
||||
|
||||
//alert(dataItem.FullName);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
$('#ConfirmReAssignment').on('click', function () {
|
||||
// get selected items.
|
||||
var bfound = false;
|
||||
var userids;
|
||||
var itemsToAdd = $('#lstReAssignApproval').jqxListBox('getSelectedItems');
|
||||
|
||||
if (itemsToAdd.length > 0) {
|
||||
for (var i = 0; i < itemsToAdd.length; i++) {
|
||||
if (itemsToAdd[i].label != undefined) {
|
||||
var tempvalue = itemsToAdd[i].value;
|
||||
var templabel = itemsToAdd[i].label;
|
||||
if (userids == null)
|
||||
userids = tempvalue;
|
||||
else
|
||||
userids += "~" + tempvalue;
|
||||
}
|
||||
};
|
||||
//
|
||||
|
||||
ReAssignApproval(userids);
|
||||
}
|
||||
$("#ReAssignApproval").modal('hide');
|
||||
|
||||
return false;
|
||||
});
|
||||
|
||||
var ReAssignApproval = function (userids) {
|
||||
var urlString = '/Home/DelegateDocumentApproval';
|
||||
|
||||
$.ajax({
|
||||
type: "Post",
|
||||
url: urlString,
|
||||
data: {
|
||||
|
||||
issueID: issueID,
|
||||
delegateTo: userids,
|
||||
ecnTypeString: docType
|
||||
},
|
||||
success: function (result) {
|
||||
|
||||
var grid = $("#mytasklist").data("kendoGrid");
|
||||
grid.dataSource.read();
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
};
|
||||
|
||||
</script>
|
Reference in New Issue
Block a user