Skip to content

Commit

Permalink
Merge pull request #69 from TAMULib/sprint5-64-66
Browse files Browse the repository at this point in the history
Refactor Remote Products to Remote Projects
  • Loading branch information
kaladay committed May 21, 2020
2 parents b11e3b4 + fa33e80 commit 5b1655f
Show file tree
Hide file tree
Showing 51 changed files with 899 additions and 883 deletions.
26 changes: 13 additions & 13 deletions app/config/apiMapping.js
Expand Up @@ -115,47 +115,47 @@ var apiMapping = {
'method': 'update'
}
},
RemoteProductManager: {
RemoteProjectManager: {
validations: true,
lazy: true,
channel: '/channel/remote-product-manager',
channel: '/channel/remote-project-manager',
all: {
'endpoint': '/private/queue',
'controller': 'remote-product-manager',
'controller': 'remote-project-manager',
'method': '',
'httpMethod': 'GET'
},
create: {
'endpoint': '/private/queue',
'controller': 'remote-product-manager',
'controller': 'remote-project-manager',
'method': '',
'httpMethod': 'POST'
},
update: {
'endpoint': '/private/queue',
'controller': 'remote-product-manager',
'controller': 'remote-project-manager',
'method': '',
'httpMethod': 'PUT'
},
remove: {
'endpoint': '/private/queue',
'controller': 'remote-product-manager',
'controller': 'remote-project-manager',
'method': '',
'httpMethod': 'DELETE'
},
listen: {
'endpoint': '/channel',
'controller': 'remote-product-manager'
'controller': 'remote-project-manager'
},
types: {
'endpoint': '/channel',
'controller': 'remote-product-manager',
'controller': 'remote-project-manager',
'method': 'types/',
'httpMethod': 'GET'
},
scaffolding: {
'endpoint': '/channel',
'controller': 'remote-product-manager',
'controller': 'remote-project-manager',
'method': 'scaffolding/:type/',
'httpMethod': 'GET'
}
Expand Down Expand Up @@ -193,21 +193,21 @@ var apiMapping = {
'controller': 'status'
}
},
RemoteProducts: {
RemoteProjects: {
lazy: true,
all: {
'endpoint': '/private/queue',
'controller': 'products/remote'
'controller': 'projects/remote'
},
byProduct: {
'endpoint': '/private/queue',
'controller': 'products',
'method': 'remote-products/:productId',
'method': 'remote-projects/:productId',
'httpMethod': 'GET'
},
listen: {
'endpoint': '/channel',
'controller': 'products/remote'
'controller': 'projects/remote'
}
},
ProductsStats: {
Expand Down
25 changes: 13 additions & 12 deletions app/controllers/internalRequestController.js
Expand Up @@ -27,17 +27,17 @@ app.controller('InternalRequestController', function ($controller, $scope, ApiRe

$scope.resetInternalRequestForms();

$scope.selectRemoteProducts = function () {
$scope.selectRemoteProjects = function () {
if ($scope.featureRequestToPush.product && $scope.featureRequestToPush.product.id) {
if (!$scope.remoteProducts[$scope.featureRequestToPush.product.id]) {
$scope.refreshRemoteProducts($scope.featureRequestToPush.product.id);
if (!$scope.remoteProjects[$scope.featureRequestToPush.product.id]) {
$scope.refreshRemoteProjectsForProduct($scope.featureRequestToPush.product.id);
}
}
};

$scope.refreshRemoteProducts = function (productId) {
if (productId && !$scope.remoteProductsLoading[productId]) {
ProductsService.refreshRemoteProducts(productId);
$scope.refreshRemoteProjectsForProduct = function (productId) {
if (productId && !$scope.remoteProjectsLoading[productId]) {
ProductsService.refreshRemoteProjectsForProduct(productId);
}
};

Expand Down Expand Up @@ -88,9 +88,9 @@ app.controller('InternalRequestController', function ($controller, $scope, ApiRe
$scope.pushFeatureRequest = function () {
for (var key in $scope.products) {
if ($scope.products[key].id == $scope.featureRequestToPush.product.id) {
for (var k in $scope.products[key].remoteProductInfo) {
if ($scope.products[key].remoteProductInfo[k].scopeId == $scope.featureRequestToPush.scopeId) {
$scope.featureRequestToPush.rpmId = $scope.products[key].remoteProductInfo[k].remoteProductManager.id;
for (var k in $scope.products[key].remoteProjectInfo) {
if ($scope.products[key].remoteProjectInfo[k].scopeId == $scope.featureRequestToPush.scopeId) {
$scope.featureRequestToPush.rpmId = $scope.products[key].remoteProjectInfo[k].remoteProjectManager.id;
break;
}
}
Expand Down Expand Up @@ -154,15 +154,16 @@ app.controller('InternalRequestController', function ($controller, $scope, ApiRe
ProductsService.ready.then(null, null, function () {
$scope.products = ProductsService.getProducts();
$scope.productsLoading = ProductsService.getProductsLoading();
$scope.remoteProducts = ProductsService.getRemoteProducts();
$scope.remoteProductsLoading = ProductsService.getRemoteProductsLoading();
$scope.remoteProjects = ProductsService.getRemoteProjects();
$scope.remoteProjectsLoading = ProductsService.getRemoteProjectsLoading();
});

InternalRequestRepo.listen([ApiResponseActions.CREATE, ApiResponseActions.DELETE, ApiResponseActions.UPDATE], function () {
$scope.internalRequests.length = 0;

var internalRequests = InternalRequestRepo.getAll();
for (var i in internalRequests) {
$scope.internalRequests.push(internalRequests[i]);
$scope.internalRequests.push(internalRequests[i]);
}
});
}
Expand Down
68 changes: 34 additions & 34 deletions app/controllers/productController.js
@@ -1,4 +1,4 @@
app.controller('ProductController', function ($controller, $scope, ApiResponseActions, ProductRepo, RemoteProductManagerRepo, RemoteProductsService) {
app.controller('ProductController', function ($controller, $scope, ApiResponseActions, ProductRepo, RemoteProjectManagerRepo, RemoteProjectsService) {

angular.extend(this, $controller('AbstractController', {
$scope: $scope
Expand All @@ -10,11 +10,11 @@ app.controller('ProductController', function ($controller, $scope, ApiResponseAc

$scope.productToDelete = {};

$scope.addingRemoteProductInfo = false;
$scope.remoteProductInfoChanged = false;
$scope.addingRemoteProjectInfo = false;
$scope.remoteProjectInfoChanged = false;

$scope.remoteProductInfoToAdd = {
remoteProductManager: null,
$scope.remoteProjectInfoToAdd = {
remoteProjectManager: null,
scopeId: null
};

Expand All @@ -23,10 +23,10 @@ app.controller('ProductController', function ($controller, $scope, ApiResponseAc
getResults: ProductRepo.getValidationResults
};

$scope.closeAddRemoteProductInfo = function() {
$scope.addingRemoteProductInfo = false;
$scope.remoteProductInfoToAdd = {
remoteProductManager: null,
$scope.closeAddRemoteProjectInfo = function() {
$scope.addingRemoteProjectInfo = false;
$scope.remoteProjectInfoToAdd = {
remoteProjectManager: null,
scopeId: null
};
};
Expand All @@ -38,8 +38,8 @@ app.controller('ProductController', function ($controller, $scope, ApiResponseAc
$scope.productForms[key].$setPristine();
}
}
$scope.closeAddRemoteProductInfo();
$scope.remoteProductInfoChanged = false;
$scope.closeAddRemoteProjectInfo();
$scope.remoteProjectInfoChanged = false;
$scope.closeModal();
};

Expand Down Expand Up @@ -94,45 +94,45 @@ app.controller('ProductController', function ($controller, $scope, ApiResponseAc
});
};

$scope.openAddRemoteProductInfo = function() {
$scope.addingRemoteProductInfo = true;
$scope.openAddRemoteProjectInfo = function() {
$scope.addingRemoteProjectInfo = true;
};

$scope.addRemoteProductInfo = function(remoteProductInfo, remoteProduct) {
remoteProductInfo.push(remoteProduct);
$scope.remoteProductInfoChanged = true;
$scope.closeAddRemoteProductInfo();
$scope.addRemoteProjectInfo = function(remoteProjectInfo, remoteProject) {
remoteProjectInfo.push(remoteProject);
$scope.remoteProjectInfoChanged = true;
$scope.closeAddRemoteProjectInfo();
};

$scope.removeRemoteProductInfo = function(remoteProductInfo, remoteProduct) {
remoteProductInfo.splice(remoteProductInfo.indexOf(remoteProduct), 1);
$scope.remoteProductInfoChanged = true;
$scope.removeRemoteProjectInfo = function(remoteProjectInfo, remoteProject) {
remoteProjectInfo.splice(remoteProjectInfo.indexOf(remoteProject), 1);
$scope.remoteProjectInfoChanged = true;
};

if ($scope.isManager() || $scope.isAdmin()) {
$scope.remoteProductManagers = RemoteProductManagerRepo.getAll();
$scope.remoteProjectManagers = RemoteProjectManagerRepo.getAll();

$scope.remoteProductInfo = RemoteProductsService.getRemoteProductInfo();
$scope.remoteProjectInfo = RemoteProjectsService.getRemoteProjectInfo();

$scope.getRemoteProductManagerRemoteProducts = function (remoteProductManagerId) {
return $scope.remoteProductInfo[remoteProductManagerId];
$scope.getRemoteProjectManagerRemoteProjects = function (remoteProjectManagerId) {
return $scope.remoteProjectInfo[remoteProjectManagerId];
};

$scope.getRemoteProductByRemoteProductInfo = function(remoteProductInfo) {
if (angular.isDefined(remoteProductInfo.remoteProductManager.id)) {
if (angular.isDefined($scope.remoteProductInfo[remoteProductInfo.remoteProductManager.id])) {
return $scope.remoteProductInfo[remoteProductInfo.remoteProductManager.id].filter(function(rp) {
return rp.id === remoteProductInfo.scopeId;
$scope.getRemoteProjectByRemoteProjectInfo = function(remoteProjectInfo) {
if (angular.isDefined(remoteProjectInfo.remoteProjectManager.id)) {
if (angular.isDefined($scope.remoteProjectInfo[remoteProjectInfo.remoteProjectManager.id])) {
return $scope.remoteProjectInfo[remoteProjectInfo.remoteProjectManager.id].filter(function(rp) {
return rp.id === remoteProjectInfo.scopeId;
})[0];
}
}
};

RemoteProductManagerRepo.listen([ApiResponseActions.CREATE, ApiResponseActions.DELETE, ApiResponseActions.UPDATE], function () {
$scope.remoteProductManagers.length = 0;
var remoteProductManagers = RemoteProductManagerRepo.getAll();
for (var i in remoteProductManagers) {
$scope.remoteProductManagers.push(remoteProductManagers[i]);
RemoteProjectManagerRepo.listen([ApiResponseActions.CREATE, ApiResponseActions.DELETE, ApiResponseActions.UPDATE], function () {
$scope.remoteProjectManagers.length = 0;
var remoteProjectManagers = RemoteProjectManagerRepo.getAll();
for (var i in remoteProjectManagers) {
$scope.remoteProjectManagers.push(remoteProjectManagers[i]);
}
});
}
Expand Down
101 changes: 0 additions & 101 deletions app/controllers/remoteProductManagerController.js

This file was deleted.

0 comments on commit 5b1655f

Please sign in to comment.