diff --git a/.vs/Fab2ApprovalSystem/config/applicationhost.config b/.vs/Fab2ApprovalSystem/config/applicationhost.config deleted file mode 100644 index 282b71b..0000000 --- a/.vs/Fab2ApprovalSystem/config/applicationhost.config +++ /dev/null @@ -1,1034 +0,0 @@ - - - - - - - -
-
-
-
-
-
-
-
- - - -
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
-
- -
-
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
- -
-
- -
-
-
- - -
-
-
-
-
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.vs/Fab2ApprovalSystem/v17/TestStore/0/testlog.manifest b/.vs/Fab2ApprovalSystem/v17/TestStore/0/testlog.manifest deleted file mode 100644 index e92ede2..0000000 Binary files a/.vs/Fab2ApprovalSystem/v17/TestStore/0/testlog.manifest and /dev/null differ diff --git a/Fab2ApprovalSystem/Controllers/AccountController.cs b/Fab2ApprovalSystem/Controllers/AccountController.cs index cab641b..3b3aae8 100644 --- a/Fab2ApprovalSystem/Controllers/AccountController.cs +++ b/Fab2ApprovalSystem/Controllers/AccountController.cs @@ -123,6 +123,7 @@ namespace Fab2ApprovalSystem.Controllers Session[GlobalVars.SESSION_USERID] = user.UserID; Session[GlobalVars.SESSION_USERNAME] = user.FullName; Session[GlobalVars.IS_ADMIN] = user.IsAdmin; + Session[GlobalVars.IS_MANAGER] = user.IsManager; Session[GlobalVars.OOO] = user.OOO; Session[GlobalVars.CAN_CREATE_PARTS_REQUEST] = user.IsAdmin || PartsRequestController.CanCreatePartsRequest(user.UserID); diff --git a/Fab2ApprovalSystem/Controllers/CorrectiveActionController.cs b/Fab2ApprovalSystem/Controllers/CorrectiveActionController.cs index b0a886e..cb83a15 100644 --- a/Fab2ApprovalSystem/Controllers/CorrectiveActionController.cs +++ b/Fab2ApprovalSystem/Controllers/CorrectiveActionController.cs @@ -321,6 +321,25 @@ namespace Fab2ApprovalSystem.Controllers return View(ca); + } + public void ReleaseLockOnDocumentAdmin(int issueID) + { + try + { + caDMO.ReleaseLockOnDocument(-1, issueID); + } + catch (Exception e) + { + try + { + Functions.WriteEvent(@User.Identity.Name + "\r\n ReleaseLockOnDocument CA\r\n" + issueID.ToString() + "\r\n" + e.Message, System.Diagnostics.EventLogEntryType.Error); + } + catch { } + caDMO.ReleaseLockOnDocument(-1, issueID); + + } + + } /// /// @@ -334,6 +353,10 @@ namespace Fab2ApprovalSystem.Controllers return Json(caDMO.GetCAAttachmentsList(caNo, Functions.CASectionMapper(GlobalVars.CASection.D2)).ToDataSourceResult(request)); } + public ActionResult Attachment_Read([DataSourceRequest] DataSourceRequest request, int caNO) + { + return Json(caDMO.GetCAAttachmentsList(caNO, "Main").ToDataSourceResult(request), JsonRequestBehavior.AllowGet); + } /// /// @@ -405,14 +428,14 @@ namespace Fab2ApprovalSystem.Controllers /// /// /// - public ActionResult D2FilesAttachSave(IEnumerable D2Files, int caNo) + public ActionResult AttachSave(IEnumerable files, int caNo) { try { // The Name of the Upload component is "files" - if (D2Files != null) + if (files != null) { - foreach (var file in D2Files) + foreach (var file in files) { // Some browsers send file names with full path. // We are only interested in the file name. @@ -439,8 +462,7 @@ namespace Fab2ApprovalSystem.Controllers FileGUID = guid, FileName = fileName, UploadedByID = (int)Session[GlobalVars.SESSION_USERID], - Section = Functions.CASectionMapper(GlobalVars.CASection.D2) - + Section = Functions.CASectionMapper(GlobalVars.CASection.Main) }; diff --git a/Fab2ApprovalSystem/Controllers/HomeController.cs b/Fab2ApprovalSystem/Controllers/HomeController.cs index c065426..ea3370d 100644 --- a/Fab2ApprovalSystem/Controllers/HomeController.cs +++ b/Fab2ApprovalSystem/Controllers/HomeController.cs @@ -405,10 +405,28 @@ namespace Fab2ApprovalSystem.Controllers ldDMO.DeleteLotDisposition(issue.IssueID); else if (dType == GlobalVars.DocumentType.ECN) ecnDMO.DeleteDocument(issue.IssueID, int.Parse(Session[GlobalVars.SESSION_USERID].ToString()), "ECN"); + else if (dType == GlobalVars.DocumentType.CorrectiveAction) + ldDMO.DeleteCADocument(issue.IssueID, int.Parse(Session[GlobalVars.SESSION_USERID].ToString()), "Corrective Action"); + return Json(new[] { issue }.ToDataSourceResult(request, ModelState)); } + /// + /// + /// + /// + /// + /// + [AcceptVerbs(HttpVerbs.Post)] + public ActionResult DeleteCAItem([DataSourceRequest] DataSourceRequest request, CorrectiveAction ca) + { + ldDMO.DeleteCADocument(ca.CANo, int.Parse(Session[GlobalVars.SESSION_USERID].ToString()), "Corrective Action"); + + + return Json(new[] { ca }.ToDataSourceResult(request, ModelState)); + } + /// /// /// diff --git a/Fab2ApprovalSystem/Controllers/ManagerController.cs b/Fab2ApprovalSystem/Controllers/ManagerController.cs new file mode 100644 index 0000000..9e9a271 --- /dev/null +++ b/Fab2ApprovalSystem/Controllers/ManagerController.cs @@ -0,0 +1,37 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using Fab2ApprovalSystem.DMO; +using Fab2ApprovalSystem.Misc; + +namespace Fab2ApprovalSystem.Controllers +{ + [Authorize] + [SessionExpireFilter] + public class ManagerController : Controller + { + UserAccountDMO userDMO = new UserAccountDMO(); + AdminDMO adminDMO = new AdminDMO(); + TrainingDMO trainingDMO = new TrainingDMO(); + LotDispositionDMO ldDMO = new LotDispositionDMO(); + + /// + /// + /// + /// + public ActionResult Index() + { + + if ((bool)Session[GlobalVars.IS_MANAGER]) + { + var model = userDMO.GetAllUsers(); + ViewBag.AllActiveUsers = userDMO.GetAllActiveUsers(); + return View(model); + } + else + return Content("Not Autthorized"); + } + } +} diff --git a/Fab2ApprovalSystem/Controllers/TrainingController.cs b/Fab2ApprovalSystem/Controllers/TrainingController.cs index bf7bcd1..eece2b5 100644 --- a/Fab2ApprovalSystem/Controllers/TrainingController.cs +++ b/Fab2ApprovalSystem/Controllers/TrainingController.cs @@ -726,7 +726,7 @@ namespace Fab2ApprovalSystem.Controllers emailBody += "

" + training.ECN + " - " + ecnTitle + "

"; emailBody += ""; - emailBody += ""; + emailBody += ""; List openAssignments = trainingDMO.GetOpenAssignmentsByTrainingID(training.TrainingID); foreach (TrainingAssignment assignment in openAssignments) { @@ -734,7 +734,14 @@ namespace Fab2ApprovalSystem.Controllers string DateAssigned = assignmentDate.HasValue ? assignmentDate.Value.ToString("MM/dd/yyyy") : ""; - emailBody += ""; + emailBody += ""; + + if (userDMO.GetUserByID(assignment.UserID).OOO) + emailBody += ""; + else + emailBody += ""; + + emailBody += ""; } emailBody += "
NameDate Assigned
NameDate AssignedOut of Office
" + assignment.FullName + "" + DateAssigned + "
" + assignment.FullName + "" + DateAssigned + "X
"; diff --git a/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs b/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs index c26df41..c4b8f97 100644 --- a/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs +++ b/Fab2ApprovalSystem/DMO/CorrectiveActionDMO.cs @@ -325,7 +325,6 @@ namespace Fab2ApprovalSystem.DMO /// public IEnumerable GetCAAttachmentsList(int caNo, string section) { - var parameters = new DynamicParameters(); parameters.Add("@CANo", caNo); parameters.Add("@Section", section); @@ -885,6 +884,7 @@ namespace Fab2ApprovalSystem.DMO } } + public IEnumerable GetECNList() { var parameters = new DynamicParameters(); diff --git a/Fab2ApprovalSystem/DMO/LotDispositionDMO.cs b/Fab2ApprovalSystem/DMO/LotDispositionDMO.cs index 1938dec..b737c97 100644 --- a/Fab2ApprovalSystem/DMO/LotDispositionDMO.cs +++ b/Fab2ApprovalSystem/DMO/LotDispositionDMO.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.Configuration; using System.Data; @@ -489,6 +489,16 @@ namespace Fab2ApprovalSystem.DMO } + public void DeleteCADocument(int CANo, int userID, string caTypeString) + { + var parameters = new DynamicParameters(); + parameters.Add("@UserID", userID); + parameters.Add("@CANo", CANo); + parameters.Add("@CAType", caTypeString); + + this.db.Execute("_8DDeleteCADocument", parameters, commandType: CommandType.StoredProcedure); + } + /// /// /// @@ -1413,4 +1423,4 @@ namespace Fab2ApprovalSystem.DMO return fileName; } } -} \ No newline at end of file +} diff --git a/Fab2ApprovalSystem/Fab2ApprovalSystem.csproj b/Fab2ApprovalSystem/Fab2ApprovalSystem.csproj index 8111bb4..18955e8 100644 --- a/Fab2ApprovalSystem/Fab2ApprovalSystem.csproj +++ b/Fab2ApprovalSystem/Fab2ApprovalSystem.csproj @@ -100,6 +100,7 @@ + @@ -1847,6 +1848,8 @@ + + diff --git a/Fab2ApprovalSystem/Misc/Functions.cs b/Fab2ApprovalSystem/Misc/Functions.cs index 9f52c90..3d8fa4b 100644 --- a/Fab2ApprovalSystem/Misc/Functions.cs +++ b/Fab2ApprovalSystem/Misc/Functions.cs @@ -359,6 +359,9 @@ namespace Fab2ApprovalSystem.Misc { switch (casection) { + case GlobalVars.CASection.Main: + return "Main"; + case GlobalVars.CASection.D1: return "D1"; diff --git a/Fab2ApprovalSystem/Misc/GlobalVars.cs b/Fab2ApprovalSystem/Misc/GlobalVars.cs index ef82574..7c7c074 100644 --- a/Fab2ApprovalSystem/Misc/GlobalVars.cs +++ b/Fab2ApprovalSystem/Misc/GlobalVars.cs @@ -14,6 +14,7 @@ namespace Fab2ApprovalSystem.Misc public const string SESSION_USERID = "UserID"; public const string ECN_VIEW_OPTION = "ECN_ViewOption"; public const string IS_ADMIN = "IsAdmin"; + public const string IS_MANAGER = "IsManager"; public const string OOO = "OOO"; public const string SUCCESS = "Success"; public const string CAN_CREATE_PARTS_REQUEST = "CanCreatePartsRequest"; @@ -107,7 +108,7 @@ namespace Fab2ApprovalSystem.Misc public enum CASection { - D1, D2, D3, D4, D5,D6, D7, D8, CF + Main, D1, D2, D3, D4, D5,D6, D7, D8, CF } diff --git a/Fab2ApprovalSystem/Models/AccountViewModels.cs b/Fab2ApprovalSystem/Models/AccountViewModels.cs index 819ad9e..5b5d0ba 100644 --- a/Fab2ApprovalSystem/Models/AccountViewModels.cs +++ b/Fab2ApprovalSystem/Models/AccountViewModels.cs @@ -23,6 +23,7 @@ namespace Fab2ApprovalSystem.Models public string FullName { get; set; } public bool IsAdmin { get; set; } + public bool IsManager { get; set; } public bool IsActive { get; set; } public DateTime? LastLogin { get; set; } diff --git a/Fab2ApprovalSystem/Models/EightDModel.cs b/Fab2ApprovalSystem/Models/EightDModel.cs index 10f1c6f..414e2e5 100644 --- a/Fab2ApprovalSystem/Models/EightDModel.cs +++ b/Fab2ApprovalSystem/Models/EightDModel.cs @@ -213,6 +213,7 @@ namespace Fab2ApprovalSystem.Models public DateTime? ApprovedDate { get; set; } public bool RecordLockIndicator { get; set; } public int RecordLockedBy { get; set; } + public string RecordLockByName { get; set; } public bool RecordLocked { get; set; } public DateTime RecordLockedDate { get; set; } public DateTime LastUpdateDate { get; set; } diff --git a/Fab2ApprovalSystem/Views/Admin/Index.cshtml b/Fab2ApprovalSystem/Views/Admin/Index.cshtml index 0fb22f5..b5a1016 100644 --- a/Fab2ApprovalSystem/Views/Admin/Index.cshtml +++ b/Fab2ApprovalSystem/Views/Admin/Index.cshtml @@ -28,6 +28,10 @@ width: 100%; } + .hiddenDelegate { + display: none; + } + /*InLine Edit Mode*/ @@ -44,7 +48,7 @@ columns.Bound(l => l.IsActive); //columns.Template(@).ClientTemplate(""); columns.Bound(l => l.IsAdmin); - + columns.Bound(l => l.IsManager); columns.Bound(l => l.LastLogin).Format("{0:MM/dd/yy hh:mm:ss}"); @@ -160,8 +164,22 @@