Commit d2823a8d authored by nakavaram-nisum-com's avatar nakavaram-nisum-com Committed by rbonthala-nisum-com

MT-143 defect update in manage projects (#138)

parent 00d149ce
...@@ -1028,22 +1028,73 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS ...@@ -1028,22 +1028,73 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.currentBillabilityDateChange = function(){ $scope.currentBillabilityDateChange = function(){
$scope.startDate = $scope.newBillingStartDate ; $scope.startDate = $scope.newBillingStartDate ;
} }
isDataUpdated = function () {
console.log(dataToPass);
if (dataToPass.action == "Update") {
$scope.previousData = {
ProjectID: dataToPass.projectId,
ProjectName: dataToPass.projectName,
Account: dataToPass.account,
Domain: dataToPass.domain,
ProjectStatus: dataToPass.status,
StartDate:new Date(dataToPass.projectStartDate),
EndDate:new Date(dataToPass.projectEndDate)
}
console.log($scope.projectStartDate);
$scope.currentData = {
ProjectID: $scope.projectId,
ProjectName: $scope.projectName,
Account: $scope.account.accountName,
Domain: $scope.domain.domainName,
ProjectStatus: $scope.projectStatus,
StartDate:$scope.projectStartDate,
EndDate:$scope.projectEndDate
}
var predata = JSON.stringify($scope.previousData);
var curdata = JSON.stringify($scope.currentData);
var exsistingMangersList = dataToPass.deliveryLeadIds;
var temp = [];
temp.push($scope.deliveryLeadsSelectedList);
var currentMangersList = temp;
var managerCheck = false;
if (exsistingMangersList.length === currentMangersList.length) {
var temp1 = [];
var temp2 = [];
for (var i in exsistingMangersList) {
temp1.push(exsistingMangersList[i].employeeId);
}
for (var j in currentMangersList) {
temp2.push(currentMangersList[j].employeeId);
}
for (var k = 0; k < exsistingMangersList.length; k++) {
if (temp2.indexOf(temp1[k]) > -1) {
managerCheck = true;
} else {
managerCheck = false;
}
}
} else {
managerCheck = false;
}
if (predata === curdata && managerCheck) {
//$mdDialog.hide('Cancelled');
return false;
}
return true
}
}
$scope.validateFields = function (action) { $scope.validateFields = function (action) {
var project = $scope.projectId; var project = $scope.projectId;
var projectName = $scope.projectName; var projectName = $scope.projectName;
var managerModel = $scope.managerModel;
var account = $scope.account; var account = $scope.account;
var managerId=$scope.managerId; var managerId=$scope.managerId;
var managerName=$scope.managerName; var managerName=$scope.managerName;
var employeeModel = $scope.employeeModel; var employeeModel = $scope.employeeModel;
var projectModel = $scope.projectModel; var projectModel = $scope.projectModel;
var domain = $scope.domain;
var newBillingStartDate = $scope.newBillingStartDate var newBillingStartDate = $scope.newBillingStartDate
var deliveryLeadsSelectedList = $scope.deliveryLeadsSelectedList;
var projectStartDate = $scope.projectStartDate;
var projectEndDate = $scope.projectEndDate;
var projectStatus = $scope.projectStatus;
if(action === "Add" || action =="Update"){ if(action === "Add" || action =="Update"){
if(employeeModel == undefined || employeeModel.employeeName == undefined){ if(employeeModel == undefined || employeeModel.employeeName == undefined){
$scope.alertMsg = "Please select a employee"; $scope.alertMsg = "Please select a employee";
...@@ -1086,178 +1137,223 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS ...@@ -1086,178 +1137,223 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.alertMsg = ""; $scope.alertMsg = "";
var record = {"id":$scope.id,"employeeId":employeeModel.employeeId, "employeeName":employeeModel.employeeName, "emailId": employeeModel.emailId, "designation":employeeModel.designation,"projectId":project,"projectName":projectName,"managerId":managerId,"managerName":managerName,"mobileNumber":employeeModel.mobileNumber,"active":true,"billableStatus":$scope.empBillableStatus,"startDate":$scope.startDate,"endDate":$scope.endDate,"account":account,"role":$scope.employeeRole,"newBillingStartDate":newBillingStartDate,"accountId":$scope.accountId,"domainId":$scope.domainId,"shift":$scope.employeeShift,"projectStartDate":$scope.startDate,"projectEndDate":$scope.endDate}; var record = {"id":$scope.id,"employeeId":employeeModel.employeeId, "employeeName":employeeModel.employeeName, "emailId": employeeModel.emailId, "designation":employeeModel.designation,"projectId":project,"projectName":projectName,"managerId":managerId,"managerName":managerName,"mobileNumber":employeeModel.mobileNumber,"active":true,"billableStatus":$scope.empBillableStatus,"startDate":$scope.startDate,"endDate":$scope.endDate,"account":account,"role":$scope.employeeRole,"newBillingStartDate":newBillingStartDate,"accountId":$scope.accountId,"domainId":$scope.domainId,"shift":$scope.employeeShift,"projectStartDate":$scope.startDate,"projectEndDate":$scope.endDate};
if(action == "Add"){ if(action == "Add"){
addRecord(record,action); addRecord(record,action);
}else if(action == "Update"){ $scope.myForm.$setPristine();
updateTeamRecord(record,action); } else if (action == "Update") {
$timeout(function(){ if ($scope.DataUpdate() != true) {
getProjectDetails(project,$scope.status); $mdDialog.show($mdDialog.alert({
removeTab('Add');
$mdDialog.show($mdDialog.alert({
skipHide: true, skipHide: true,
textContent: 'Employee Updated', title: 'Attention',
ok: 'ok' textContent: 'There is no data change to Update',
})); ok: 'ok'
},500); }))
} }
else {
updateTeamRecord(record, action);
$timeout(function () {
getProjectDetails(project, $scope.status);
removeTab('Add');
$mdDialog.show($mdDialog.alert({
skipHide: true,
textContent: 'Employee Updated',
ok: 'ok'
})).then(function () {
$scope.myForm.$setPristine();
})
;
}, 500);
}
}
} }
} }
else{ };
if (projectName == "") { $scope.validateProjectFields = function (action){
$scope.alertMsg = "Project Name is mandatory"; var domain = $scope.domain;
document.getElementById('projectName').focus(); var account = $scope.account;
} else if (account == undefined || account == "") { var projectName = $scope.projectName;
$scope.alertMsg = "Account is mandatory"; var deliveryLeadsSelectedList = $scope.deliveryLeadsSelectedList;
document.getElementById('account').focus(); var projectStartDate = $scope.projectStartDate;
var projectEndDate = $scope.projectEndDate;
} else if (domain == undefined || domain == "") { var projectStatus = $scope.projectStatus;
$scope.alertMsg = "Domain is mandatory";
document.getElementById('domain').focus(); if (action == "Assign" || action == "Update")
} if (projectName == "") {
else if(deliveryLeadsSelectedList.employeeName == undefined || deliveryLeadsSelectedList.employeeName == ""){ $scope.alertMsg = "Project Name is mandatory";
$scope.alertMsg = "Please select a Delivery Lead"; document.getElementById('projectName').focus();
document.getElementById('deliveryLead').focus(); } else if (account == undefined || account == "") {
} $scope.alertMsg = "Account is mandatory";
else if(projectStatus == undefined){ document.getElementById('account').focus();
$scope.alertMsg = "Please select a Project Status";
document.getElementById('projectStatus').focus(); } else if (domain == undefined || domain == "") {
} $scope.alertMsg = "Domain is mandatory";
else if (projectStartDate == undefined){ document.getElementById('domain').focus();
$scope.alertMsg = "Please select project start date"; }
document.getElementById('projectStartDate').focus(); else if(deliveryLeadsSelectedList.employeeName == undefined || deliveryLeadsSelectedList.employeeName == ""){
} $scope.alertMsg = "Please select a Delivery Lead";
else if (projectEndDate == undefined){ document.getElementById('deliveryLead').focus();
$scope.alertMsg = "Please select project end date"; }
document.getElementById('projectEndDate').focus(); else if(projectStatus == undefined){
} $scope.alertMsg = "Please select a Project Status";
else if (projectStartDate >= projectEndDate){ document.getElementById('projectStatus').focus();
$scope.alertMsg = "Start date should be grater than end date";
} }
else { else if (projectStartDate == undefined){
$scope.alertMsg = ""; $scope.alertMsg = "Please select project start date";
console.log($scope.projectStatus,$scope.domain.domainId); document.getElementById('projectStartDate').focus();
var record = { "projectId": $scope.projectId, "projectName": $scope.projectName,"account": $scope.account.accountName, "domain": $scope.domain.domainName, "accountId":$scope.account.accountId, "domainId": $scope.domain.domainId, "managerIds": [], "deliveryLeadIds":getSelectedDeliveryLeadIds(), "status": $scope.projectStatus, "projectStartDate": $scope.projectStartDate, "projectEndDate": $scope.projectEndDate }; }
console.log(record); else if (projectEndDate == undefined){
$scope.alertMsg = "Please select project end date";
document.getElementById('projectEndDate').focus();
}
else if (projectStartDate >= projectEndDate){
$scope.alertMsg = "Start date should not be greater than end date";
}
else {
$scope.alertMsg = "";
console.log($scope.projectStatus,$scope.domain.domainId);
var record = { "projectId": $scope.projectId, "projectName": $scope.projectName,"account": $scope.account.accountName, "domain": $scope.domain.domainName, "accountId":$scope.account.accountId, "domainId": $scope.domain.domainId, "managerIds": [], "deliveryLeadIds":getSelectedDeliveryLeadIds(), "status": $scope.projectStatus, "projectStartDate": $scope.projectStartDate, "projectEndDate": $scope.projectEndDate };
console.log(record);
if(action == "Update"){
if (isDataUpdated() != true) {
$mdDialog.show($mdDialog.alert({
skipHide: true,
title: 'Attention',
textContent: 'There is no data change to Update',
ok: 'ok'
}))
}
else {
addOrUpdateProject(record, $scope.templateTitle);
$timeout(function () { updateGrid($scope.templateTitle, record) }, 500);
}
}else{
addOrUpdateProject(record, $scope.templateTitle); addOrUpdateProject(record, $scope.templateTitle);
$timeout(function () { updateGrid($scope.templateTitle, record) }, 500); $timeout(function () { updateGrid($scope.templateTitle, record) }, 500);
} }
} }}
};
$scope.cancel = function () { $scope.cancel = function () {
var showConfirmDialog = false; var showConfirmDialog = false;
if(dataToPass.action=="Update"){ if (dataToPass.action == "Update") {
if($scope.domain != undefined){ if ($scope.domain != undefined) {
$scope.previousData={ if (isDataUpdated() != true) {
ProjectID:dataToPass.projectId, $mdDialog.hide('Cancelled');
ProjectName:dataToPass.projectName, }
Account:dataToPass.account, else {
Domain:dataToPass.domain, $mdDialog.show($mdDialog.confirm({
ProjectStatus:dataToPass.status skipHide: true,
} textContent: 'Are you sure you want to cancel this?',
$scope.currentData={ ok: 'ok',
ProjectID:$scope.projectId, cancel: 'cancel'
ProjectName:$scope.projectName, })).then(function () {
Account:$scope.account.accountName, $mdDialog.hide('Cancelled');
Domain:$scope.domain.domainName, })
ProjectStatus:$scope.projectStatus, }
}
var predata=JSON.stringify($scope.previousData);
var curdata=JSON.stringify($scope.currentData);
var exsistingMangersList = dataToPass.deliveryLeadIds;
var temp=[];
temp.push($scope.deliveryLeadsSelectedList);
var currentMangersList =temp;
var managerCheck = false;
if(exsistingMangersList.length === currentMangersList.length){
var temp1 = [];
var temp2 = [];
for (var i in exsistingMangersList){
temp1.push(exsistingMangersList[i].employeeId);
}
for (var j in currentMangersList){
temp2.push(currentMangersList[j].employeeId);
}
for(var k=0;k<exsistingMangersList.length;k++){
if(temp2.indexOf(temp1[k]) > -1){
managerCheck = true;
}else{
managerCheck = false;
}
}
}else{
managerCheck = false;
}
if(predata === curdata && managerCheck){
$mdDialog.hide('Cancelled');
}
else{
$mdDialog.show($mdDialog.confirm({
skipHide: true,
textContent: 'Are you sure you want to cancel this?',
ok: 'ok',
cancel:'cancel'
})).then(function(){
$mdDialog.hide('Cancelled');
})
}
} }
else{ else {
$mdDialog.show($mdDialog.confirm({ $mdDialog.show($mdDialog.confirm({
skipHide: true, skipHide: true,
textContent: 'Are you sure you want to cancel this?', textContent: 'Are you sure you want to cancel this?',
ok: 'ok', ok: 'ok',
cancel:'cancel' cancel: 'cancel'
})).then(function(){ })).then(function () {
$mdDialog.hide('Cancelled'); $mdDialog.hide('Cancelled');
}) })
} }
}
if (dataToPass.action == "Assign") {
var totalFields = $scope.myForm.$$controls;
for (key in totalFields) {
console.log("Model value of" + key + " ==>" + totalFields[key].$modelValue)
if (totalFields[key].$modelValue !== '' && totalFields[key].$modelValue !== undefined && totalFields[key].$modelValue.length !== 0) {
console.log("Came here!");
showConfirmDialog = true;
} }
if(dataToPass.action=="Assign"){
var totalFields = $scope.myForm.$$controls;
for (key in totalFields) {
console.log("Model value of" + key + " ==>" + totalFields[key].$modelValue)
if(totalFields[key].$modelValue !== '' && totalFields[key].$modelValue !== undefined && totalFields[key].$modelValue.length !== 0) {
console.log("Came here!");
showConfirmDialog = true;
} }
} if (showConfirmDialog) {
if(showConfirmDialog){
$mdDialog.show($mdDialog.confirm({
skipHide: true,
textContent: 'Are you sure you want to cancel this?',
ok: 'ok',
cancel:'cancel'
})).then(function(){
$mdDialog.hide('Cancelled');
})
}
else{
$mdDialog.hide('Cancelled');
}
}
};
$scope.cancelDialog = function() {
$mdDialog.hide('Cancelled');
};
$scope.cancelTab = function () {
if (dataToPass.action == "View") {
if ($scope.myForm.$dirty) {
$mdDialog.show($mdDialog.confirm({ $mdDialog.show($mdDialog.confirm({
skipHide: true, skipHide: true,
textContent: 'Are you sure you want to cancel this?', textContent: 'Are you sure you want to cancel this?',
ok: 'ok', ok: 'ok',
cancel: 'cancel' cancel: 'cancel'
})).then(function () { })).then(function () {
removeTab("cancel"); $mdDialog.hide('Cancelled');
$scope.myForm.$setPristine();
}) })
} }
else { else {
removeTab("cancel") $mdDialog.hide('Cancelled');
}
}
};
$scope.cancelDialog = function() {
$mdDialog.hide('Cancelled');
};
$scope.DataUpdate = function () {
var data = $scope.parentData;
if (data.role == "Individual Contributor") {
var roleselected = "Employee";
} else {
roleselected = data.role;
}
$scope.previousData = {
Role: roleselected,
Shift: data.shift,
Billabilitystatus: data.billableStatus,
newBilligStartDate: new Date(data.newBillingStartDate),
Startdate: data.startDate,
Enddate: data.endDate
},
$scope.currentData = {
Role: $scope.employeeRole,
Shift: $scope.employeeShift,
Billabilitystatus: $scope.empBillableStatus,
newBilligStartDate: $scope.newBillingStartDate,
Startdate: $scope.startDate,
Enddate: $scope.endDate
}
var predata = JSON.stringify($scope.previousData);
var curdata = JSON.stringify($scope.currentData);
if (predata == curdata) {
return false;
}
return true;
}
$scope.cancelTab = function () {
if (dataToPass.action == "View") {
if ($scope.templateTitle == "Update") {
if ($scope.DataUpdate() == false) {
removeTab("cancel");
}
else {
$mdDialog.show($mdDialog.confirm({
skipHide: true,
textContent: 'Are you sure you want to cancel this?',
ok: 'ok',
cancel: 'cancel'
})).then(function () {
removeTab("cancel");
$scope.myForm.$setPristine();
})
}
}
if ($scope.templateTitle == "Add") {
console.log($scope.myForm);
if ($scope.myForm.$dirty) {
$mdDialog.show($mdDialog.confirm({
skipHide: true,
textContent: 'Are you sure you want to cancel this?',
ok: 'ok',
cancel: 'cancel'
})).then(function () {
removeTab("cancel");
$scope.myForm.$setPristine();
})
}
else {
removeTab("cancel")
}
} }
} }
}; };
......
...@@ -115,7 +115,7 @@ ...@@ -115,7 +115,7 @@
</md-dialog-content> </md-dialog-content>
<md-dialog-actions layout="row"> <md-dialog-actions layout="row">
<md-button class="md-raised" data-ng-click="validateFields('{{templateTitle}}')" style="width:120px;background: cadetblue;color:white;"> <md-button class="md-raised" data-ng-click="validateProjectFields(templateTitle)" style="width:120px;background: cadetblue;color:white;">
<span ng-show="templateTitle == 'Assign' ">Add</span> <span ng-show="templateTitle != 'Assign' ">{{templateTitle}}</span> </md-button> <span ng-show="templateTitle == 'Assign' ">Add</span> <span ng-show="templateTitle != 'Assign' ">{{templateTitle}}</span> </md-button>
<md-button class="md-raised" ng-click="cancel()" style="width:120px;background: cadetblue;color:white;"> <md-button class="md-raised" ng-click="cancel()" style="width:120px;background: cadetblue;color:white;">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment