Example usage for com.liferay.portal.kernel.exception UserFieldException addField

List of usage examples for com.liferay.portal.kernel.exception UserFieldException addField

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.exception UserFieldException addField.

Prototype

public void addField(String field) 

Source Link

Usage

From source file:eu.gerhards.liferay.services.angular.service.impl.AngularUserServiceImpl.java

License:Open Source License

protected void validateUpdatePermission(User user, String screenName, String emailAddress, String firstName,
        String middleName, String lastName, long prefixId, long suffixId, int birthdayMonth, int birthdayDay,
        int birthdayYear, boolean male, String jobTitle) throws PortalException {

    List<String> fields = new ArrayList<>();

    Contact contact = user.getContact();

    Calendar birthday = CalendarFactoryUtil.getCalendar();

    birthday.setTime(contact.getBirthday());

    if ((birthdayMonth != birthday.get(Calendar.MONTH)) || (birthdayDay != birthday.get(Calendar.DAY_OF_MONTH))
            || (birthdayYear != birthday.get(Calendar.YEAR))) {

        fields.add("birthday");
    }//ww w .  ja v a  2  s .c  o m

    if (!StringUtil.equalsIgnoreCase(emailAddress, user.getEmailAddress())) {

        fields.add("emailAddress");
    }

    if (!StringUtil.equalsIgnoreCase(firstName, user.getFirstName())) {
        fields.add("firstName");
    }

    if (male != contact.getMale()) {
        fields.add("gender");
    }

    if (!StringUtil.equalsIgnoreCase(jobTitle, user.getJobTitle())) {
        fields.add("jobTitle");
    }

    if (!StringUtil.equalsIgnoreCase(lastName, user.getLastName())) {
        fields.add("lastName");
    }

    if (!StringUtil.equalsIgnoreCase(middleName, user.getMiddleName())) {
        fields.add("middleName");
    }

    if (prefixId != contact.getPrefixId()) {
        fields.add("prefix");
    }

    if (!StringUtil.equalsIgnoreCase(screenName, user.getScreenName())) {
        fields.add("screenName");
    }

    if (suffixId != contact.getSuffixId()) {
        fields.add("suffix");
    }

    UserFieldException ufe = new UserFieldException();

    for (String field : fields) {
        if (!UsersAdminUtil.hasUpdateFieldPermission(getPermissionChecker(), getUser(), user, field)) {

            ufe.addField(field);
        }
    }

    if (ufe.hasFields()) {
        throw ufe;
    }
}