aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/ru
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/ru')
-rw-r--r--src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/controllers/PartnersController.java71
1 files changed, 64 insertions, 7 deletions
diff --git a/src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/controllers/PartnersController.java b/src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/controllers/PartnersController.java
index 22d2d78..fbcb1a4 100644
--- a/src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/controllers/PartnersController.java
+++ b/src/main/java/ru/mrfoxygmfr/warehouse_accounting/http/controllers/PartnersController.java
@@ -4,13 +4,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import ru.mrfoxygmfr.warehouse_accounting.db.dao.PartnerDAO;
-import ru.mrfoxygmfr.warehouse_accounting.db.dao.specs.PartnerSpecs;
-import ru.mrfoxygmfr.warehouse_accounting.db.models.Partner;
-import ru.mrfoxygmfr.warehouse_accounting.db.models.PartnerType;
+import org.springframework.web.bind.annotation.*;
+import ru.mrfoxygmfr.warehouse_accounting.db.dao.*;
+import ru.mrfoxygmfr.warehouse_accounting.db.dao.specs.*;
+import ru.mrfoxygmfr.warehouse_accounting.db.models.*;
import java.util.List;
@@ -18,6 +15,8 @@ import java.util.List;
public class PartnersController {
@Autowired
private PartnerDAO partnerDAO;
+ @Autowired
+ private PartnerContactDAO partnerContactDAO;
@GetMapping("partners")
public String partners(@RequestParam(name = "partnerName", required = false) String name,
@@ -79,4 +78,62 @@ public class PartnersController {
model.addAttribute("newItem", true);
return "partnerEdit";
}
+
+
+ @RequestMapping("/partnerContacts/{partnerId}")
+ public String partnerContacts(@PathVariable(value = "partnerId") Integer partnerId,
+ Model model) {
+
+ Partner partner = partnerDAO.findById(partnerId).orElseThrow();
+ model.addAttribute("partnerContacts", partner.getContacts());
+ model.addAttribute("partnerId", partnerId);
+ return "partnerContacts";
+ }
+
+ @GetMapping("partnerContact")
+ public String partnerContact(@RequestParam(name = "id") Integer id, Model model) {
+ PartnerContact contact = partnerContactDAO.findById(id).orElseThrow();
+ model.addAttribute("partnerContact", contact);
+ return "partnerContactEdit";
+ }
+
+ @PostMapping("partnerContact")
+ public String partnerContact(@RequestParam(name = "partnerId") Integer partnerId,
+ @RequestParam(name = "partnerContactId") Integer id,
+ @RequestParam(name = "partnerContactSurname") String surname,
+ @RequestParam(name = "partnerContactName") String name,
+ @RequestParam(name = "partnerContactEmail") String email,
+ @RequestParam(name = "partnerContactPhone") String phone,
+ @RequestParam(name = "partnerContactPosition") String position) {
+ Partner partner = partnerDAO.findById(partnerId).orElseThrow();
+ PartnerContact contact;
+ if (id == -1) {
+ contact = new PartnerContact(partner, surname, name, position, phone, email);
+ } else {
+ contact = partnerContactDAO.findById(id).orElseThrow();
+ contact.setSurname(name);
+ contact.setName(name);
+ contact.setEmail(email);
+ contact.setPhone(phone);
+ contact.setPosition(position);
+ partner.addContact(contact);
+ }
+ partnerDAO.save(partner);
+ partnerContactDAO.save(contact);
+ return String.format("redirect:/partnerContacts/%d", partnerId);
+ }
+
+ @GetMapping("/newPartnerContact/{partnerId}")
+ public String newPartnerContact(@PathVariable(value = "partnerId") Integer partnerId,
+ Model model) {
+ Partner partner = partnerDAO.findById(partnerId).orElseThrow();
+
+ PartnerContact contact = new PartnerContact();
+ contact.setId(-1);
+ contact.setPartner(partner);
+
+ model.addAttribute("partnerContact", contact);
+ model.addAttribute("newItem", true);
+ return "partnerContactEdit";
+ }
}