dnet-applications/apps/dnet-orgs-database-application/src/main/resources/templates/authorizationRequest.html

111 lines
4.1 KiB
HTML

<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="resources/css/bootstrap.min.css" />
<!-- Icons CSS -->
<link rel="stylesheet" href="resources/css/fontawesome-all.min.css">
<title>Organizations Database: authorization request</title>
</head>
<body ng-app="authReqApp" ng-controller="authReqCtrl">
<div class="container">
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
<a class="navbar-brand" href="#">
<img src="resources/images/openaire_logo_small.png" width="30" height="30" alt="OpenOrgs Database"> OpenOrgs Database
</a>
</nav>
<div ng-if="registrationMessage">
<div class="alert" style="margin-top: 25px" ng-class="{'alert-info': registrationStatus == 1, 'alert-warning': registrationStatus == 2, 'alert-danger': registrationStatus == -1}">{{registrationMessage}}</div>
<a class="btn btn-sm btn-primary" th:href="@{/logout}">Close</a>
</div>
<div class="card" style="margin-top: 25px" ng-if="registrationStatus == 0">
<div class="card-body">
<h5 class="card-title">Authorization request</h5>
<p class="card-text" th:inline="text">
Hello '<span th:text="${email}" id="current_user"></span>', you don't have a role yet <br />
To apply as data curator compile the form below, an administrator will authorize you as soon as possible.
</p>
<form class="small">
<div class="card" style="margin-top: 25px">
<div class="card-header">Select your countries</div>
<div class="card-body">
<div class="form-group row">
<div class="col-xs-12 col-md-6 col-lg-4" ng-repeat="c in vocCountries">
<div class="form-check form-check-inline">
<input class="form-check-input" type="checkbox" checklist-model="countries" checklist-value="c.value"/>
<label class="form-check-label">{{c.name}}</label>
</div>
</div>
</div>
</div>
<div class="card-footer">
<button id="btnRegister" class="btn btn-sm btn-primary" ng-click="register()">send request</button>
<a class="btn btn-sm btn-danger" th:href="@{/logout}">abort request</a>
</div>
</div>
</form>
</div>
</div>
</div>
<script src="resources/js/jquery-3.4.1.min.js"></script>
<script src="resources/js/popper.min.js"></script>
<script src="resources/js/bootstrap.min.js"></script>
<script src="resources/js/jquery-3.4.1.min.js"></script>
<script src="resources/js/popper.min.js"></script>
<script src="resources/js/bootstrap.min.js"></script>
<script src="resources/js/angular.min.js"></script>
<script src='resources/js/checklist-model.js'></script>
<script>
angular.module('authReqApp', ['checklist-model']).controller('authReqCtrl', function($scope, $http) {
$scope.vocCountries = [];
$scope.countries = [];
$scope.registrationStatus = 0;
$scope.registrationMessage = '';
$http.get('registration_api/voc/allCountries').then(function successCallback(res) {
$scope.vocCountries = res.data;
}, function errorCallback(res) {
alert('ERROR: ' + res.data.error + ' (' + res.data.message + ')');
});
$scope.register = function (email) {
$('#btnRegister').attr("disabled", "disabled");
$http.defaults.headers.post["Content-Type"] = "application/json;charset=UTF-8";
$http.post('registration_api/newUser', $scope.countries).then(function successCallback(res) {
$scope.registrationStatus = res.data.status;
if (res.data.status == 1) {
$scope.registrationMessage = 'Registration saved !';
} else {
$scope.registrationMessage = 'User already registered !';
}
}, function errorCallback(res) {
$scope.registerStatus = -1;
$scope.registrationMessage = 'Error saving registration !';
alert('ERROR: ' + res.data.error + ' (' + res.data.message + ')');
});
}
});
</script>
</body>
</html>