TournamentEditView.java 1.68 KB
package fi.codecrew.moya.web.cdiview.tournaments;

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

import fi.codecrew.moya.beans.TournamentBeanLocal;
import fi.codecrew.moya.enums.apps.TournamentPermission;
import fi.codecrew.moya.model.Tournament;
import fi.codecrew.moya.utilities.I18n;
import fi.codecrew.moya.utilities.jsf.MessageHelper;
import fi.codecrew.moya.web.cdiview.GenericCDIView;

@Named
@ConversationScoped
public class TournamentEditView extends GenericCDIView {

	/**
	 * 
	 */
	private static final long serialVersionUID = -2655058086651272660L;
	@EJB
	private TournamentBeanLocal tournamentBean;
	private Tournament tournament = null;

	public void initView()
	{
		super.requirePermissions(TournamentPermission.MANAGE_ALL);
	}

	public String showEdit(Integer tournamentId) {
		this.beginConversation();
		this.setTournament(tournamentBean.getTournamentById(tournamentId));
		return "/tournaments/admin/edit.xhtml";
	}

	public String commit() {
		if (this.tournament != null) {
			try {
				this.tournamentBean.editTournament(tournament);
				MessageHelper.info(I18n.get("tournament.admin.tournament_edited_successfully"));
			} catch (Exception e) {
				MessageHelper.err(I18n.get("tournament.admin.tournament_edit_failed"));
			}
		} else {
			MessageHelper.err(I18n.get("tournament.admin.tournament_edit_failed"));
		}
		this.endConversation();
		return "/tournaments/admin/index.xhtml";
	}

	public String cancel() {
		this.endConversation();
		return "/tournaments/admin/index.xhtml";
	}

	public Tournament getTournament() {
		return tournament;
	}

	public void setTournament(Tournament tournament) {
		this.tournament = tournament;
	}
}