SupportPages

pull/3/head
Michele Artini 2 years ago
parent 01fd913c1d
commit 6c06ad6b9a

@ -1,6 +1,10 @@
package eu.dnetlib.organizations.controller;
import java.util.LinkedHashMap;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.env.Environment;
import org.springframework.core.env.Profiles;
import org.springframework.security.core.Authentication;
@ -8,6 +12,11 @@ import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import eu.dnetlib.common.controller.AbstractDnetController;
import eu.dnetlib.organizations.model.SystemConfiguration;
import eu.dnetlib.organizations.repository.SystemConfigurationRepository;
@ -21,6 +30,11 @@ public class HomeController extends AbstractDnetController {
@Autowired
private SystemConfigurationRepository systemConfigurationRepository;
@Value("${openorgs.support.pages}")
private String supportPagesJson;
private Map<String, String> supportPages;
@GetMapping("/")
public String home() {
return env.acceptsProfiles(Profiles.of("dev")) ? "redirect:main" : "home";
@ -56,6 +70,16 @@ public class HomeController extends AbstractDnetController {
return systemConfigurationRepository.findById(SystemConfiguration.DEFAULT_ID).get();
}
@ModelAttribute("supportPages")
public Map<String, String> supportPages(final Authentication authentication) throws JsonMappingException, JsonProcessingException {
if (supportPages == null) {
final ObjectMapper mapper = new ObjectMapper();
final TypeReference<LinkedHashMap<String, String>> typeRef = new TypeReference<LinkedHashMap<String, String>>() {};
this.supportPages = mapper.readValue(supportPagesJson, typeRef);
}
return supportPages;
}
@GetMapping({
"/doc", "/swagger"
})

@ -44,5 +44,7 @@ openaire.api.https.proxy = 10.19.65.35
# spring.security.oauth2.client.provider.oidc.token-uri = http://localhost:8080/openid-connect-server-webapp/token
# spring.security.oauth2.client.provider.oidc.user-info-uri = http://localhost:8080/openid-connect-server-webapp/userinfo
openorgs.support.pages = { "Ask a question": "https://www.openaire.eu/support/helpdesk?view=ticket&layout=open", "FAQ": "https://www.openaire.eu/faqs" }
openaire.override.logout.url =

@ -20,9 +20,20 @@
<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="OpenAIRE logo"> <span th:text="${sysconf.title}"></span>
</a>
<a class="navbar-brand" href="#"><img src="resources/images/openaire_logo_small.png" width="30" height="30" alt="OpenAIRE logo"><span th:text="${sysconf.title}"></span></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse w-100 order-1" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">Support</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" th:href="${sp.value}" th:each="sp : ${supportPages}" th:text='${sp.key}' target="_blank"></a>
</div>
</li>
</ul>
</div>
</nav>
<div class="card" style="margin-top: 25px" ng-if="registrationStatus == 0">

@ -20,8 +20,20 @@
<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="OpenAIRE logo"> <span th:text="${sysconf.title}"></span> </a>
<a class="navbar-brand" href="#"><img src="resources/images/openaire_logo_small.png" width="30" height="30" alt="OpenAIRE logo"><span th:text="${sysconf.title}"></span></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse w-100 order-1" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">Support</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" th:href="${sp.value}" th:each="sp : ${supportPages}" th:text='${sp.key}' target="_blank"></a>
</div>
</li>
</ul>
</div>
</nav>
<div ng-if="registrationMessage">

@ -22,8 +22,20 @@
<div>
<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="OpenAIRE logo"> <span th:text="${sysconf.title}"></span> </a>
<a class="navbar-brand" href="#"><img src="resources/images/openaire_logo_small.png" width="30" height="30" alt="OpenAIRE logo"><span th:text="${sysconf.title}"></span></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse w-100 order-1" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">Support</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" th:href="${sp.value}" th:each="sp : ${supportPages}" th:text='${sp.key}' target="_blank"></a>
</div>
</li>
</ul>
</div>
</nav>
</div>

@ -22,8 +22,20 @@
<div>
<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="OpenAIRE logo"> <span th:text="${sysconf.title}"></span> </a>
<a class="navbar-brand" href="#"><img src="resources/images/openaire_logo_small.png" width="30" height="30" alt="OpenAIRE logo"><span th:text="${sysconf.title}"></span></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse w-100 order-1" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown">Support</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" th:href="${sp.value}" th:each="sp : ${supportPages}" th:text='${sp.key}' target="_blank"></a>
</div>
</li>
</ul>
</div>
</nav>
</div>

@ -56,14 +56,9 @@ fieldset > legend { font-size : 1.2rem !important; }
</div>
<nav class="navbar navbar-expand-lg navbar-dark bg-primary" ng-controller="menuCtrl">
<a class="navbar-brand" href="#"> <img
src="resources/images/openaire_logo_small.png" width="30" height="30" alt="OpenAIRE logo">
<span th:text="${sysconf.title}"></span>
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse"
data-target="#navbarSupportedContent">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="#"><img src="resources/images/openaire_logo_small.png" width="30" height="30" alt="OpenAIRE logo"><span th:text="${sysconf.title}"></span></a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"><span class="navbar-toggler-icon"></span></button>
<div class="collapse navbar-collapse w-100 order-1" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
@ -133,6 +128,8 @@ fieldset > legend { font-size : 1.2rem !important; }
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="javascript:void(0)" data-toggle="dropdown"><i class="fa fa-question-circle"></i></a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" th:href="${sp.value}" th:each="sp : ${supportPages}" th:text='${sp.key}' target="_blank"></a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="doc" target="_blank">APIs (swagger)</a>
<a class="dropdown-item" href="dbmodel/index.html" target="_blank">Description of the database</a>
</div>

Loading…
Cancel
Save