Skip to content

Commit

Permalink
Issue 60: Refactor project to product
Browse files Browse the repository at this point in the history
  • Loading branch information
kaladay committed Apr 24, 2020
1 parent ad51ff7 commit 0fd33e8
Show file tree
Hide file tree
Showing 46 changed files with 622 additions and 622 deletions.
6 changes: 3 additions & 3 deletions README.md
@@ -1,4 +1,4 @@
[![Build Status](https://travis-ci.org/TAMULib/ProjectManagementUI.svg?branch=master)](https://travis-ci.org/TAMULib/ProjectManagementUI)
[![Coverage Status](https://coveralls.io/repos/github/TAMULib/ProjectManagementUI/badge.svg?branch=master)](https://coveralls.io/github/TAMULib/ProjectManagementUI?branch=master)
[![Build Status](https://travis-ci.org/TAMULib/ProductManagementUI.svg?branch=master)](https://travis-ci.org/TAMULib/ProductManagementUI)
[![Coverage Status](https://coveralls.io/repos/github/TAMULib/ProductManagementUI/badge.svg?branch=master)](https://coveralls.io/github/TAMULib/ProductManagementUI?branch=master)

# Project Management UI
# Product Management UI
4 changes: 2 additions & 2 deletions app/.htaccess
@@ -1,7 +1,7 @@
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /projects/
RewriteBase /products/
RewriteCond %{HTTP:X-Requested-With} !XMLHttpRequest$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.html [L]
</IfModule>
</IfModule>
46 changes: 23 additions & 23 deletions app/config/apiMapping.js
@@ -1,36 +1,36 @@
// CONVENTION: must match model name, case sensitive
var apiMapping = {
Project: {
Product: {
validations: true,
lazy: true,
channel: '/channel/projects',
channel: '/channel/products',
all: {
'endpoint': '/private/queue',
'controller': 'projects',
'controller': 'products',
'method': '',
'httpMethod': 'GET'
},
create: {
'endpoint': '/private/queue',
'controller': 'projects',
'controller': 'products',
'method': '',
'httpMethod': 'POST'
},
update: {
'endpoint': '/private/queue',
'controller': 'projects',
'controller': 'products',
'method': '',
'httpMethod': 'PUT'
},
remove: {
'endpoint': '/private/queue',
'controller': 'projects',
'controller': 'products',
'method': '',
'httpMethod': 'DELETE'
},
listen: {
'endpoint': '/channel',
'controller': 'projects'
'controller': 'products'
}
},
User: {
Expand All @@ -55,47 +55,47 @@ var apiMapping = {
'method': 'update'
}
},
RemoteProjectManager: {
RemoteProductManager: {
validations: true,
lazy: true,
channel: '/channel/remote-project-manager',
channel: '/channel/remote-product-manager',
all: {
'endpoint': '/private/queue',
'controller': 'remote-project-manager',
'controller': 'remote-product-manager',
'method': '',
'httpMethod': 'GET'
},
create: {
'endpoint': '/private/queue',
'controller': 'remote-project-manager',
'controller': 'remote-product-manager',
'method': '',
'httpMethod': 'POST'
},
update: {
'endpoint': '/private/queue',
'controller': 'remote-project-manager',
'controller': 'remote-product-manager',
'method': '',
'httpMethod': 'PUT'
},
remove: {
'endpoint': '/private/queue',
'controller': 'remote-project-manager',
'controller': 'remote-product-manager',
'method': '',
'httpMethod': 'DELETE'
},
listen: {
'endpoint': '/channel',
'controller': 'remote-project-manager'
'controller': 'remote-product-manager'
},
types: {
'endpoint': '/channel',
'controller': 'remote-project-manager',
'controller': 'remote-product-manager',
'method': 'types/',
'httpMethod': 'GET'
},
scaffolding: {
'endpoint': '/channel',
'controller': 'remote-project-manager',
'controller': 'remote-product-manager',
'method': 'scaffolding/:type/',
'httpMethod': 'GET'
}
Expand Down Expand Up @@ -133,24 +133,24 @@ var apiMapping = {
'controller': 'status'
}
},
RemoteProjects: {
RemoteProducts: {
all: {
'endpoint': '/private/queue',
'controller': 'projects/remote'
'controller': 'products/remote'
},
listen: {
'endpoint': '/channel',
'controller': 'projects/remote'
'controller': 'products/remote'
}
},
ProjectsStats: {
ProductsStats: {
all: {
'endpoint': '/private/queue',
'controller': 'projects/stats'
'controller': 'products/stats'
},
listen: {
'endpoint': '/channel',
'controller': 'projects/stats'
'controller': 'products/stats'
}
},
ActiveSprints: {
Expand All @@ -163,4 +163,4 @@ var apiMapping = {
'controller': 'sprints/active'
}
}
};
};
4 changes: 2 additions & 2 deletions app/config/routes.js
@@ -1,7 +1,7 @@
app.config(function ($routeProvider) {
$routeProvider.
when('/management', {
redirectTo: '/management/projects'
redirectTo: '/management/products'
}).
when('/management/:tab', {
templateUrl: 'views/management.html',
Expand Down Expand Up @@ -31,4 +31,4 @@ app.config(function ($routeProvider) {
otherwise({
redirectTo: '/error/404'
});
});
});
4 changes: 2 additions & 2 deletions app/controllers/activeSprintsController.js
Expand Up @@ -19,7 +19,7 @@ app.controller('ActiveSprintsController', function ($controller, $sce, $scope, A
};

$scope.kanbanHeader = function () {
return $scope.getSelectedSprint() ? $scope.getSelectedSprint().project + ": " + $scope.getSelectedSprint().name : "Select Sprint Above";
return $scope.getSelectedSprint() ? $scope.getSelectedSprint().product + ": " + $scope.getSelectedSprint().name : "Select Sprint Above";
};

$scope.getSprintEstimateTotal = function (sprint) {
Expand Down Expand Up @@ -76,4 +76,4 @@ app.controller('ActiveSprintsController', function ($controller, $sce, $scope, A
}
});

});
});
106 changes: 53 additions & 53 deletions app/controllers/productController.js
@@ -1,105 +1,105 @@
app.controller('ProjectController', function ($controller, $scope, ApiResponseActions, ProjectRepo, RemoteProjectManagerRepo, RemoteProjectsService) {
app.controller('ProductController', function ($controller, $scope, ApiResponseActions, ProductRepo, RemoteProductManagerRepo, RemoteProductsService) {

angular.extend(this, $controller('AbstractController', {
$scope: $scope
}));

$scope.projects = ProjectRepo.getAll();
$scope.products = ProductRepo.getAll();

$scope.projectToCreate = ProjectRepo.getScaffold();
$scope.productToCreate = ProductRepo.getScaffold();

$scope.projectToDelete = {};
$scope.productToDelete = {};

$scope.projectForms = {
validations: ProjectRepo.getValidations(),
getResults: ProjectRepo.getValidationResults
$scope.productForms = {
validations: ProductRepo.getValidations(),
getResults: ProductRepo.getValidationResults
};

$scope.resetProjectForms = function () {
ProjectRepo.clearValidationResults();
for (var key in $scope.projectForms) {
if ($scope.projectForms[key] !== undefined && !$scope.projectForms[key].$pristine && $scope.projectForms[key].$setPristine) {
$scope.projectForms[key].$setPristine();
$scope.resetProductForms = function () {
ProductRepo.clearValidationResults();
for (var key in $scope.productForms) {
if ($scope.productForms[key] !== undefined && !$scope.productForms[key].$pristine && $scope.productForms[key].$setPristine) {
$scope.productForms[key].$setPristine();
}
}
$scope.closeModal();
};

$scope.resetProjectForms();
$scope.resetProductForms();

$scope.createProject = function () {
ProjectRepo.create($scope.projectToCreate).then(function (res) {
$scope.createProduct = function () {
ProductRepo.create($scope.productToCreate).then(function (res) {
if (angular.fromJson(res.body).meta.status === 'SUCCESS') {
$scope.resetCreateProject();
$scope.resetCreateProduct();
}
});
};

$scope.resetCreateProject = function () {
angular.extend($scope.projectToCreate, ProjectRepo.getScaffold());
$scope.resetProjectForms();
$scope.resetCreateProduct = function () {
angular.extend($scope.productToCreate, ProductRepo.getScaffold());
$scope.resetProductForms();
};

$scope.editProject = function (project) {
$scope.projectToEdit = project;
$scope.openModal('#editProjectModal');
$scope.editProduct = function (product) {
$scope.productToEdit = product;
$scope.openModal('#editProductModal');
};

$scope.updateProject = function () {
$scope.projectToEdit.dirty(true);
$scope.projectToEdit.save().then(function () {
$scope.cancelEditProject();
$scope.updateProduct = function () {
$scope.productToEdit.dirty(true);
$scope.productToEdit.save().then(function () {
$scope.cancelEditProduct();
});
};

$scope.cancelEditProject = function () {
$scope.projectToEdit.refresh();
$scope.projectToEdit = {};
$scope.resetProjectForms();
$scope.cancelEditProduct = function () {
$scope.productToEdit.refresh();
$scope.productToEdit = {};
$scope.resetProductForms();
};

$scope.confirmDeleteProject = function (project) {
$scope.projectToDelete = project;
$scope.openModal('#deleteProjectModal');
$scope.confirmDeleteProduct = function (product) {
$scope.productToDelete = product;
$scope.openModal('#deleteProductModal');
};

$scope.cancelDeleteProject = function () {
$scope.projectToDelete = {};
$scope.cancelDeleteProduct = function () {
$scope.productToDelete = {};
$scope.closeModal();
};

$scope.deleteProject = function (project) {
ProjectRepo.delete(project).then(function (res) {
$scope.deleteProduct = function (product) {
ProductRepo.delete(product).then(function (res) {
if (angular.fromJson(res.body).meta.status === "SUCCESS") {
$scope.cancelDeleteProject();
$scope.cancelDeleteProduct();
}
});
};

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

$scope.remoteProjects = RemoteProjectsService.getRemoteProjects();
$scope.remoteProducts = RemoteProductsService.getRemoteProducts();

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

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]);
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]);
}
});
}

ProjectRepo.listen([ApiResponseActions.CREATE, ApiResponseActions.DELETE, ApiResponseActions.UPDATE], function () {
$scope.projects.length = 0;
var projects = ProjectRepo.getAll();
for (var i in projects) {
$scope.projects.push(projects[i]);
ProductRepo.listen([ApiResponseActions.CREATE, ApiResponseActions.DELETE, ApiResponseActions.UPDATE], function () {
$scope.products.length = 0;
var products = ProductRepo.getAll();
for (var i in products) {
$scope.products.push(products[i]);
}
});

});
});

0 comments on commit 0fd33e8

Please sign in to comment.