FeedbackView.java 1.45 KB
package fi.codecrew.moya.web.helper;

import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped;
import javax.faces.model.ListDataModel;
import javax.inject.Named;

import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.Feedback;
import fi.codecrew.moya.web.cdiview.GenericCDIView;

@Named
@ConversationScoped
public class FeedbackView extends GenericCDIView {

	private static final long serialVersionUID = -6231624059763086722L;
	@EJB
	private PermissionBeanLocal permissionBean;

	private String feedback;

	private transient ListDataModel<Feedback> feedbacks;

	public void initFeedback() {
		super.beginConversation();
	}

	@EJB
	private UserBeanLocal userbean;

	public boolean isCanFeedback()
	{
		return permissionBean.hasPermission(UserPermission.VITUTTAAKO);
	}

	public String submitFeedback()
	{
		userbean.submitFeedback(getFeedback());
		feedback = "";
		super.addFaceMessage("feedback.thanks");
		return null;
	}

	public ListDataModel<Feedback> getFeedbacks() {
		if (feedbacks == null && permissionBean.getCurrentUser().isSuperadmin())
		{
			feedbacks = new ListDataModel<Feedback>(userbean.getFeedbacks());
		}
		else {
			feedbacks = new ListDataModel<Feedback>();
		}
		return feedbacks;
	}

	public String getFeedback() {
		return feedback;
	}

	public void setFeedback(String feedback) {
		this.feedback = feedback;
	}
}