Skip to content

Commit

Permalink
remote project manager afford token auth
Browse files Browse the repository at this point in the history
  • Loading branch information
wwelling committed Aug 13, 2018
1 parent 4afeb3b commit 8006590
Show file tree
Hide file tree
Showing 5 changed files with 78 additions and 14 deletions.
17 changes: 12 additions & 5 deletions app/controllers/projectController.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
app.controller('ProjectController', function ($controller, $scope, ProjectRepo, RemoteProjectManagerRepo, RemoteProjectsService) {
app.controller('ProjectController', function ($controller, $scope, ApiResponseActions, ProjectRepo, RemoteProjectManagerRepo, RemoteProjectsService) {

angular.extend(this, $controller('AbstractController', {
$scope: $scope
Expand Down Expand Up @@ -95,12 +95,19 @@ app.controller('ProjectController', function ($controller, $scope, ProjectRepo,
});
};

RemoteProjectManagerRepo.ready().then(function () {
var enhanceRemoteProjects = function () {
for (var i in $scope.remoteProjectManagers) {
if (i !== 'visibleColumnCount') {
getRemoteProjectManagerById($scope.remoteProjectManagers[i].id);
}
getRemoteProjectManagerById($scope.remoteProjectManagers[i].id);
}
};

RemoteProjectManagerRepo.ready().then(function () {
enhanceRemoteProjects();
});

RemoteProjectManagerRepo.listen([ApiResponseActions.CREATE, ApiResponseActions.DELETE, ApiResponseActions.UPDATE], function () {
$scope.remoteProjectManagers = RemoteProjectManagerRepo.getAll();
enhanceRemoteProjects();
});
}

Expand Down
9 changes: 6 additions & 3 deletions app/controllers/remoteProjectManagerController.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
app.controller('RemoteProjectManagerController', function ($controller, $scope, RemoteProjectManagerRepo) {
app.controller('RemoteProjectManagerController', function ($controller, $scope, ApiResponseActions, RemoteProjectManagerRepo) {

angular.extend(this, $controller('AbstractController', {
$scope: $scope
Expand All @@ -13,6 +13,7 @@ app.controller('RemoteProjectManagerController', function ($controller, $scope,

RemoteProjectManagerRepo.getTypes().then(function (types) {
$scope.serviceTypes = types;
$scope.resetRemoteProjectManagerForms();
});

$scope.remoteProjectManagerForms = {
Expand All @@ -30,8 +31,6 @@ app.controller('RemoteProjectManagerController', function ($controller, $scope,
$scope.closeModal();
};

$scope.resetRemoteProjectManagerForms();

$scope.createRemoteProjectManager = function () {
RemoteProjectManagerRepo.create($scope.remoteProjectManagerToCreate).then(function (res) {
if (angular.fromJson(res.body).meta.status === 'SUCCESS') {
Expand Down Expand Up @@ -89,4 +88,8 @@ app.controller('RemoteProjectManagerController', function ($controller, $scope,
return [];
};

RemoteProjectManagerRepo.listen([ApiResponseActions.CREATE, ApiResponseActions.DELETE, ApiResponseActions.UPDATE], function () {
$scope.remoteProjectManagers = RemoteProjectManagerRepo.getAll();
});

});
48 changes: 47 additions & 1 deletion app/directives/remoteProjectManagerFormDirective.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,52 @@ app.directive('remoteProjectManagerForm', function () {
'managementSettings': '=',
'model': '='
},
link: function ($scope) {}
link: function ($scope) {

var isAuthRequired = function () {
for (var i in $scope.managementSettings) {
var key = $scope.managementSettings[i].key;
if (key === 'password' || key === 'token') {
return true;
}
}
};

var hasToken = function () {
for (var key in $scope.model.settings) {
var value = $scope.model.settings[key];
if (key === 'token' && value !== undefined && value.length > 0) {
return true;
}
}
};

$scope.auth = {
useToken: hasToken(),
required: isAuthRequired()
};

$scope.inputSetting = function (setting) {
var display = true;
if ($scope.auth.useToken) {
if (setting.key === 'username' || setting.key === 'password') {
display = false;
}
} else {
if (setting.key === 'token') {
display = false;
}
}
return display;
};

$scope.clearAuthSettings = function () {
for (var key in $scope.model.settings) {
if (key === 'token' || key === 'username' || key === 'password') {
$scope.model.settings[key] = '';
}
}
};
}
};
});
14 changes: 11 additions & 3 deletions app/views/directives/remoteProjectManagerForm.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
<div ng-repeat="setting in managementSettings" class=form-group>
<div ng-repeat="setting in managementSettings" class="form-group" ng-show="inputSetting(setting)">
<label for="{{setting.key}}-input">{{setting.gloss}}</label>
<input class="form-control" id="{{setting.key}}" type="{{setting.key === 'password' ? 'password' : 'text'}}" ng-model="model.settings[setting.key]"
placeholder="{{setting.gloss}} for Remote Project Manager" />
<input class="form-control" id="{{setting.key}}" type="{{setting.type}}" ng-model="model.settings[setting.key]" placeholder="{{setting.gloss}} for Remote Project Manager" />
</div>
<div class="form-group" ng-if="auth.required">
<label for="toggle-auth">Auth</label>
<div class="checkbox">
<label>
&nbsp;
<input id="toggle-auth" name="toggle-auth" type="checkbox" ng-model="auth.useToken" ng-changed="clearAuthSettings()" />Use token auth
</label>
</div>
</div>
4 changes: 2 additions & 2 deletions app/views/management/remoteProjectManager.html
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
<th>Settings</th>
<th class="actions-column text-center">Actions</th>
</tr>
<tr ng-repeat="remoteProjectManager in remoteProjectManagers | orderBy: 'name'">
<tr ng-repeat="remoteProjectManager in remoteProjectManagers">
<td title="'Remote Project Manager'">{{remoteProjectManager.name}}</td>
<td title="'Settings'">
<ul class="list-unstyled">
<li ng-repeat="setting in typeSettings(remoteProjectManager.type) | filter:{visible:true}">
<label>{{setting.gloss}}:</label>
<span>&nbsp{{remoteProjectManager.settings[setting.key]}}</span>
<span>&nbsp;{{remoteProjectManager.settings[setting.key]}}</span>
</li>
</ul>
</td>
Expand Down

0 comments on commit 8006590

Please sign in to comment.