BillView.java 1.59 KB
package fi.insomnia.bortal.view;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import fi.insomnia.bortal.beans.BillBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.bortal.views.BillSummary;
import fi.insomnia.bortal.enums.Permission;
import fi.insomnia.bortal.enums.RolePermission;
import fi.insomnia.bortal.model.Bill;

@ManagedBean(name = "billView")
@SessionScoped
public class BillView {

    private static final Logger logger = LoggerFactory.getLogger(BillView.class);

    @EJB
    private UserBeanLocal userbean;

    @EJB
    private BillBeanLocal billbean;
    @EJB
    private UserBeanLocal userBean;

    private ListDataModel<Bill> billList;

    public ListDataModel<Bill> getBills() {
        userbean.fatalNotLoggedIn();
        List<Bill> bills = userbean.getCurrentUser().getBills();
        // logger.debug("found {} bills for user {}", bills.size(),
        // userbean.getCurrentUser().getLogin());
        billList = new ListDataModel<Bill>(bills);

        return billList;
    }

    public DataModel<BillSummary> getBillLineSummary() {
        userBean.fatalPermission(Permission.BILL, RolePermission.READ, "User tried to get the bill summary page");

        return new ListDataModel<BillSummary>(new ArrayList<BillSummary>(billbean.getBillLineSummary()));
    }

    public boolean isManage() {
        return false;
    }
}