admin: manage team certificate from interface
This commit is contained in:
parent
2e8d28542e
commit
2235470d9d
|
@ -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.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() {
|
||||
if (this.team.id) {
|
||||
this.team.$update();
|
||||
|
|
|
@ -38,20 +38,48 @@
|
|||
|
||||
<hr>
|
||||
|
||||
<form ng-submit="saveTeamMembers()" class="form-horizontal" ng-if="team.id" ng-controller="TeamMembersController">
|
||||
<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="alert alert-info" ng-if="members.length == 0">
|
||||
This team has no member!
|
||||
</div>
|
||||
<div class="well" 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 class="col-sm-5">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title">
|
||||
<span class="glyphicon glyphicon-certificate" aria-hidden="true"></span>
|
||||
Certificate
|
||||
<span class="label label-success" ng-if="hasCertificate">Generated</span>
|
||||
<span class="label label-danger" ng-if="!hasCertificate">Not found</span>
|
||||
</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 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>
|
||||
|
|
Loading…
Reference in New Issue
Block a user