cut-to-pack-service/src/main/java/com/utopiaindustries/controller/InventoryAccountController....

79 lines
3.7 KiB
Java

package com.utopiaindustries.controller;
import com.utopiaindustries.auth.AdminRole;
import com.utopiaindustries.model.ctp.InventoryAccount;
import com.utopiaindustries.service.InventoryAccountService;
import com.utopiaindustries.util.StringUtils;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
@Controller
@AdminRole
@RequestMapping( "/inventory-accounts" )
public class InventoryAccountController {
private final InventoryAccountService inventoryAccountService;
public InventoryAccountController(InventoryAccountService inventoryAccountService) {
this.inventoryAccountService = inventoryAccountService;
}
@GetMapping
public String showInventoryAccounts( @RequestParam( value = "id", required = false ) String id,
@RequestParam( value = "title", required = false) String title,
@RequestParam( value = "active", required = false ) String active,
@RequestParam( value = "created-by", required = false ) String createdBy,
@RequestParam( value = "start-date", required = false ) String startDate,
@RequestParam( value = "end-date", required = false ) String endDate,
@RequestParam( value = "site-id", required = false ) String siteId,
@RequestParam( value = "count", required = false ) Long count,
Model model ){
model.addAttribute( "accounts", inventoryAccountService.findInventoryAccountsByFilter(id, title, active, createdBy, startDate, endDate, siteId, count) );
return "inventory-account-list";
}
@GetMapping( "/new" )
public String showNewForm( Model model ){
model.addAttribute( "account", inventoryAccountService.createNewAccount() );
model.addAttribute("processes", inventoryAccountService.getAllProcess() );
return "inventory-account-add";
}
@GetMapping( "/edit/{id}" )
public String showEditForm( @PathVariable long id,
Model model ){
model.addAttribute("account", inventoryAccountService.find(id) );
model.addAttribute("processes", inventoryAccountService.getAllProcess() );
return "inventory-account-edit";
}
@PostMapping( "/edit" )
public String saveNewForm( @ModelAttribute InventoryAccount inventoryAccount,
RedirectAttributes redirectAttributes ){
try {
inventoryAccountService.saveAccount( inventoryAccount );
redirectAttributes.addFlashAttribute("success", inventoryAccount.getTitle() + " Successfully Added" );
} catch ( Exception e ){
redirectAttributes.addFlashAttribute("error", e.getMessage() );
}
return "redirect:/inventory-accounts";
}
@PostMapping( "/edit/{id}" )
public String saveNewForm( @ModelAttribute InventoryAccount inventoryAccount,
@PathVariable long id,
RedirectAttributes redirectAttributes ){
try {
inventoryAccountService.saveAccount( inventoryAccount );
redirectAttributes.addFlashAttribute("success", inventoryAccount.getTitle() + " Successfully update" );
} catch ( Exception e ){
redirectAttributes.addFlashAttribute("error", e.getMessage() );
}
return "redirect:/inventory-accounts";
}
}