Add shortcuts on care and consent behaviours pages.

This commit is contained in:
Geoffrey POUZET 2021-03-03 17:39:19 +01:00
parent b64485f3bd
commit 525b55d74a
3 changed files with 131 additions and 3 deletions

View File

@ -27,9 +27,18 @@ public class AnimalController {
public static final String MODEL_MAP_ANIMAL_CONSENT_BEHAVIOR_ID = "MODEL_MAP_ANIMAL_CONSENT_BEHAVIOR_ID"; public static final String MODEL_MAP_ANIMAL_CONSENT_BEHAVIOR_ID = "MODEL_MAP_ANIMAL_CONSENT_BEHAVIOR_ID";
public static final String MODEL_MAP_PROGRESSION = "MODEL_MAP_PROGRESSION"; public static final String MODEL_MAP_PROGRESSION = "MODEL_MAP_PROGRESSION";
public static final String MODEL_MAP_LIST_REMAINING_CONSENT_BEHAVIORS = "MODEL_MAP_LIST_REMAINING_CONSENT_BEHAVIORS"; public static final String MODEL_MAP_LIST_REMAINING_CONSENT_BEHAVIORS = "MODEL_MAP_LIST_REMAINING_CONSENT_BEHAVIORS";
public static final String MODEL_MAP_LIST_ALL_CONSENT_BEHAVIORS = "MODEL_MAP_LIST_ALL_CONSENT_BEHAVIORS";
public static final String MODEL_MAP_LIST_REMAINING_CARES = "MODEL_MAP_LIST_REMAINING_CARES"; public static final String MODEL_MAP_LIST_REMAINING_CARES = "MODEL_MAP_LIST_REMAINING_CARES";
public static final String MODEL_MAP_LIST_ALL_CARES = "MODEL_MAP_LIST_ALL_CARES";
public static final String MODEL_MAP_PROGRESSION_TYPE = "MODEL_MAP_PROGRESSION_TYPE"; public static final String MODEL_MAP_PROGRESSION_TYPE = "MODEL_MAP_PROGRESSION_TYPE";
public static final String MODEL_MAP_PREVIOUS_CARE = "MODEL_MAP_PREVIOUS_CARE";
public static final String MODEL_MAP_CURRENT_CARE = "MODEL_MAP_CURRENT_CARE";
public static final String MODEL_MAP_NEXT_CARE = "MODEL_MAP_NEXT_CARE";
public static final String MODEL_MAP_PREVIOUS_CONSENT_BEHAVIOR = "MODEL_MAP_PREVIOUS_CONSENT_BEHAVIOR";
public static final String MODEL_MAP_CURRENT_CONSENT_BEHAVIOR = "MODEL_MAP_CURRENT_CONSENT_BEHAVIOR";
public static final String MODEL_MAP_NEXT_CONSENT_BEHAVIOR = "MODEL_MAP_NEXT_CONSENT_BEHAVIOR";
@Autowired @Autowired
IServiceAnimal serviceAnimal; IServiceAnimal serviceAnimal;
@ -451,6 +460,23 @@ public class AnimalController {
Animal animal = serviceAnimal.getAnimalCareProgression(userDetails.getUsername(), animalId, careId); Animal animal = serviceAnimal.getAnimalCareProgression(userDetails.getUsername(), animalId, careId);
pModel.addAttribute(MODEL_MAP_ANIMAL, animal); pModel.addAttribute(MODEL_MAP_ANIMAL, animal);
List<Care> listAllCares = serviceAnimal.getAnimalCares(userDetails.getUsername(), animalId);
pModel.addAttribute(MODEL_MAP_LIST_ALL_CARES, listAllCares);
if (listAllCares.size() >= 3) {
Care lastCare = null;
for (Care care: listAllCares) {
if (care.getId() == careId) {
if (lastCare != null) {
pModel.addAttribute(MODEL_MAP_PREVIOUS_CARE, lastCare);
}
pModel.addAttribute(MODEL_MAP_CURRENT_CARE, care);
} else if (lastCare != null && lastCare.getId() == careId) {
pModel.addAttribute(MODEL_MAP_NEXT_CARE, care);
}
lastCare = care;
}
}
List<Animal> animals = serviceAnimal.getAnimals(userDetails.getUsername()); List<Animal> animals = serviceAnimal.getAnimals(userDetails.getUsername());
pModel.addAttribute(MODEL_MAP_ANIMAL_LIST, animals); pModel.addAttribute(MODEL_MAP_ANIMAL_LIST, animals);
@ -486,6 +512,23 @@ public class AnimalController {
Animal animal = serviceAnimal.getAnimalConsentBehaviorProgression(userDetails.getUsername(), animalId, consentBehaviorId); Animal animal = serviceAnimal.getAnimalConsentBehaviorProgression(userDetails.getUsername(), animalId, consentBehaviorId);
pModel.addAttribute(MODEL_MAP_ANIMAL, animal); pModel.addAttribute(MODEL_MAP_ANIMAL, animal);
List<ConsentBehavior> listAllConsentBehaviors = serviceAnimal.getAnimalConsentBehaviors(userDetails.getUsername(), animalId);
pModel.addAttribute(MODEL_MAP_LIST_ALL_CONSENT_BEHAVIORS, listAllConsentBehaviors);
if (listAllConsentBehaviors.size() >= 3) {
ConsentBehavior lastConsentBehavior = null;
for (ConsentBehavior consentBehavior: listAllConsentBehaviors) {
if (consentBehavior.getId() == consentBehaviorId) {
if (lastConsentBehavior != null) {
pModel.addAttribute(MODEL_MAP_PREVIOUS_CONSENT_BEHAVIOR, lastConsentBehavior);
}
pModel.addAttribute(MODEL_MAP_CURRENT_CONSENT_BEHAVIOR, consentBehavior);
} else if (lastConsentBehavior != null && lastConsentBehavior.getId() == consentBehaviorId) {
pModel.addAttribute(MODEL_MAP_NEXT_CONSENT_BEHAVIOR, consentBehavior);
}
lastConsentBehavior = consentBehavior;
}
}
List<Animal> animals = serviceAnimal.getAnimals(userDetails.getUsername()); List<Animal> animals = serviceAnimal.getAnimals(userDetails.getUsername());
pModel.addAttribute(MODEL_MAP_ANIMAL_LIST, animals); pModel.addAttribute(MODEL_MAP_ANIMAL_LIST, animals);

View File

@ -38,7 +38,49 @@
<fmt:message key="animal_behavior.title"> <fmt:message key="animal_behavior.title">
<fmt:param value="${MODEL_MAP_ANIMAL.getName()}" /> <fmt:param value="${MODEL_MAP_ANIMAL.getName()}" />
</fmt:message> </fmt:message>
</h1></center> </h1>
</center>
<!--navigation between cares-->
<div class="btn-group pull-right" role="group" aria-label="...">
<c:choose>
<c:when test="${MODEL_MAP_PREVIOUS_CONSENT_BEHAVIOR != null}">
<a class="btn btn-default" href="${animalURL}/${MODEL_MAP_ANIMAL.getId()}/consent_behavior/${MODEL_MAP_PREVIOUS_CONSENT_BEHAVIOR.getId()}"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span> ${MODEL_MAP_PREVIOUS_CONSENT_BEHAVIOR.getName()}</a>
</c:when>
<c:otherwise>
<a class="btn btn-default disabled" ><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span></a>
</c:otherwise>
</c:choose>
<div class="btn-group" role="group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
${MODEL_MAP_ANIMAL.getConsentBehaviorById(MODEL_MAP_ANIMAL_CONSENT_BEHAVIOR_ID).getName()}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<c:forEach items="${MODEL_MAP_LIST_ALL_CONSENT_BEHAVIORS}" var="consent_behavior">
<c:choose>
<c:when test="${consent_behavior.getId() == MODEL_MAP_ANIMAL_CONSENT_BEHAVIOR_ID}">
<li class="active"><a href="${animalURL}/${MODEL_MAP_ANIMAL.getId()}/consent_behavior/${consent_behavior.getId()}">${consent_behavior.getName()}</a></li>
</c:when>
<c:otherwise>
<li><a href="${animalURL}/${MODEL_MAP_ANIMAL.getId()}/consent_behavior/${consent_behavior.getId()}">${consent_behavior.getName()}</a></li>
</c:otherwise>
</c:choose>
</c:forEach>
</ul>
</div>
<c:choose>
<c:when test="${MODEL_MAP_NEXT_CONSENT_BEHAVIOR != null}">
<a class="btn btn-default" href="${animalURL}/${MODEL_MAP_ANIMAL.getId()}/consent_behavior/${MODEL_MAP_NEXT_CONSENT_BEHAVIOR.getId()}">${MODEL_MAP_NEXT_CONSENT_BEHAVIOR.getName()} <span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span></a>
</c:when>
<c:otherwise>
<a class="btn btn-default disabled" ><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span></a>
</c:otherwise>
</c:choose>
</div>
<h3> <h3>
<fmt:message key="animal_behavior.subtitle"> <fmt:message key="animal_behavior.subtitle">
<fmt:param value="${MODEL_MAP_ANIMAL.getConsentBehaviorById(MODEL_MAP_ANIMAL_CONSENT_BEHAVIOR_ID).getName()}" /> <fmt:param value="${MODEL_MAP_ANIMAL.getConsentBehaviorById(MODEL_MAP_ANIMAL_CONSENT_BEHAVIOR_ID).getName()}" />

View File

@ -34,11 +34,54 @@
<body> <body>
<div class="container"> <div class="container">
<%@ include file="base/navbar.jsp" %> <%@ include file="base/navbar.jsp" %>
<center><h1> <center>
<h1>
<fmt:message key="animal_care.title"> <fmt:message key="animal_care.title">
<fmt:param value="${MODEL_MAP_ANIMAL.getName()}" /> <fmt:param value="${MODEL_MAP_ANIMAL.getName()}" />
</fmt:message> </fmt:message>
</h1></center> </h1>
</center>
<!--navigation between cares-->
<div class="btn-group pull-right" role="group" aria-label="...">
<c:choose>
<c:when test="${MODEL_MAP_PREVIOUS_CARE != null}">
<a class="btn btn-default" href="${animalURL}/${MODEL_MAP_ANIMAL.getId()}/care/${MODEL_MAP_PREVIOUS_CARE.getId()}"><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span> ${MODEL_MAP_PREVIOUS_CARE.getName()}</a>
</c:when>
<c:otherwise>
<a class="btn btn-default disabled" ><span class="glyphicon glyphicon-menu-left" aria-hidden="true"></span></a>
</c:otherwise>
</c:choose>
<div class="btn-group" role="group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
${MODEL_MAP_ANIMAL.getCareById(MODEL_MAP_ANIMAL_CARE_ID).getName()}
<span class="caret"></span>
</button>
<ul class="dropdown-menu">
<c:forEach items="${MODEL_MAP_LIST_ALL_CARES}" var="care">
<c:choose>
<c:when test="${care.getId() == MODEL_MAP_ANIMAL_CARE_ID}">
<li class="active"><a href="${animalURL}/${MODEL_MAP_ANIMAL.getId()}/care/${care.getId()}">${care.getName()}</a></li>
</c:when>
<c:otherwise>
<li><a href="${animalURL}/${MODEL_MAP_ANIMAL.getId()}/care/${care.getId()}">${care.getName()}</a></li>
</c:otherwise>
</c:choose>
</c:forEach>
</ul>
</div>
<c:choose>
<c:when test="${MODEL_MAP_NEXT_CARE != null}">
<a class="btn btn-default" href="${animalURL}/${MODEL_MAP_ANIMAL.getId()}/care/${MODEL_MAP_NEXT_CARE.getId()}">${MODEL_MAP_NEXT_CARE.getName()} <span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span></a>
</c:when>
<c:otherwise>
<a class="btn btn-default disabled" ><span class="glyphicon glyphicon-menu-right" aria-hidden="true"></span></a>
</c:otherwise>
</c:choose>
</div>
<h3> <h3>
<fmt:message key="animal_care.subtitle"> <fmt:message key="animal_care.subtitle">
<fmt:param value="${MODEL_MAP_ANIMAL.getCareById(MODEL_MAP_ANIMAL_CARE_ID).getName()}" /> <fmt:param value="${MODEL_MAP_ANIMAL.getCareById(MODEL_MAP_ANIMAL_CARE_ID).getName()}" />