/* * The contents of this file are subject to the OpenMRS Public License * Version 2.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * http://license.openmrs.org * * Software distributed under the License is distributed on an "AS IS" * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See * the License for the specific language governing rights and * limitations under the License. * * Copyright (C) OpenHMIS. All Rights Reserved. * */ package org.openmrs.module.openhmis.cashier.web.controller; import org.openmrs.api.context.Context; import org.openmrs.module.jasperreport.JasperReportService; import org.openmrs.module.openhmis.cashier.ModuleSettings; import org.openmrs.module.openhmis.cashier.api.model.CashierSettings; import org.openmrs.module.openhmis.commons.web.controller.HeaderController; import org.openmrs.web.WebConstants; import org.springframework.ui.ModelMap; import org.springframework.validation.Errors; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.io.IOException; /** * Base Controller to manage the settings pages. */ public abstract class CashierSettingsControllerBase { @RequestMapping(method = RequestMethod.GET) public void render(ModelMap modelMap, HttpServletRequest request) throws IOException { JasperReportService reportService = Context.getService(JasperReportService.class); modelMap.addAttribute("reports", reportService.getJasperReports()); modelMap.addAttribute("cashierSettings", ModuleSettings.loadSettings()); HeaderController.render(modelMap, request); } @RequestMapping(method = RequestMethod.POST) public void submit(HttpServletRequest request, CashierSettings cashierSettings, Errors errors, ModelMap modelMap) throws IOException { ModuleSettings.saveSettings(cashierSettings); HttpSession session = request.getSession(); session.setAttribute(WebConstants.OPENMRS_MSG_ATTR, "openhmis.cashier.settings.saved"); render(modelMap, request); } }