package client.control.group;

import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JOptionPane;

import client.Application;
import client.ApplicationHelper;
import client.model.user.Droits;
import client.model.user.Role;
import client.view.admin.PanelAdmin;
import client.view.admin.gestionGroup.PanelCreerGroupe;
import client.view.admin.gestionGroup.PanelGestionGroupe;

/**
 * <u><b>Explication générale de la classe :</b></u>
 * <P>
 * Cette classe permet de gérer l'évènement lié à la JComboBox
 * 
 * @author Dream Team - ING2
 */
public class EcouteurBoxGroupe implements ItemListener {

	// Variables permettant de définir le texte
	private final String CREER_UN_GROUPE = "Créer un groupe";

	public EcouteurBoxGroupe() {}

	/**
	 * <u><i>Explication générale de la méthode :</i></u> <P> Cette méthode permet
	 * de gérer les évènements liés à la souris sur la box
	 * 
	 * @param e Evènement box
	 * 
	 */
	public void itemStateChanged(ItemEvent e) {

		if (PanelGestionGroupe.getInstance().getGroupBox().getSelectedItem()
				.toString().equals(CREER_UN_GROUPE)) {

			//On recupère le rôle
			Role role = Application.getInstance().getUser(Application.idSelect)
					.getRolePersonne();

			// idRole du role en question
			int idRole = Application.getInstance().getIdRole(role);

			// On test si ce role possède le droit de suppression de membre
			if (ApplicationHelper.ARoleCan(idRole, Droits.CREER_GROUPE)) {
				PanelCreerGroupe.getInstance().setVisible(true);
				PanelGestionGroupe.getInstance().setVisible(false);
			}
		} else {
			JOptionPane.showMessageDialog(PanelAdmin.getInstance(),
					"Vous n'avez pas les droits pour créer un groupe",
					"Erreur", JOptionPane.ERROR_MESSAGE);
		}
	}
}
