package eu.dnetlib.client;

import eu.dnetlib.goldoa.domain.User;
import eu.dnetlib.goldoa.domain.UserRole;

import java.util.List;

/**
 * Created by stefania on 4/8/15.
 */
public class Utils {

    public static boolean currentUserHasRoleApproved(String roleId) {

        List<UserRole> personRoles = GoldOAPortal.currentUser.getRoles();
        for(UserRole personRole : personRoles) {

            if(personRole.getPk().getRole().getId().equals(roleId) && personRole.isApproved())
                return true;
        }

        return false;
    }

    public static boolean currentUserHasRole(String roleId) {

        List<UserRole> personRoles = GoldOAPortal.currentUser.getRoles();
        for(UserRole personRole : personRoles) {
            if(personRole.getPk().getRole().getId().equals(roleId))
                return true;
        }

        return false;
    }

    public static boolean isRoleApprovedForCurrentUser(String roleId) {

        List<UserRole> personRoles = GoldOAPortal.currentUser.getRoles();
        for(UserRole personRole : personRoles) {
            if(personRole.getPk().getRole().getId().equals(roleId))
                return personRole.isApproved();
        }

        return false;
    }


    public static boolean userHasRole(User user, String roleId) {

        List<UserRole> personRoles = user.getRoles();
        for(UserRole personRole : personRoles) {
            if(personRole.getPk().getRole().getId().equals(roleId))
                return true;
        }

        return false;
    }

    public static boolean isRoleApprovedForUser(User user, String roleId) {

        List<UserRole> personRoles = user.getRoles();
        for(UserRole personRole : personRoles) {
            if(personRole.getPk().getRole().getId().equals(roleId))
                return personRole.isApproved();
        }

        return false;
    }


}
