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
$scope.currentBillabilityDateChange = function(){
$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) {
var project = $scope.projectId;
var projectName = $scope.projectName;
var managerModel = $scope.managerModel;
var account = $scope.account;
var managerId=$scope.managerId;
var managerName=$scope.managerName;
var employeeModel = $scope.employeeModel;
var projectModel = $scope.projectModel;
var domain = $scope.domain;
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(employeeModel == undefined || employeeModel.employeeName == undefined){
$scope.alertMsg = "Please select a employee";
......@@ -1087,21 +1138,46 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
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"){
addRecord(record,action);
}else if(action == "Update"){
updateTeamRecord(record,action);
$timeout(function(){
getProjectDetails(project,$scope.status);
$scope.myForm.$setPristine();
} else if (action == "Update") {
if ($scope.DataUpdate() != true) {
$mdDialog.show($mdDialog.alert({
skipHide: true,
title: 'Attention',
textContent: 'There is no data change to Update',
ok: 'ok'
}))
}
else {
updateTeamRecord(record, action);
$timeout(function () {
getProjectDetails(project, $scope.status);
removeTab('Add');
$mdDialog.show($mdDialog.alert({
skipHide: true,
textContent: 'Employee Updated',
ok: 'ok'
}));
},500);
})).then(function () {
$scope.myForm.$setPristine();
})
;
}, 500);
}
}
}
}
else{
};
$scope.validateProjectFields = function (action){
var domain = $scope.domain;
var account = $scope.account;
var projectName = $scope.projectName;
var deliveryLeadsSelectedList = $scope.deliveryLeadsSelectedList;
var projectStartDate = $scope.projectStartDate;
var projectEndDate = $scope.projectEndDate;
var projectStatus = $scope.projectStatus;
if (action == "Assign" || action == "Update")
if (projectName == "") {
$scope.alertMsg = "Project Name is mandatory";
document.getElementById('projectName').focus();
......@@ -1130,110 +1206,81 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
document.getElementById('projectEndDate').focus();
}
else if (projectStartDate >= projectEndDate){
$scope.alertMsg = "Start date should be grater than end date";
$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);
$timeout(function () { updateGrid($scope.templateTitle, record) }, 500);
}
};
}}
$scope.cancel = function () {
var showConfirmDialog = false;
if(dataToPass.action=="Update"){
if($scope.domain != undefined){
$scope.previousData={
ProjectID:dataToPass.projectId,
ProjectName:dataToPass.projectName,
Account:dataToPass.account,
Domain:dataToPass.domain,
ProjectStatus:dataToPass.status
}
$scope.currentData={
ProjectID:$scope.projectId,
ProjectName:$scope.projectName,
Account:$scope.account.accountName,
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){
if (dataToPass.action == "Update") {
if ($scope.domain != undefined) {
if (isDataUpdated() != true) {
$mdDialog.hide('Cancelled');
}
else{
else {
$mdDialog.show($mdDialog.confirm({
skipHide: true,
textContent: 'Are you sure you want to cancel this?',
ok: 'ok',
cancel:'cancel'
})).then(function(){
cancel: 'cancel'
})).then(function () {
$mdDialog.hide('Cancelled');
})
}
}
else{
else {
$mdDialog.show($mdDialog.confirm({
skipHide: true,
textContent: 'Are you sure you want to cancel this?',
ok: 'ok',
cancel:'cancel'
})).then(function(){
cancel: 'cancel'
})).then(function () {
$mdDialog.hide('Cancelled');
})
}
}
if(dataToPass.action=="Assign"){
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) {
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(){
cancel: 'cancel'
})).then(function () {
$mdDialog.hide('Cancelled');
})
}
else{
else {
$mdDialog.hide('Cancelled');
}
}
......@@ -1241,9 +1288,57 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$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,
......@@ -1260,6 +1355,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
}
}
};
$scope.getEmployeeSelected = function(){
......
......@@ -115,7 +115,7 @@
</md-dialog-content>
<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>
<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