org.openmrs.module.openhmis.cashier.web.controller.CashierSettingsControllerBase.java Source code

Java tutorial

Introduction

Here is the source code for org.openmrs.module.openhmis.cashier.web.controller.CashierSettingsControllerBase.java

Source

/*
 * 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);
    }
}