Class AccountSupportTicketsPageController


  • @Controller
    @RequestMapping("/my-account")
    public class AccountSupportTicketsPageController
    extends AbstractSearchPageController
    Controller for Customer Support tickets.
    • Constructor Detail

      • AccountSupportTicketsPageController

        public AccountSupportTicketsPageController()
    • Method Detail

      • initBinder

        @InitBinder
        public void initBinder​(org.springframework.web.bind.WebDataBinder binder)
      • supportTickets

        @RequestMapping(value="/support-tickets",
                        method=GET)
        public java.lang.String supportTickets​(@RequestParam(value="page",defaultValue="0")
                                               int pageNumber,
                                               @RequestParam(value="show",defaultValue="Page")
                                               AbstractSearchPageController.ShowMode showMode,
                                               @RequestParam(value="sort",required=false)
                                               java.lang.String sortCode,
                                               @RequestParam(value="ticketAdded",required=false,defaultValue="false")
                                               boolean ticketAdded,
                                               org.springframework.ui.Model model)
                                        throws CMSItemNotFoundException
        Lists all tickets
        Parameters:
        pageNumber -
        showMode -
        sortCode -
        model -
        ticketAdded -
        Returns:
        View String
        Throws:
        CMSItemNotFoundException
      • init

        @InitBinder
        public void init​(org.springframework.web.bind.WebDataBinder binder)
      • addSupportTicket

        @RequestMapping(value="/add-support-ticket",
                        method=GET)
        public java.lang.String addSupportTicket​(org.springframework.ui.Model model)
                                          throws CMSItemNotFoundException
        Used for retrieving page to create a customer support ticket.
        Parameters:
        model -
        Returns:
        View String
        Throws:
        CMSItemNotFoundException
      • addSupportTicket

        @RequestMapping(value="/add-support-ticket",
                        method=POST,
                        produces="application/json")
        @ResponseBody
        public org.springframework.http.ResponseEntity<java.util.List<java.util.Map<java.lang.String,​java.lang.String>>> addSupportTicket​(SupportTicketForm supportTicketForm,
                                                                                                                                                org.springframework.validation.BindingResult bindingResult)
        Creates a ticket.
        Parameters:
        supportTicketForm -
        bindingResult -
        Returns:
        View String
      • getSupportTicket

        @RequestMapping(value="/support-ticket/{ticketId:.*}",
                        method=GET)
        public java.lang.String getSupportTicket​(@PathVariable("ticketId")
                                                 java.lang.String ticketId,
                                                 org.springframework.ui.Model model,
                                                 @RequestParam(value="ticketUpdated",required=false,defaultValue="false")
                                                 boolean ticketUpdated,
                                                 org.springframework.web.servlet.mvc.support.RedirectAttributes redirectModel)
                                          throws CMSItemNotFoundException
        Get Ticket Details.
        Parameters:
        ticketId -
        model -
        redirectModel -
        ticketUpdated -
        Returns:
        View String
        Throws:
        CMSItemNotFoundException
      • updateSupportTicket

        @RequestMapping(value="/support-ticket/{ticketId:.*}",
                        method=POST,
                        produces="application/json")
        @ResponseBody
        public org.springframework.http.ResponseEntity<java.util.List<java.util.Map<java.lang.String,​java.lang.String>>> updateSupportTicket​(SupportTicketForm supportTicketForm,
                                                                                                                                                   org.springframework.validation.BindingResult bindingResult)
        Updates a ticket with new information from form.
        Parameters:
        supportTicketForm -
        bindingResult -
        Returns:
        View String
      • populateTicketData

        protected TicketData populateTicketData​(SupportTicketForm supportTicketForm)
        Populated the data from the form bean to ticket data object.
        Parameters:
        supportTicketForm -
        Returns:
        TicketData
      • getBreadcrumbs

        protected java.util.List<Breadcrumb> getBreadcrumbs​(java.lang.String breadcrumbCode)
      • buildErrorMessagesMap

        protected java.util.List<java.util.Map<java.lang.String,​java.lang.String>> buildErrorMessagesMap​(org.springframework.validation.BindingResult bindingResult)
        Build the error message list with map contains the validation error code and localised message.
        Parameters:
        bindingResult -
        Returns:
        Map of error code and message
      • buildMessageMap

        protected java.util.Map<java.lang.String,​java.lang.String> buildMessageMap​(java.lang.String key,
                                                                                         java.lang.String localisedKey)
        Build a map with key and localsed Message.
        Parameters:
        key - the render key
        localisedKey - the localised message key
        Returns:
        Map of error code and message