Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
c6cdbb1
Altered filter to promote downed services to the short list
rladdusaw Jun 19, 2018
2c2803f
Item B-03522: Change service verbiage
kaladay Jun 19, 2018
01c0eab
Item B-03524: Change "Report a Problem" button to "Help"
kaladay Jun 19, 2018
8b39951
Removed Url column and merged it into Auto Updating column
rladdusaw Jun 19, 2018
c306c2a
Defect: D-01185 save/update possible when Service set to auto but no …
kaladay Jun 20, 2018
8b26274
Added title to status icons for hover text
rladdusaw Jun 21, 2018
ba35edc
Updated package.json to point to 2.0.0-RC4
rladdusaw Jun 21, 2018
37d7ab5
Altered filter to promote downed services to the short list
rladdusaw Jun 19, 2018
2ee7108
Updated package.json to point to 2.0.0-RC4
rladdusaw Jun 21, 2018
fc3007e
Reverting to 2.x
rladdusaw Jun 21, 2018
a56fed9
Merge branch 'sprint5-b03523-downed-serviced-visible' of https://gith…
rladdusaw Jun 21, 2018
154800d
Reverting to 2.x, overwriting merge
rladdusaw Jun 21, 2018
cd90a41
Item B-03530: As a Patron, I would like In-Maintenance Services to fl…
kaladay Jun 21, 2018
7ce5d75
Defect D-01186: Non-Public Services showing for anonymous user
kaladay Jun 21, 2018
3824d86
Handle case where user.role is null when determining the public view …
kaladay Jun 21, 2018
105a321
Scope isolated for table directive
rladdusaw Jun 21, 2018
fa3f9f3
Updated ideas, notes, and feature proposals
rladdusaw Jun 21, 2018
6614ce2
Replaced arrow functions
rladdusaw Jun 21, 2018
5df600a
ng-table custom header
tamu-sad-iii Jun 22, 2018
a28aa5f
Add tests for noteController and noteRepo (include minor fix for mock…
kaladay Jun 22, 2018
67c4ded
Merge pull request #98 from TAMULib/sprint5-b03526-isolated-scope-dir…
rladdusaw Jun 22, 2018
a9c4adb
Reordered tabs and altered permissions
rladdusaw Jun 25, 2018
f3b7321
Updated full service logic and created tests for AppAbstractController
rladdusaw Jun 25, 2018
9d98ccc
Redirecting to appropriate default tab
rladdusaw Jun 25, 2018
c6848ba
Refactored visibility login into management controller
rladdusaw Jun 25, 2018
64b84a3
Tests for management controller
rladdusaw Jun 25, 2018
7421f68
Merge pull request #87 from TAMULib/sprint5-b03523-downed-serviced-vi…
tamu-sad-iii Jul 2, 2018
870e171
Merge pull request #88 from TAMULib/sprint5-b03522-change_service_ver…
tamu-sad-iii Jul 2, 2018
8943aa2
Merge pull request #89 from TAMULib/sprint5-b03525-combine-auto-updat…
tamu-sad-iii Jul 2, 2018
83096c2
Merge pull request #90 from TAMULib/sprint5-b03524-change-report_a_pr…
tamu-sad-iii Jul 2, 2018
eaf1eb1
Merge pull request #92 from TAMULib/sprint5-d01185-auto_service-requi…
tamu-sad-iii Jul 2, 2018
4cbc054
Merge pull request #94 from TAMULib/sprint5-b03529-status-icon-key
tamu-sad-iii Jul 2, 2018
2652310
Merge pull request #95 from TAMULib/sprint5-b03530-in_maintenance_flo…
tamu-sad-iii Jul 2, 2018
56e8601
Merge pull request #96 from TAMULib/sprint5-d01186-non_public_showing…
tamu-sad-iii Jul 2, 2018
5e9a806
Merge pull request #99 from TAMULib/sprint5-b03527-b03528-tab-access-…
kaladay Jul 2, 2018
35dae54
Merge branch 'sprint5-staging' into sprint5-b03526-isolated-scope-dir…
kaladay Jul 2, 2018
6361fce
Merge branch 'sprint5-staging' into sprint5-b03526-isolated-scope-dir…
kaladay Jul 2, 2018
4f4ab60
Merge pull request #97 from TAMULib/sprint5-b03526-isolated-scope-dir…
kaladay Jul 2, 2018
b28f9dd
Removed Url column and merged it into Auto Updating column
rladdusaw Jul 2, 2018
e905905
Merge Auto Updating and URL into a single column, after table structu…
kaladay Jul 2, 2018
a380522
Merge pull request #101 from TAMULib/sprint5-b03526-b03525-conflict
tamu-sad-iii Jul 3, 2018
6452da5
Fix regression in D-01186, introduced by B-03523
kaladay Jul 5, 2018
1ebea1c
Merge pull request #102 from TAMULib/sprint5-d01186-regression_for_down
tamu-sad-iii Jul 5, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions app/config/apiMapping.js
Original file line number Diff line number Diff line change
Expand Up @@ -251,6 +251,11 @@ var apiMapping = {
submitRequest: {
'endpoint': '/private/queue',
'controller': 'services'
},
page: {
'endpoint': '/private/queue',
'controller': 'services',
'method': 'page'
}
},
Notification: {
Expand Down
22 changes: 11 additions & 11 deletions app/config/routes.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
app.config(function ($routeProvider) {
$routeProvider.
when('/management', {
redirectTo: '/management/services',
access: ["ROLE_ADMIN", "ROLE_WEB_MANAGER", "ROLE_SERVICE_MANAGER"]
redirectTo: function () {
if (sessionStorage.role === 'ROLE_WEB_MANAGER') {
return '/management/notes';
} else if (sessionStorage.role === 'ROLE_NOTICE_MANAGER') {
return '/management/notifications';
} else {
return '/management/services';
}
},
access: ["ROLE_ADMIN", "ROLE_SERVICE_ADMIN", "ROLE_SERVICE_MANAGER", "ROLE_WEB_MANAGER", "ROLE_NOTICE_MANAGER"]
}).
when('/management/:tab', {
templateUrl: 'views/management.html',
access: ["ROLE_ADMIN", "ROLE_WEB_MANAGER", "ROLE_SERVICE_MANAGER"]
}).
when('/services', {
templateUrl: 'views/management/services.html',
access: ["ROLE_ADMIN", "ROLE_WEB_MANAGER", "ROLE_SERVICE_MANAGER"]
}).
when('/notes', {
templateUrl: 'views/management/notes.html',
access: ["ROLE_ADMIN", "ROLE_WEB_MANAGER", "ROLE_SERVICE_MANAGER"]
access: ["ROLE_ADMIN", "ROLE_SERVICE_ADMIN", "ROLE_SERVICE_MANAGER", "ROLE_WEB_MANAGER", "ROLE_NOTICE_MANAGER"]
}).
when('/service/:serviceId/detail', {
templateUrl: 'views/detail/service.html',
Expand Down
6 changes: 4 additions & 2 deletions app/controllers/abstractIdeaController.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@ app.controller('AbstractIdeaController', function ($controller, $scope, FeatureP

$scope.clearOverallCheckbox = function () {
var overallCheckbox = angular.element('#overallCheckbox')[0];
overallCheckbox.indeterminate = false;
overallCheckbox.checked = false;
if(overallCheckbox) {
overallCheckbox.indeterminate = false;
overallCheckbox.checked = false;
}
};

$scope.createFeatureProposal = function () {
Expand Down
21 changes: 16 additions & 5 deletions app/controllers/appAbstractController.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,17 @@ app.controller("AppAbstractController", function ($controller, $scope) {
$scope: $scope
}));

$scope.isManager = function () {
return $scope.isServiceManager() || $scope.isWebManager();
$scope.hasAdminAccess = function () {
return ($scope.isAdmin() || $scope.isServiceAdmin());
};

// Admins have management access
$scope.hasManagementAccess= function () {
return ($scope.hasAdminAccess() || $scope.isWebManager() || $scope.isServiceManager() || $scope.isNoticeManager());
};

$scope.isServiceAdmin = function () {
return (sessionStorage.role === "ROLE_SERVICE_ADMIN");
};

$scope.isWebManager = function () {
Expand All @@ -16,15 +25,17 @@ app.controller("AppAbstractController", function ($controller, $scope) {
return (sessionStorage.role === "ROLE_SERVICE_MANAGER");
};

$scope.isNoticeManager = function () {
return (sessionStorage.role === "ROLE_NOTICE_MANAGER");
};

$scope.isStaff = function () {
return (sessionStorage.role === "ROLE_STAFF");
};

$scope.isFullServiceConsumer = function () {
return $scope.isStaff() ||
$scope.isServiceManager() ||
$scope.isWebManager() ||
$scope.isAdmin();
$scope.hasManagementAccess();
};

});
6 changes: 4 additions & 2 deletions app/controllers/dashboardController.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,9 @@ app.controller("DashboardController", function ($controller, $scope, UserService
$scope.showPublic = function () {
var user = UserService.getCurrentUser();
var publicView = false;
if (user.role === 'ROLE_ANONYMOUS' || user.role === 'ROLE_USER') {
if (user.role === undefined || user.role === null) {
publicView = true;
} else if (user.role === 'ROLE_ANONYMOUS' || user.role === 'ROLE_USER') {
publicView = true;
}
return publicView;
Expand All @@ -38,4 +40,4 @@ app.controller("DashboardController", function ($controller, $scope, UserService

NoteRepo.page();

});
});
104 changes: 64 additions & 40 deletions app/controllers/featureProposalController.js
Original file line number Diff line number Diff line change
@@ -1,63 +1,87 @@
app.controller('FeatureProposalController', function ($controller, $scope, Idea, FeatureProposal, FeatureProposalRepo, ProjectService) {
app.controller('FeatureProposalController', function($controller, $scope, Idea, FeatureProposal, ProjectService) {

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

$scope.repo = FeatureProposalRepo;

$scope.fpToDelete = {};

$scope.ideaToAdd = {};

$scope.filters = [
{
gloss: 'Service',
property: 'service.name'
},
{
gloss: 'Title',
property: 'title'
},
{
gloss: 'Description',
property: 'description'
},
{
gloss: 'Submitted',
property: 'submitted'
},
{
gloss: 'Last Modified',
property: 'lastModified'
}
];
$scope.weaverTable = {
repo: $scope.fpRepo,
columns: [{
gloss: 'Service',
property: 'service.name',
filterable: true,
sortable: true
},
{
gloss: 'Title',
property: 'title',
filterable: true,
sortable: true
},
{
gloss: 'Description',
property: 'description',
filterable: true,
sortable: false
},
{
gloss: 'Last Modified',
property: 'lastModified',
filterable: true,
sortable: true
},
{
gloss: 'Submitted',
property: 'submitted',
filterable: true,
sortable: true
},
{
gloss: 'Actions',
filterable: false,
sortable: false
}
],
activeSort: [{
property: 'service.name',
direction: 'ASC'
},
{
property: 'lastModified',
direction: 'DESC'
}
]
};

$scope.removedIdeas = [];

$scope.tableParams = FeatureProposalRepo.getTableParams();
$scope.tableParams = $scope.fpRepo.getTableParams();

$scope.editFeatureProposal = function (fp) {
$scope.editFeatureProposal = function(fp) {
$scope.fpData = fp;
$scope.openModal('#editFpModal');
};

$scope.removeIdea = function (idea) {
if ($scope.fpData.ideas.some(function (i) {
return i.id === idea.id;
})) {
$scope.removeIdea = function(idea) {
if ($scope.fpData.ideas.some(function(i) {
return i.id === idea.id;
})) {
$scope.removedIdeas.push(new Idea(idea));
$scope.forms.updateFp.$setDirty();
$scope.fpData.dirty(true);
$scope.fpData.ideas.splice($scope.fpData.ideas.indexOf(idea), 1);
}
};

$scope.updateFeatureProposal = function (fp) {
FeatureProposalRepo.update($scope.fpData).then(function (res) {
$scope.updateFeatureProposal = function(fp) {
$scope.fpRepo.update($scope.fpData).then(function(res) {
if (angular.fromJson(res.body).meta.status === 'SUCCESS') {
$scope.resetFeatureProposals();
for(var i in $scope.removedIdeas) {
for (var i in $scope.removedIdeas) {
var idea = $scope.removedIdeas[i];
idea.elevated = false;
idea.save();
Expand All @@ -67,27 +91,27 @@ app.controller('FeatureProposalController', function ($controller, $scope, Idea,
});
};

$scope.select = function (fp, modal) {
$scope.select = function(fp, modal) {
$scope.fpData = fp;
$scope.openModal(modal);
};

$scope.submitFeatureProposal = function (fp) {
$scope.submitFeatureProposal = function(fp) {
$scope.submitting = true;
ProjectService.submitFeatureProposal(fp).then(function () {
ProjectService.submitFeatureProposal(fp).then(function() {
$scope.submitting = false;
$scope.resetFeatureProposals();
});
};

$scope.confirmDeleteFp = function (fp) {
$scope.confirmDeleteFp = function(fp) {
$scope.openModal('#deleteFpModal');
$scope.fpToDelete = fp;
};

$scope.deleteFp = function () {
$scope.deleteFp = function() {
$scope.deleting = true;
$scope.fpToDelete.delete().then(function () {
$scope.fpToDelete.delete().then(function() {
$scope.closeModal();
$scope.deleting = false;
$scope.fpToDelete = {};
Expand Down
Loading