diff --git a/src/main/java/org/springframework/cheapy/model/NuOffer.java b/src/main/java/org/springframework/cheapy/model/NuOffer.java
index 5a52a5756..edcd42ffc 100644
--- a/src/main/java/org/springframework/cheapy/model/NuOffer.java
+++ b/src/main/java/org/springframework/cheapy/model/NuOffer.java
@@ -10,11 +10,8 @@ import javax.validation.constraints.NotNull;
@Table(name = "nu_offers")
public class NuOffer extends Offer {
- /**
- *
- */
private static final long serialVersionUID = 1L;
-
+
@NotNull
private Integer gold;
diff --git a/src/main/java/org/springframework/cheapy/model/SpeedOffer.java b/src/main/java/org/springframework/cheapy/model/SpeedOffer.java
index 0ef65d7a2..021a89106 100644
--- a/src/main/java/org/springframework/cheapy/model/SpeedOffer.java
+++ b/src/main/java/org/springframework/cheapy/model/SpeedOffer.java
@@ -10,9 +10,6 @@ import javax.validation.constraints.NotNull;
@Table(name = "speed_offers")
public class SpeedOffer extends Offer {
- /**
- *
- */
private static final long serialVersionUID = 1L;
@NotNull
diff --git a/src/main/java/org/springframework/cheapy/service/NuOfferService.java b/src/main/java/org/springframework/cheapy/service/NuOfferService.java
index 475a2e7ab..fc1e2d2e9 100644
--- a/src/main/java/org/springframework/cheapy/service/NuOfferService.java
+++ b/src/main/java/org/springframework/cheapy/service/NuOfferService.java
@@ -30,7 +30,6 @@ public class NuOfferService {
public void saveNuOffer(final NuOffer nuOffer) throws DataAccessException { //
-
this.nuOfferRepository.save(nuOffer);
}
diff --git a/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java b/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java
index ca2b08036..eb6f4de6c 100644
--- a/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java
+++ b/src/main/java/org/springframework/cheapy/service/SpeedOfferService.java
@@ -28,10 +28,8 @@ public class SpeedOfferService {
return this.speedOfferRepository.findAllSpeedOffer();
}
-
-
- public void saveSpeedOffer(final SpeedOffer speedOffer) throws DataAccessException {
-
+
+ public void saveSpeedOffer(final SpeedOffer speedOffer) throws DataAccessException { //
this.speedOfferRepository.save(speedOffer);
}
diff --git a/src/main/java/org/springframework/cheapy/web/NuOfferController.java b/src/main/java/org/springframework/cheapy/web/NuOfferController.java
index c6ad3c47f..5ef8bf890 100644
--- a/src/main/java/org/springframework/cheapy/web/NuOfferController.java
+++ b/src/main/java/org/springframework/cheapy/web/NuOfferController.java
@@ -1,15 +1,30 @@
package org.springframework.cheapy.web;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import javax.validation.Valid;
+
+import org.springframework.beans.BeanUtils;
+import org.springframework.cheapy.model.FoodOffer;
+import org.springframework.cheapy.model.NuOffer;
+import org.springframework.cheapy.model.Owner;
+import org.springframework.cheapy.model.SpeedOffer;
+import org.springframework.cheapy.model.StatusOffer;
+import org.springframework.cheapy.model.TimeOffer;
+import org.springframework.cheapy.service.FoodOfferService;
import org.springframework.cheapy.model.Client;
import org.springframework.cheapy.model.NuOffer;
import org.springframework.cheapy.model.StatusOffer;
import org.springframework.cheapy.service.ClientService;
+
import org.springframework.cheapy.service.NuOfferService;
import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.WebDataBinder;
@@ -27,14 +42,17 @@ public class NuOfferController {
private final NuOfferService nuOfferService;
private final ClientService clientService;
-
-
public NuOfferController(final NuOfferService nuOfferService,ClientService clientService) {
this.nuOfferService = nuOfferService;
this.clientService = clientService;
}
+ @InitBinder
+ public void setAllowedFields(WebDataBinder dataBinder) {
+ dataBinder.setDisallowedFields("id");
+ }
+
@InitBinder
public void setAllowedFields(WebDataBinder dataBinder) {
dataBinder.setDisallowedFields("id");
@@ -95,4 +113,100 @@ public class NuOfferController {
+ @GetMapping(value = "/offers/nu/{nuOfferId}/edit")
+ public String updateNuOffer(@PathVariable("nuOfferId") final int nuOfferId, final Principal principal, final ModelMap model) {
+
+// if (!this.comprobarIdentidad(principal, vehiculoId)) {
+// return "exception";
+// }
+
+ NuOffer nuOffer=this.nuOfferService.findNuOfferById(nuOfferId);
+ model.put("nuOffer", nuOffer);
+ return VIEWS_NU_OFFER_CREATE_OR_UPDATE_FORM;
+ }
+
+ @PostMapping(value = "/offers/nu/{nuOfferId}/edit")
+ public String updateNuOffer(@Valid final NuOffer nuOfferEdit, final BindingResult result, @PathVariable("nuOfferId") final int nuOfferId, final Principal principal, final ModelMap model) {
+
+// if (!this.comprobarIdentidad(principal, vehiculoId)) {
+// return "exception";
+// }
+
+ if (result.hasErrors()) {
+ model.put("nuOffer", nuOfferEdit);
+ return VIEWS_NU_OFFER_CREATE_OR_UPDATE_FORM;
+
+ } else {
+
+ NuOffer nuOfferOld=this.nuOfferService.findNuOfferById(nuOfferId);
+
+ BeanUtils.copyProperties(nuOfferEdit, nuOfferOld, "id", "client_id");
+
+ this.nuOfferService.saveNuOffer(nuOfferOld);
+
+ return "offers/offersList";
+ }
+
+ }
+
+ @GetMapping(value ="/offers/nu/{nuOfferId}/edit")
+ public String initUpdateNuOfferForm(@PathVariable("nuOfferId") int nuOfferId, Model model) {
+ NuOffer nuOffer=this.nuOfferService.findNuOfferById(nuOfferId);
+ model.addAttribute(nuOffer);
+ return VIEWS_NU_OFFER_CREATE_OR_UPDATE_FORM;
+ }
+
+ @PostMapping("/offers/nu/{nuOfferId}/edit")
+ public String processUpdateOwnerForm(@Valid NuOffer nuOffer, BindingResult result,
+ @PathVariable("nuOfferId") int nuOfferId) {
+ if (result.hasErrors()) {
+ return VIEWS_NU_OFFER_CREATE_OR_UPDATE_FORM;
+ }
+ else {
+ nuOffer.setId(nuOfferId);
+ this.nuOfferService.saveNuOffer(nuOffer);
+ return "redirect:/offers/nu/{nuOfferId}";
+ }
+ }
+
+ @GetMapping(value = "/offers/nu/{nuOfferId}/disable")
+ public String disableNuOffer(@PathVariable("nuOfferId") final int nuOfferId, final Principal principal, final ModelMap model) {
+
+// if (!this.comprobarIdentidad(principal, vehiculoId)) {
+// return "exception";
+// }
+//
+// if (this.tieneCitasAceptadasYPendientes(vehiculoId)) {
+// model.addAttribute("x", true);
+//
+// } else {
+// model.addAttribute("x", false);
+// }
+
+ NuOffer nuOffer=this.nuOfferService.findNuOfferById(nuOfferId);
+ model.put("nuOffer", nuOffer);
+ return "nuOffers/nuOffersDisable";
+ }
+
+ @PostMapping(value = "/offers/nu/{nuOfferId}/disable")
+ public String disableNuOfferForm(@PathVariable("nuOfferId") final int nuOfferId, final Principal principal, final ModelMap model) {
+
+// if (!this.comprobarIdentidad(principal, vehiculoId)) {
+// return "exception";
+// }
+//
+// if (this.tieneCitasAceptadasYPendientes(vehiculoId)) {
+// return "redirect:/cliente/vehiculos/{vehiculoId}/disable";
+//
+// } else {
+ NuOffer nuOffer=this.nuOfferService.findNuOfferById(nuOfferId);
+
+ nuOffer.setType(StatusOffer.inactive);
+
+ this.nuOfferService.saveNuOffer(nuOffer);
+
+ return "redirect:";
+
+ }
+
}
diff --git a/src/main/java/org/springframework/cheapy/web/SpeedOfferController.java b/src/main/java/org/springframework/cheapy/web/SpeedOfferController.java
index f9678e4bc..f0db3618b 100644
--- a/src/main/java/org/springframework/cheapy/web/SpeedOfferController.java
+++ b/src/main/java/org/springframework/cheapy/web/SpeedOfferController.java
@@ -16,10 +16,21 @@
package org.springframework.cheapy.web;
+import java.security.Principal;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import javax.validation.Valid;
+import org.springframework.beans.BeanUtils;
+import org.springframework.cheapy.model.FoodOffer;
+import org.springframework.cheapy.model.NuOffer;
+import org.springframework.cheapy.model.SpeedOffer;
+import org.springframework.cheapy.model.StatusOffer;
+import org.springframework.cheapy.model.TimeOffer;
+import org.springframework.cheapy.service.FoodOfferService;
+import org.springframework.cheapy.service.NuOfferService;
import org.springframework.cheapy.model.Client;
import org.springframework.cheapy.model.SpeedOffer;
import org.springframework.cheapy.model.StatusOffer;
@@ -94,4 +105,81 @@ public class SpeedOfferController {
model.put("speedOffer", speedOffer);
return "speedOffers/speedOffersShow";
}
+
+ @GetMapping(value = "/offers/speed/{speedOfferId}/edit")
+ public String updateNuOffer(@PathVariable("speedOfferId") final int speedOfferId, final Principal principal, final ModelMap model) {
+
+// if (!this.comprobarIdentidad(principal, vehiculoId)) {
+// return "exception";
+// }
+
+ SpeedOffer speedOffer=this.speedOfferService.findSpeedOfferById(speedOfferId);
+ model.put("speedOffer", speedOffer);
+ return VIEWS_SPEED_OFFER_CREATE_OR_UPDATE_FORM;
+ }
+
+ @PostMapping(value = "/offers/speed/{speedOfferId}/edit")
+ public String updateNuOffer(@Valid final SpeedOffer speedOfferEdit, final BindingResult result, @PathVariable("speedOfferId") final int speedOfferId, final Principal principal, final ModelMap model) {
+
+// if (!this.comprobarIdentidad(principal, vehiculoId)) {
+// return "exception";
+// }
+
+ if (result.hasErrors()) {
+ model.put("speedOffer", speedOfferEdit);
+ return VIEWS_SPEED_OFFER_CREATE_OR_UPDATE_FORM;
+
+ } else {
+
+ SpeedOffer speedOfferOld=this.speedOfferService.findSpeedOfferById(speedOfferId);
+
+ BeanUtils.copyProperties(speedOfferEdit, speedOfferOld, "id", "client_id");
+
+ this.speedOfferService.saveSpeedOffer(speedOfferOld);
+
+ return "redirect:";
+ }
+
+ }
+
+ @GetMapping(value = "/offers/speed/{speedOfferId}/disable")
+ public String disableSpeedOffer(@PathVariable("speedOfferId") final int speedOfferId, final Principal principal, final ModelMap model) {
+
+// if (!this.comprobarIdentidad(principal, vehiculoId)) {
+// return "exception";
+// }
+//
+// if (this.tieneCitasAceptadasYPendientes(vehiculoId)) {
+// model.addAttribute("x", true);
+//
+// } else {
+// model.addAttribute("x", false);
+// }
+
+ SpeedOffer speedOffer=this.speedOfferService.findSpeedOfferById(speedOfferId);
+ model.put("speedOffer", speedOffer);
+ return "speedOffers/speedOffersDisable";
+ }
+
+ @PostMapping(value = "/offers/speed/{speedOfferId}/disable")
+ public String disableNuOfferForm(@PathVariable("speedOfferId") final int speedOfferId, final Principal principal, final ModelMap model) {
+
+// if (!this.comprobarIdentidad(principal, vehiculoId)) {
+// return "exception";
+// }
+//
+// if (this.tieneCitasAceptadasYPendientes(vehiculoId)) {
+// return "redirect:/cliente/vehiculos/{vehiculoId}/disable";
+//
+// } else {
+ SpeedOffer speedOffer=this.speedOfferService.findSpeedOfferById(speedOfferId);
+
+ speedOffer.setType(StatusOffer.inactive);
+
+ this.speedOfferService.saveSpeedOffer(speedOffer);
+
+ return "redirect:";
+
+ }
+
}
diff --git a/src/main/resources/db/mysql/data.sql b/src/main/resources/db/mysql/data.sql
index 30ae2672e..14b4a7b0d 100644
--- a/src/main/resources/db/mysql/data.sql
+++ b/src/main/resources/db/mysql/data.sql
@@ -35,3 +35,4 @@ INSERT INTO speed_offers(start, end, code, type, client_id, gold, discount_gold,
INSERT INTO time_offers(start, end, code, type, client_id, init, finish, discount) VALUES ('2021-06-15 12:00:00', '2021-06-16 12:00:00', 'jkhlljk', 'active', null, '12:00:00', '13:00:00', '10%');
INSERT INTO speed_offers(start, end, code, type, client_id, gold, discount_gold, silver, discount_silver, bronze, discount_bronze) VALUES ('2021-06-15 12:00:00', '2021-06-16 12:00:00', 'jkhlljk', 'active', null,5,'25%',10,'15%',15,'10%' );
INSERT INTO nu_offers(start, end, code, type, client_id, gold, discount_gold, silver, discount_silver, bronze, discount_bronze) VALUES ('2021-06-15 12:00:00', '2021-06-16 12:00:00', 'jkhlljk', 'active', null,15,'25%',10,'15%',5,'10%' );
+
diff --git a/src/main/webapp/WEB-INF/jsp/foodOffers/foodOffersDisable.jsp b/src/main/webapp/WEB-INF/jsp/foodOffers/foodOffersDisable.jsp
new file mode 100644
index 000000000..6f14e9ba0
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/foodOffers/foodOffersDisable.jsp
@@ -0,0 +1,24 @@
+<%@ page session="false" trimDirectiveWhitespaces="true"%>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
+<%@ taglib prefix="petclinic" tagdir="/WEB-INF/tags"%>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
+
+
+
+
+ ¿Esta seguro de que quiere eliminar su oferta?
+
+
+
+
+
+
+
+
+
+ Volver
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/nuOffers/nuOffersDisable.jsp b/src/main/webapp/WEB-INF/jsp/nuOffers/nuOffersDisable.jsp
new file mode 100644
index 000000000..83fa94c10
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/nuOffers/nuOffersDisable.jsp
@@ -0,0 +1,27 @@
+<%@ page session="false" trimDirectiveWhitespaces="true"%>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
+<%@ taglib prefix="petclinic" tagdir="/WEB-INF/tags"%>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
+
+
+
+
+ ¿Esta seguro de que quiere dar de baja su offer?
+
+
+
+
+
+
+
+
+
+
+
+
+ Volver
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/nuOffers/nuOffersShow.jsp b/src/main/webapp/WEB-INF/jsp/nuOffers/nuOffersShow.jsp
index 431d2a4d6..9a189337c 100644
--- a/src/main/webapp/WEB-INF/jsp/nuOffers/nuOffersShow.jsp
+++ b/src/main/webapp/WEB-INF/jsp/nuOffers/nuOffersShow.jsp
@@ -6,7 +6,7 @@
- Oferta por número de comensales
+ Oferta por n�mero de comensales
- <%--
-
+
+
- Edit Owner --%>
+ Editar Oferta
+
+
+
+
+ Eliminar Oferta
diff --git a/src/main/webapp/WEB-INF/jsp/speedOffers/createOrUpdateSpeedOfferForm.jsp b/src/main/webapp/WEB-INF/jsp/speedOffers/createOrUpdateSpeedOfferForm.jsp
index 0e35b6ed3..f813733b0 100644
--- a/src/main/webapp/WEB-INF/jsp/speedOffers/createOrUpdateSpeedOfferForm.jsp
+++ b/src/main/webapp/WEB-INF/jsp/speedOffers/createOrUpdateSpeedOfferForm.jsp
@@ -27,6 +27,9 @@
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/speedOffers/speedOffersDisable.jsp b/src/main/webapp/WEB-INF/jsp/speedOffers/speedOffersDisable.jsp
new file mode 100644
index 000000000..0e2febbf0
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/speedOffers/speedOffersDisable.jsp
@@ -0,0 +1,27 @@
+<%@ page session="false" trimDirectiveWhitespaces="true"%>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
+<%@ taglib prefix="petclinic" tagdir="/WEB-INF/tags"%>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
+
+
+
+
+ ¿Esta seguro de que quiere dar de baja su offer?
+
+
+
+
+
+
+
+
+
+
+
+
+ Volver
+
+
+
diff --git a/src/main/webapp/WEB-INF/jsp/timeOffers/timeOffersDisable.jsp b/src/main/webapp/WEB-INF/jsp/timeOffers/timeOffersDisable.jsp
new file mode 100644
index 000000000..0baaaabcc
--- /dev/null
+++ b/src/main/webapp/WEB-INF/jsp/timeOffers/timeOffersDisable.jsp
@@ -0,0 +1,24 @@
+<%@ page session="false" trimDirectiveWhitespaces="true"%>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
+<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
+<%@ taglib prefix="petclinic" tagdir="/WEB-INF/tags"%>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
+
+
+
+
+ ¿Esta seguro de que quiere eliminar su oferta?
+
+
+
+
+
+
+
+
+
+ Volver
+
+
+