package com.evolute.siprp.client.panels.utils.permissoes;

import com.evolute.siprp.client.panels.utils.navigation.PageNavigation;
import com.evolute.siprp.client.vo.Utilizador;

public class PermissionsController 
{
	private static PermissionsController instance;
	
	private Utilizador userLogged = null;
	private int userType;
	
	private PermissionsController()
	{
		
	}
	
	public static PermissionsController getController()
	{
		if ( instance == null )
		{
			instance = new PermissionsController();
		}
		return instance;
	}
	
	
	public boolean hasPermissionTo( Integer accessConstant )
	{
		userLogged = PageNavigation.getProvider().getUserLogged();
		userType = userLogged.getTipo_utilizador().intValue();
		
		Boolean canAccess = false;
		
		switch ( accessConstant.intValue() )
		{
			case AccessConstants.VIEW_ACTUAL_PANEL:
			{
				
				if ( userType == RolesConstants.TIPO_SEGURANCA 
					|| userType == RolesConstants.TIPO_RECURSOS_HUMANOS
					|| userType == RolesConstants.TIPO_HIGIENE_SEGURANCA )
				{
					canAccess = true;
				}
				break;
			}
			case AccessConstants.VIEW_ACTUAL_PANEL_NOVA_ANALISE_BUTTON:
			{
				if ( userType == RolesConstants.TIPO_SEGURANCA )
				{
					canAccess = true;
				}
				
				break;
			}
			case AccessConstants.VIEW_SEGUIMENTO_PANEL:
			{
				canAccess = true;
				break;
			}
			case AccessConstants.VIEW_CONCLUIDO_PANEL:
			{
				canAccess = true;
				break;
			}
			default:
			{
				break;
			}
		}
		
		return canAccess;
	}
	
}
