Commit 8d950be2 authored by mduppanapudi-nisum-com's avatar mduppanapudi-nisum-com Committed by tdutta-nisum-com

Feature/mt 105 (#71)

* Add flow and update flow was working

* For account with no domain

* Add flow and update flow was working

* For account with no domain

* Resolving merge confilcts

* adding new feature if no domain

* Add flow and update flow was working

* For account with no domain

* Add flow and update flow was working

* For account with no domain

* Resolving merge confilcts

* changes in MT_105 and resolved

* Integration issues
parent 781ca05c
......@@ -33,7 +33,7 @@ public class Project implements Serializable {
//private String managerId;
// private String managerName;
// private String account;
// private String domain;
private String domain;
private String status;
private List<String> employeeIds;
private List<String> managerIds;
......
......@@ -143,8 +143,9 @@ public class ProjectServiceImpl implements ProjectService {
{
Domains domain=new Domains();
domain.setAccountId(project.getAccountId());
domain.setDomainId(project.getDomainId());
domain.setDomainName(project.getDomain());
domain.setDeliveryManagers(project.getManagerIds());
domain.setStatus(project.getStatus());
domainController.addDomain(domain);
}
return projectRepo.save(project);
......@@ -795,8 +796,8 @@ public class ProjectServiceImpl implements ProjectService {
List<EmployeeRoles> employeeRoles = mongoTemplate.find(query, EmployeeRoles.class);
for (EmployeeRoles employeesRole : employeeRoles) {
HashMap<String, String> managerMap = new HashMap<>();
managerMap.put("id", employeesRole.getEmployeeId());
managerMap.put("name", employeesRole.getEmployeeName());
managerMap.put("employeeId", employeesRole.getEmployeeId());
managerMap.put("employeeName", employeesRole.getEmployeeName());
EmployeeList.add(managerMap);
}
return EmployeeList;
......
......@@ -305,7 +305,7 @@ myApp.controller("loginController",function($scope, myFactory, $compile, $window
}else if(role == "Delivery Manager" || role == "Director"){
menuItems.push({"menu" : "Manage Accounts","icon" : "fa fa fa-user fa-2x","path" : "templates/accounts.html"});
menuItems.push({"menu" : "Manage Employees","icon" : "fa fa-user-plus fa-2x","path" : "templates/roles.html"});
// menuItems.push({"menu" : "Manage Team","icon" : "fa fa-sitemap fa-2x","path" : "templates/projectDetails.html"});
menuItems.push({"menu" : "Manage Team","icon" : "fa fa-sitemap fa-2x","path" : "templates/projectDetails.html"});
menuItems.push({"menu" : "Manage Domains","icon" : "fa fa-handshake-o","path" : "templates/domains.html"});
menuItems.push({"menu" : "Manage Projects","icon" : "fa fa-tasks fa-2x","path" : "templates/projects.html"});
menuItems.push({"menu" : "Manage Visa","icon" : "fa fa-tasks fa-2x","path" : "templates/visaList.html"});
......
......@@ -35,7 +35,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
{ field: 'projectName', displayName: 'Project ', enableColumnMenu: false, enableSorting: true, enableFiltering: true },
{ field: 'account', displayName: 'Account ', enableColumnMenu: false, enableSorting: true, enableFiltering: true },
//{field : 'managerId',displayName: 'Manager ID ', enableColumnMenu: false, enableSorting: false},
{ field: 'managerIds', displayName: 'Manager Name ', cellTemplate: '<div ng-repeat= "item in row.entity[col.field]">{{item.name}}<span ng-hide="$last">,</span></div>', enableColumnMenu: false, enableSorting: true, enableFiltering: true },
{ field: 'managerIds', displayName: 'Manager Name ', cellTemplate: '<div ng-repeat= "item in row.entity[col.field]">{{item.employeeName}}<span ng-hide="$last">,</span></div>', enableColumnMenu: false, enableSorting: true, enableFiltering: true },
{ field: 'status', displayName: 'Status ', enableColumnMenu: false, enableSorting: true, enableFiltering: false },
{ name: 'Actions', displayName: 'Actions', cellTemplate: getCellTemplate, enableColumnMenu: false, enableSorting: false, enableFiltering: false, width: 130 }
]
......@@ -43,6 +43,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.gridOptions.data = $scope.records;
$scope.getRowData = function (row, action) {
console.log(row.entity);
$scope.parentData.projectId = row.entity.projectId;
$scope.parentData.projectName = row.entity.projectName;
$scope.parentData.account = row.entity.account;
......@@ -256,11 +257,11 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
function AddProjectController($scope, $mdDialog, dataToPass, gridOptionsData, managers, $window, $mdSelect) {
console.log(managers,dataToPass);
$scope.templateTitle = dataToPass.action;
$scope.alertMsg = "";
$scope.isDisabled = false;
$scope.result = "";
$scope.managerDetails = managers;
$scope.employee;
$scope.projectModel;
$scope.isSecondTab = false;
......@@ -270,6 +271,7 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.selectedTab = 0;
$scope.managersSelectedList = [];
$scope.employeeInTeam = [];
$scope.domains = [];
// code added
$scope.searchTerm = "";
......@@ -329,23 +331,28 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
// $(".leads-data").text($("#lead .lead-search .md-select-value span .md-text").text().append('<span class="glyphicon glyphicon-remove" style="margin-left: 5px;"></span>'));
}
$scope.removeSelectedLead = function (item) {
var index = $scope.managersSelectedList.indexOf(item);
$scope.managersSelectedList.splice(index, 1);
}
// $scope.removeSelectedLead = function (item) {
// var index = $scope.managersSelectedList.indexOf(item);
// $scope.managersSelectedList.splice(index, 1);
// }
$scope.closeSelectBox = function () {
$mdSelect.hide();
}
getSelectedLead = function () {
$scope.managersSelectedList.forEach(function (manager) {
if (!$scope.employeeInTeam.includes(manager.employeeId))
$scope.employeeInTeam.push(manager.employeeId);
})
return $scope.employeeInTeam;
var managerIds = [];
if($scope.managersSelectedList.name){
managerIds.push($scope.managersSelectedList.id)
}
else{
managerIds.push($scope.managersSelectedList.employeeId)
}
return managerIds;
}
$scope.getEmployeeDetails = function(){
$http({
method : "GET",
......@@ -363,8 +370,10 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.projectName = "";
$scope.managerId = "";
$scope.managerName = "";
$scope.domains;
$scope.isDisabled = false;
} else if (dataToPass.action == "Update") {
console.log("$scope.domains",$scope.domains)
$scope.projectId = dataToPass.projectId;
$scope.projectName = dataToPass.projectName;
$scope.managerId = dataToPass.managerId;
......@@ -375,8 +384,11 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
$scope.account = accounts1[i];
}
}
$scope.domain = dataToPass.domain;
console.log(dataToPass.managerIds[0]);
$scope.managersSelectedList = dataToPass.managerIds[0];
$scope.domain = {"domainName":dataToPass.domain,"domainId":dataToPass.domainId};
$scope.projectStatus = dataToPass.status;
$scope.managerModel = {
'employeeName': dataToPass.managerName,
......@@ -539,7 +551,25 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
};
function getDomainsAssoicatedToAccount(id){
$http({
method : "GET",
url : appConfig.appUri + "/user/getDomains?accountId="+id
}).then(function mySuccess(response) {
var result = response.data;
if(result != "" || result.length != 0){
$scope.domains = result;
}
else{
$scope.domains = [
{domainName: $scope.account.accountName}
]
}
}, function myError(response) {
});
}
$scope.getAccountText = function () {
if ($scope.account !== undefined) {
......@@ -548,13 +578,47 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
return "Please select account";
}
};
$scope.onAccountChange = function(){
if($scope.account.accountId){
getDomainsAssoicatedToAccount($scope.account.accountId);
}
};
$scope.getDomainText = function () {
console.log($scope.domain,$scope.domains);
if ($scope.domain !== undefined) {
return $scope.domain;
return $scope.domain.domainName;
} else {
return "Please select domain";
}
};
$scope.onDomainChange = function(){
if($scope.domain.domainId !== undefined){
getManagersAssociatedToDomain($scope.domain.domainId);
}
else{
$scope.managerDetails = managers;
}
}
function getManagersAssociatedToDomain(id){
$http({
method : "GET",
url : appConfig.appUri + "/user/getDeliveryLeads?domainId="+id
}).then(function mySuccess(response) {
var result = response.data;
if(result != "" || result.length != 0){
$scope.managerDetails = result;
console.log($scope.managerDetails);
}
}, function myError(response) {
// showProgressDialog("Something went wrong redirecting to login page!!!");
});
}
$scope.validateEmpId = function () {
var searchId = $scope.empId;
if (searchId != "" && isNaN(searchId)) {
......@@ -606,9 +670,9 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
}
return false;
}
$scope.getSelected = function () {
if ($scope.managersSelectedList.length > 0) {
return null;
$scope.getSelectedManager = function () {
if (Object.keys($scope.managersSelectedList).length > 0) {
return $scope.managersSelectedList.employeeName;
} else {
return "Please select a lead";
}
......@@ -628,7 +692,8 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
var employeeModel = $scope.employeeModel;
var projectModel = $scope.projectModel;
var domain = $scope.domain;
var domain = $scope.domain.domainName;
console.log(domain);
var newBillingStartDate = $scope.newBillingStartDate
if(action === "Add"){
......@@ -694,8 +759,9 @@ myApp.controller("projectController", function ($scope, myFactory, exportUiGridS
// }
else {
$scope.alertMsg = "";
console.log(getSelectedLead());
var record = { "projectId": $scope.projectId, "projectName": $scope.projectName, "managerIds": getSelectedLead(), "status": $scope.projectStatus, "account": $scope.account.accountName, "domain": $scope.domain };
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": getSelectedLead(), "status": $scope.projectStatus};
console.log(record);
addOrUpdateProject(record, $scope.templateTitle);
$timeout(function () { updateGrid($scope.templateTitle, record) }, 500);
}
......
......@@ -20,7 +20,7 @@
<b>Project ID</b>
</td>
<td colspan="8">
<input type="text" class="form-control" id="projectId" name="projectId" ng-model="projectId" placeholder="Project Id Auto Generates" ng-blur="" ng-disabled="true" />
<input type="text" class="form-control" id="projectId" name="projectId" ng-model="projectId" placeholder="Project Id Auto Generates" ng-disabled="true" />
</td>
</tr>
<tr>
......@@ -37,7 +37,7 @@
<b>Account</b>
</td>
<td colspan="8">
<md-select ng-model="account" md-selected-text="getAccountText()" id="account">
<md-select ng-model="account" md-selected-text="getAccountText()" ng-change="onAccountChange()" id="account">
<md-optgroup label="account">
<md-option ng-value="account1" ng-repeat="account1 in accounts">{{account1.accountName}}</md-option>
</md-optgroup>
......@@ -50,9 +50,9 @@
<b>Domain</b>
</td>
<td colspan="8">
<md-select ng-model="domain" md-selected-text="getDomainText()" id="domain">
<md-select ng-model="domain" md-selected-text="getDomainText()" ng-change="onDomainChange()" id="domain">
<md-optgroup label="domain">
<md-option ng-value="domain" ng-repeat="domain in account.subDomains">{{domain}}</md-option>
<md-option ng-value="domain" ng-repeat="domain in domains">{{domain.domainName}}</md-option>
</md-optgroup>
</md-select>
</td>
......@@ -61,24 +61,16 @@
<td colspan="4">
<b>Lead</b>
</td>
<td colspan="8">
<div class="leads-data" ng-show="managersSelectedList.length > 0">
<div ng-repeat="item in managersSelectedList">
<p> {{item.employeeName}}
<span ng-click="removeSelectedLead(item)" class="glyphicon glyphicon-remove"></span>
</p>
</div>
</div>
<td colspan="8">
<div style="display: block; float: left; width: 100%;">
<md-select ng-model="managersSelectedList" data-md-container-class="selectHeader" md-selected-text="getSelected()" multiple >
<md-select ng-model="managersSelectedList" data-md-container-class="selectHeader" md-selected-text="getSelectedManager()" >
<md-select-header class="selectHeaderChild header-spacing" layout="column">
<input ng-model="searchTerm" type="search" ng-keydown="updateSearch($event)" ng-model-options="{debounce: {'default': 500, 'blur': 0}}"
placeholder="Please Search for a lead" class="searchBoxHeader demo-header-searchbox md-text search-spacingleft" />
<span class="glyphicon glyphicon-remove close-mdselect" ng-click="closeSelectBox()"></span>
</md-select-header>
<md-optgroup label="managers" class="optionScroll">
<md-option ng-value="manager" ng-repeat="manager in managerDetails | filter:searchFilter">{{manager.employeeName}}</md-option>
<md-option ng-value="manager" ng-repeat="manager in managerDetails | filter:searchFilter">{{manager.employeeName}}{{manager.name}}</md-option>
</md-optgroup>
</md-select>
</div>
......@@ -108,7 +100,7 @@
</md-dialog-content>
<md-dialog-actions layout="row">
<md-button class="md-raised" data-ng-click="validateFields()" style="width:120px;background: cadetblue;color:white;">
<md-button class="md-raised" data-ng-click="validateFields('{{templateTitle}}')" style="width:120px;background: cadetblue;color:white;">
{{templateTitle}} </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