diff --git a/src/main/java/fr/geoffrey/medical_training_tracker/controller/AnimalController.java b/src/main/java/fr/geoffrey/medical_training_tracker/controller/AnimalController.java
index a1e5f57..2e0db0d 100644
--- a/src/main/java/fr/geoffrey/medical_training_tracker/controller/AnimalController.java
+++ b/src/main/java/fr/geoffrey/medical_training_tracker/controller/AnimalController.java
@@ -248,7 +248,7 @@ public class AnimalController {
}
@RequestMapping(value = IndexController.URL_ANIMAL_EDIT_CONSENT_BEHAVIOR, method = RequestMethod.POST)
- public String doPostEditAnimal(final ModelMap pModel, HttpSession httpSession,
+ public String doPostEditConsentBehavior(final ModelMap pModel, HttpSession httpSession,
@PathVariable(value = "animal_id") final int animalId,
@PathVariable(value = "consent_behavior_id") final int consentBehaviorId,
@RequestParam(name = "name", required = true) String name,
@@ -328,6 +328,44 @@ public class AnimalController {
return ret;
}
+ @RequestMapping(value = IndexController.URL_ANIMAL_EDIT_PROGRESSION, method = RequestMethod.POST)
+ public String doPostEditProgression(final ModelMap pModel, HttpSession httpSession,
+ @PathVariable(value = "animal_id") final int animalId,
+ @PathVariable(value = "progression_id") final int progressionId,
+ @RequestParam(name = "progression_by_me", required = true) String progressionByMe,
+ @RequestParam(name = "progression_by_someone_else", required = true) String progressionBySomeoneElse,
+ @RequestParam(name = "progression_by_veterinary", required = true) String progressionByVeterinary,
+ @RequestParam(name = "care_id", required = true) int careId,
+ @RequestParam(name = "consent_behavior_id", required = true) int consentBehaviorId,
+ @RequestParam(value = "page", required = true) final String pageFrom) {
+
+ String ret;
+ if (LoginController.isUserAlreadyAuth(httpSession)) {
+ Authentication authentication = (Authentication) httpSession.getAttribute(IndexController.SESSION_ATTRIBUTE_AUTHENTICATION);
+ Object oUserDetails = authentication.getPrincipal();
+ if (oUserDetails instanceof UserDetails) {
+ UserDetails userDetails = (UserDetails) oUserDetails;
+
+ serviceAnimal.updateProgression(animalId, userDetails.getUsername(), progressionId, progressionByMe, progressionBySomeoneElse, progressionByVeterinary);
+ }
+
+ if (pageFrom.equals("care")) {
+ ret = IndexController.URL_REDIRECT + IndexController.URL_ANIMAL_CARE
+ .replaceAll("\\{care_id\\}", careId + "");
+ } else if (pageFrom.equals("consent_behavior")) {
+ ret = IndexController.URL_REDIRECT + IndexController.URL_ANIMAL_BEHAVIOR
+ .replaceAll("\\{consent_behavior_id\\}", consentBehaviorId + "");
+ } else {
+ ret = IndexController.URL_REDIRECT + IndexController.URL_ANIMAL_CARES_AND_BEHAVIORS_LIST;
+ }
+ ret = ret.replaceAll("\\{animal_id\\}", animalId + "");
+ } else {
+ ret = IndexController.URL_REDIRECT + IndexController.URL_LOGIN;
+ }
+
+ return ret;
+ }
+
@RequestMapping(value = IndexController.URL_ANIMAL_PROGRESSION_DELETE, method = RequestMethod.POST)
public String doPostDeleteProgression(final ModelMap pModel, HttpSession httpSession,
@PathVariable(value = "animal_id") final int animalId,
diff --git a/src/main/java/fr/geoffrey/medical_training_tracker/controller/IndexController.java b/src/main/java/fr/geoffrey/medical_training_tracker/controller/IndexController.java
index a630cb4..5f3dc16 100644
--- a/src/main/java/fr/geoffrey/medical_training_tracker/controller/IndexController.java
+++ b/src/main/java/fr/geoffrey/medical_training_tracker/controller/IndexController.java
@@ -63,6 +63,7 @@ public class IndexController {
public static final String URL_ANIMAL_EDIT = "/animal/{animal_id}/edit";
public static final String URL_ANIMAL_EDIT_CARE = "/animal/{animal_id}/edit/care/{care_id}";
public static final String URL_ANIMAL_EDIT_CONSENT_BEHAVIOR = "/animal/{animal_id}/edit/consent_behavior/{consent_behavior_id}";
+ public static final String URL_ANIMAL_EDIT_PROGRESSION = "/animal/{animal_id}/edit/progression/{progression_id}";
public static final String URL_REDIRECT = "redirect:";
//
diff --git a/src/main/java/fr/geoffrey/medical_training_tracker/dao/IProgressionDao.java b/src/main/java/fr/geoffrey/medical_training_tracker/dao/IProgressionDao.java
index b2fa9f4..0cb30b9 100644
--- a/src/main/java/fr/geoffrey/medical_training_tracker/dao/IProgressionDao.java
+++ b/src/main/java/fr/geoffrey/medical_training_tracker/dao/IProgressionDao.java
@@ -21,4 +21,6 @@ public interface IProgressionDao extends CommonDao {
public void fillAnimalProgressionByVeterinary(Animal animal, String progressionByVeterinary);
public void addProgression(int animalId, int careId, int consentBehaviorId);
+
+ public void updateProgression(int animalId, String owner, int progressionId, String progressionByMe, String progressionBySomeoneElse, String progressionByVeterinary);
}
diff --git a/src/main/java/fr/geoffrey/medical_training_tracker/dao/bdd/postgres/ProgressionDao.java b/src/main/java/fr/geoffrey/medical_training_tracker/dao/bdd/postgres/ProgressionDao.java
index 60c186d..68096c0 100644
--- a/src/main/java/fr/geoffrey/medical_training_tracker/dao/bdd/postgres/ProgressionDao.java
+++ b/src/main/java/fr/geoffrey/medical_training_tracker/dao/bdd/postgres/ProgressionDao.java
@@ -691,4 +691,42 @@ public class ProgressionDao extends PostgresSqlDao implements IProgressionDao {
}
}
}
+
+ @Override
+ public void updateProgression(int animalId, String owner, int progressionId, String progressionByMe, String progressionBySomeoneElse, String progressionByVeterinary) {
+ Connection conn = null;
+ PreparedStatement statement = null;
+ try {
+ conn = mDataSource.getConnection();
+ statement = conn.prepareStatement("UPDATE "+TABLE_NAME+" SET progression_by_me = ?, progression_by_someone_else = ?, progression_by_veterinary = ? WHERE id = ? AND animal = ("
+ + "SELECT id FROM "+AnimalDao.TABLE_NAME+" WHERE owner = ? AND id = ?)");
+ statement.setString(1, progressionByMe);
+ statement.setString(2, progressionBySomeoneElse);
+ statement.setString(3, progressionByVeterinary);
+ statement.setInt(4, progressionId);
+ statement.setString(5, owner);
+ statement.setInt(6, animalId);
+ System.out.println(IndexController.LOG_TAG + " SQL -> " + statement.toString());
+ statement.executeUpdate();
+ } catch (SQLException ex) {
+ System.err.println(IndexController.LOG_TAG + " SQLException -> updateCare()");
+ System.err.println(ex.getMessage());
+ ex.printStackTrace();
+ } finally {
+ if (statement != null) {
+ try {
+ statement.close();
+ } catch (SQLException ex) {
+ System.err.println(IndexController.LOG_TAG + " Failed close statement -> updateCare()");
+ }
+ }
+ if (conn != null) {
+ try {
+ conn.close();
+ } catch (SQLException ex) {
+ System.err.println(IndexController.LOG_TAG + " Failed close connection -> updateCare()");
+ }
+ }
+ }
+ }
}
diff --git a/src/main/java/fr/geoffrey/medical_training_tracker/services/IServiceAnimal.java b/src/main/java/fr/geoffrey/medical_training_tracker/services/IServiceAnimal.java
index a11b46b..1fa3d49 100644
--- a/src/main/java/fr/geoffrey/medical_training_tracker/services/IServiceAnimal.java
+++ b/src/main/java/fr/geoffrey/medical_training_tracker/services/IServiceAnimal.java
@@ -32,4 +32,6 @@ public interface IServiceAnimal {
public void updateCare(int careId, int animalId, String owner, String name, String description);
public void updateConsentBehavior(int consentBehaviorId, int animalId, String owner, String name, String description);
+ public void updateProgression(int animalId, String owner, int progressionId, String progressionByMe, String progressionBySomeoneElse, String progressionByVeterinary);
+
}
diff --git a/src/main/java/fr/geoffrey/medical_training_tracker/services/ServiceAnimal.java b/src/main/java/fr/geoffrey/medical_training_tracker/services/ServiceAnimal.java
index 3fe04b9..a84145c 100644
--- a/src/main/java/fr/geoffrey/medical_training_tracker/services/ServiceAnimal.java
+++ b/src/main/java/fr/geoffrey/medical_training_tracker/services/ServiceAnimal.java
@@ -165,4 +165,9 @@ public class ServiceAnimal implements IServiceAnimal {
public void updateConsentBehavior(int consentBehaviorId, int animalId, String owner, String name, String description) {
consentBehaviorDao.updateConsentBehavior(consentBehaviorId, animalId, owner, name, description);
}
+
+ @Override
+ public void updateProgression(int animalId, String owner, int progressionId, String progressionByMe, String progressionBySomeoneElse, String progressionByVeterinary) {
+ progressionDao.updateProgression(animalId, owner, progressionId, progressionByMe, progressionBySomeoneElse, progressionByVeterinary);
+ }
}
diff --git a/src/main/resources/messages.properties b/src/main/resources/messages.properties
index e665532..5685b74 100644
--- a/src/main/resources/messages.properties
+++ b/src/main/resources/messages.properties
@@ -105,3 +105,8 @@ animal_care_and_behavior.edit_behavior.modal.name.label=Consent behavior name:
animal_care_and_behavior.edit_behavior.modal.name.placeholder=Consent behavior name
animal_care_and_behavior.edit_behavior.modal.description.label=Consent behavior description:
animal_care_and_behavior.edit_behavior.modal.description.placeholder=Consent behavior description (optional)
+animal_care.button.edit.tooltip=Edit
+animal_consent_behavior.button.edit.tooltip=Edit
+animal_care_and_behavior.care_list.empty=No cares yet
+animal_care_and_behavior.behavior_list.empty=No consent behaviors yet
+animal_list.animal_list.empty=No animals yet
diff --git a/src/main/resources/messages_en.properties b/src/main/resources/messages_en.properties
index f4b512c..f0a5de2 100644
--- a/src/main/resources/messages_en.properties
+++ b/src/main/resources/messages_en.properties
@@ -101,3 +101,8 @@ animal_care_and_behavior.edit_behavior.modal.name.label=Consent behavior name:
animal_care_and_behavior.edit_behavior.modal.name.placeholder=Consent behavior name
animal_care_and_behavior.edit_behavior.modal.description.label=Consent behavior description:
animal_care_and_behavior.edit_behavior.modal.description.placeholder=Consent behavior description (optional)
+animal_care.button.edit.tooltip=Edit
+animal_consent_behavior.button.edit.tooltip=Edit
+animal_care_and_behavior.care_list.empty=No cares yet
+animal_care_and_behavior.behavior_list.empty=No consent behaviors yet
+animal_list.animal_list.empty=No animals yet
diff --git a/src/main/resources/messages_fr.properties b/src/main/resources/messages_fr.properties
index 53ab14c..54afa60 100644
--- a/src/main/resources/messages_fr.properties
+++ b/src/main/resources/messages_fr.properties
@@ -101,3 +101,8 @@ animal_care_and_behavior.edit_behavior.modal.name.label=Nom du comportement de c
animal_care_and_behavior.edit_behavior.modal.name.placeholder=Nom du comportement de consentement
animal_care_and_behavior.edit_behavior.modal.description.label=Description du comportement de consentment :
animal_care_and_behavior.edit_behavior.modal.description.placeholder=Description du comportement de consentement (optionelle)
+animal_care.button.edit.tooltip=Modifier
+animal_consent_behavior.button.edit.tooltip=Modifier
+animal_care_and_behavior.care_list.empty=Pas encore de soins
+animal_care_and_behavior.behavior_list.empty=Pas encore de comportements de consentement
+animal_list.animal_list.empty=Pas encore d'animaux
diff --git a/src/main/webapp/vue/animal_behavior.jsp b/src/main/webapp/vue/animal_behavior.jsp
index dce83c6..c0bee2e 100644
--- a/src/main/webapp/vue/animal_behavior.jsp
+++ b/src/main/webapp/vue/animal_behavior.jsp
@@ -4,6 +4,7 @@
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring"%>
<%@ page isELIgnored="false" %>