@RequestMapping(value="/newinvoice", method=RequestMethod.POST)
    public ModelAndView newInvoicePOST(@RequestParam("drinkIds") int[] drinkIds, HttpSession session) {
        final Object userObj = session.getAttribute(Constants.USER);
        if (userObj == null) {
            return new ModelAndView("redirect:login");
        }
        
        final Object drinksObj = session.getAttribute(Constants.DRINKS);
        if (drinksObj != null) {
            @SuppressWarnings("unchecked")
            final List<MappedDrink> drinks = (List<MappedDrink>)drinksObj;
            final List<MappedDrink> selectedDrinks = new ArrayList<MappedDrink>();
            for (int eaId : drinkIds) {
                for (final MappedDrink eaDrink : drinks) {
                    if (eaDrink.getDrinkId() == eaId) {
                        selectedDrinks.add(eaDrink);
                        break;
                    }
                }
            }
            
            if (selectedDrinks.size() > 0) {
                final MappedInvoice invoice = drinkService.createNewInvoice(((MappedUser)userObj).getId(), selectedDrinks);
                
                log4jLogger.trace(Conca.t("invoice created: [", invoice, "]"));
            }
        }
        
        HashMap<String, Object> model = new HashMap<String, Object>();
        return new ModelAndView("newinvoice", model);
    }