admin: manage team certificate from interface
This commit is contained in:
parent
2e8d28542e
commit
2235470d9d
2 changed files with 79 additions and 14 deletions
|
@ -546,10 +546,47 @@ angular.module("FICApp")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.controller("TeamController", function($scope, $location, Team, TeamMember, $routeParams) {
|
.controller("TeamController", function($scope, $location, Team, TeamMember, $routeParams, $http) {
|
||||||
$scope.team = Team.get({ teamId: $routeParams.teamId });
|
$scope.team = Team.get({ teamId: $routeParams.teamId });
|
||||||
$scope.fields = ["name", "color"];
|
$scope.fields = ["name", "color"];
|
||||||
|
|
||||||
|
$scope.hasCertificate = false;
|
||||||
|
$http({
|
||||||
|
url: "/api/teams/" + Math.floor($routeParams.teamId) + "/certificate.p12",
|
||||||
|
method: "HEAD",
|
||||||
|
transformResponse: null
|
||||||
|
}).then(function(response) {
|
||||||
|
$scope.hasCertificate = true;
|
||||||
|
}, function(response) {
|
||||||
|
$scope.hasCertificate = false;
|
||||||
|
});
|
||||||
|
|
||||||
|
$scope.generateCertificate = function() {
|
||||||
|
$http({
|
||||||
|
url: "/api/teams/" + Math.floor($routeParams.teamId) + "/certificate/generate",
|
||||||
|
method: "GET",
|
||||||
|
transformResponse: null
|
||||||
|
}).then(function(response) {
|
||||||
|
$scope.hasCertificate = true;
|
||||||
|
}, function(response) {
|
||||||
|
console.log(response.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
$scope.revokeCertificate = function() {
|
||||||
|
if (!confirm("Are you sure you want to revoke this certificate?"))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
$http({
|
||||||
|
url: "/api/teams/" + Math.floor($routeParams.teamId) + "/certificate.p12",
|
||||||
|
method: "DELETE",
|
||||||
|
transformResponse: null
|
||||||
|
}).then(function(response) {
|
||||||
|
$scope.hasCertificate = false;
|
||||||
|
}, function(response) {
|
||||||
|
console.log(response.data);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
$scope.saveTeam = function() {
|
$scope.saveTeam = function() {
|
||||||
if (this.team.id) {
|
if (this.team.id) {
|
||||||
this.team.$update();
|
this.team.$update();
|
||||||
|
|
|
@ -38,20 +38,48 @@
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<form ng-submit="saveTeamMembers()" class="form-horizontal" ng-if="team.id" ng-controller="TeamMembersController">
|
<div class="col-sm-5">
|
||||||
<h2>Membres <button type="submit" class="pull-right btn btn-success" style="margin-left: 10px"><span class="glyphicon glyphicon-save" aria-hidden="true"></span> Save members</button><a ng-click="newMember()" class="pull-right btn btn-primary"><span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add member</a></h2>
|
<div class="panel panel-primary">
|
||||||
|
<div class="panel-heading">
|
||||||
<div class="alert alert-info" ng-if="members.length == 0">
|
<div class="panel-title">
|
||||||
This team has no member!
|
<span class="glyphicon glyphicon-certificate" aria-hidden="true"></span>
|
||||||
</div>
|
Certificate
|
||||||
<div class="well" ng-repeat="member in members">
|
<span class="label label-success" ng-if="hasCertificate">Generated</span>
|
||||||
<div class="form-group" ng-repeat="field in fields">
|
<span class="label label-danger" ng-if="!hasCertificate">Not found</span>
|
||||||
<label for="{{ field }}{{ member.id }}" class="col-sm-2 control-label">{{ field | capitalize }}</label>
|
|
||||||
<div class="col-sm-9">
|
|
||||||
<input type="text" class="form-control" id="{{ field }}{{ member.id }}" ng-model="member[field]">
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-1" ng-if="$first">
|
</div>
|
||||||
<a ng-click="removeMember(member)" class="pull-right btn btn-primary"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>
|
<div class="panel-body">
|
||||||
|
<a ng-click="generateCertificate()" class="btn btn-success" ng-if="!hasCertificate">
|
||||||
|
<span class="glyphicon glyphicon-certificate" aria-hidden="true"></span> Generate certificate</a>
|
||||||
|
<a ng-click="revokeCertificate()" class="btn btn-danger" ng-if="hasCertificate">
|
||||||
|
<span class="glyphicon glyphicon-remove" aria-hidden="true"></span> Revoke certificate</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form ng-submit="saveTeamMembers()" class="col-sm-7 form-horizontal" ng-if="team.id" ng-controller="TeamMembersController">
|
||||||
|
<div class="panel panel-default">
|
||||||
|
<div class="panel-heading">
|
||||||
|
<div class="panel-title">
|
||||||
|
<span class="glyphicon glyphicon-user" aria-hidden="true"></span> Membres
|
||||||
|
<button type="submit" class="pull-right btn btn-xs btn-primary" style="margin-left: 10px">
|
||||||
|
<span class="glyphicon glyphicon-save" aria-hidden="true"></span> Save members</button>
|
||||||
|
<a ng-click="newMember()" class="pull-right btn btn-xs btn-default">
|
||||||
|
<span class="glyphicon glyphicon-plus" aria-hidden="true"></span> Add member</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="panel-body" ng-if="members.length == 0">
|
||||||
|
This team has no member!
|
||||||
|
</div>
|
||||||
|
<div class="list-group-item" ng-repeat="member in members">
|
||||||
|
<div class="form-group" ng-repeat="field in fields">
|
||||||
|
<label for="{{ field }}{{ member.id }}" class="col-sm-2 control-label">{{ field | capitalize }}</label>
|
||||||
|
<div class="col-sm-9">
|
||||||
|
<input type="text" class="form-control" id="{{ field }}{{ member.id }}" ng-model="member[field]">
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-1" ng-if="$first">
|
||||||
|
<a ng-click="removeMember(member)" class="pull-right btn btn-primary"><span class="glyphicon glyphicon-remove" aria-hidden="true"></span></a>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Reference in a new issue