Skip to content

Commit 1859f70

Browse files
admin: TaxZone2Zone edit
1 parent b3f7e25 commit 1859f70

File tree

4 files changed

+361
-1
lines changed

4 files changed

+361
-1
lines changed

src/main/java/org/woehlke/greenshop/admin/AdminLocationTaxesController.java

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,48 @@ public String taxZoneWithZoneIdDeletePerform(@PathVariable long taxZoneId, @Path
305305
return "redirect:/admin/taxZone/"+taxZoneId;
306306
}
307307

308+
@RequestMapping(value = "/admin/taxZone/{taxZoneId}/zone/{zoneId}/edit", method = RequestMethod.GET)
309+
public String taxZoneWithZoneIdEditForm(@PathVariable long taxZoneId, @PathVariable long zoneId,Model model){
310+
int menuCategory = AdminMenuCategory.LOCATION_TAXES.ordinal();
311+
model.addAttribute("menuCategory",menuCategory);
312+
TaxZone thisTaxZone = adminService.findTaxZoneById(taxZoneId);
313+
model.addAttribute("thisTaxZone",thisTaxZone);
314+
List<TaxZone2Zone> zones = adminService.findZonesByTaxZone(thisTaxZone);
315+
model.addAttribute("zones",zones);
316+
TaxZone2Zone thisZone = adminService.findTaxZone2ZoneById(zoneId);
317+
model.addAttribute("thisZone",thisZone);
318+
return "admin/taxZoneEditForm";
319+
}
320+
321+
@RequestMapping(value = "/admin/taxZone/{taxZoneId}/zone/{zoneId}/edit", method = RequestMethod.POST)
322+
public String taxZoneWithZoneIdEditPerform(@PathVariable long taxZoneId,
323+
@PathVariable long zoneId,
324+
@ModelAttribute NewSubZoneInfoBean newSubZoneInfoBean,
325+
BindingResult result,
326+
Model model){
327+
TaxZone2Zone thisZone = adminService.findTaxZone2ZoneById(zoneId);
328+
if(result.hasErrors()||newSubZoneInfoBean.getZone_country_id()==null) {
329+
int menuCategory = AdminMenuCategory.LOCATION_TAXES.ordinal();
330+
model.addAttribute("menuCategory",menuCategory);
331+
TaxZone thisTaxZone = adminService.findTaxZoneById(taxZoneId);
332+
model.addAttribute("thisTaxZone",thisTaxZone);
333+
List<TaxZone2Zone> zones = adminService.findZonesByTaxZone(thisTaxZone);
334+
model.addAttribute("zones",zones);
335+
model.addAttribute("thisZone",thisZone);
336+
return "admin/taxZoneEditForm";
337+
} else {
338+
Country country = customerService.findCountryById(newSubZoneInfoBean.getZone_country_id());
339+
Zone subZone = null;
340+
if(newSubZoneInfoBean.getZone_id()!=null){
341+
subZone = customerService.findZoneById(newSubZoneInfoBean.getZone_id());
342+
}
343+
thisZone.setZoneCountry(country);
344+
thisZone.setZone(subZone);
345+
adminService.updateTaxZone2Zone(thisZone);
346+
return "redirect:/admin/taxZone/"+taxZoneId+"/zone/"+zoneId;
347+
}
348+
}
349+
308350
@RequestMapping(value = "/admin/taxClasses", method = RequestMethod.GET)
309351
public String taxClasses(Model model){
310352
int menuCategory = AdminMenuCategory.LOCATION_TAXES.ordinal();

src/main/java/org/woehlke/greenshop/admin/AdminService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,4 +87,6 @@ public interface AdminService extends UserDetailsService {
8787
void createTaxZone2Zone(TaxZone2Zone newTaxZone2Zone);
8888

8989
void deleteTaxZone2Zone(TaxZone2Zone thisZone);
90+
91+
void updateTaxZone2Zone(TaxZone2Zone thisZone);
9092
}

src/main/java/org/woehlke/greenshop/admin/AdminServiceImpl.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -362,4 +362,10 @@ public void createTaxZone2Zone(TaxZone2Zone newTaxZone2Zone) {
362362
public void deleteTaxZone2Zone(TaxZone2Zone thisZone) {
363363
taxZone2ZoneRepository.delete(thisZone);
364364
}
365+
366+
@Override
367+
@Transactional(readOnly=false,propagation=Propagation.REQUIRES_NEW)
368+
public void updateTaxZone2Zone(TaxZone2Zone thisZone) {
369+
taxZone2ZoneRepository.save(thisZone);
370+
}
365371
}

0 commit comments

Comments
 (0)