OrgRoleView.java 1.36 KB
package fi.codecrew.moya.web.cdiview.user;

import java.util.List;

import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped;
import javax.inject.Named;

import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.OrgRoleBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.OrgRole;
import fi.codecrew.moya.web.cdiview.GenericCDIView;

@ConversationScoped
@Named
public class OrgRoleView extends GenericCDIView {

	private static final long serialVersionUID = -2492481531713504212L;

	private OrgRole orgRole;

	@EJB
	private transient OrgRoleBeanLocal orgRoleBean;

	@EJB
	private transient EventBeanLocal eventBean;

	public void permissionList() {
		requirePermissions(permbean.hasPermission(UserPermission.READ_ORGROLES));
	}

	public void initForCreate() {
		if (requirePermissions(permbean.hasPermission(UserPermission.WRITE_ORGROLES))) {
			OrgRole role = new OrgRole();
			role.setEventOrganisation(eventBean.getCurrentEvent().getOrganiser());
			setOrgRole(role);
			super.beginConversation();
		}
	}

	public String create()
	{
		orgRoleBean.create(orgRole);
		return "edit";
	}

	public OrgRole getOrgRole() {
		return orgRole;
	}

	public void setOrgRole(OrgRole orgRole) {
		this.orgRole = orgRole;
	}

	public List<OrgRole> getPossibleParents() {
		return orgRoleBean.getPossibleParents(getOrgRole());
	}

}