Search in sources :

Example 1 with IValidationError

use of org.apache.wicket.validation.IValidationError in project wicket by apache.

the class DateValidator method decorate.

@Override
protected IValidationError decorate(IValidationError error, IValidatable<Date> validatable) {
    error = super.decorate(error, validatable);
    if (error instanceof ValidationError) {
        ValidationError ve = (ValidationError) error;
        ve.setVariable("inputdate", validatable.getValue());
        // format variables if format has been specified
        if (format != null) {
            Locale locale;
            if (Session.exists()) {
                Session session = Session.get();
                locale = session.getLocale();
                if (locale == null) {
                    locale = Locale.getDefault(Locale.Category.FORMAT);
                }
            } else {
                locale = Locale.getDefault(Locale.Category.FORMAT);
            }
            SimpleDateFormat sdf = new SimpleDateFormat(format, locale);
            if (getMinimum() != null) {
                ve.setVariable("minimum", sdf.format(getMinimum()));
            }
            if (getMaximum() != null) {
                ve.setVariable("maximum", sdf.format(getMaximum()));
            }
            ve.setVariable("inputdate", sdf.format(validatable.getValue()));
        }
    }
    return error;
}
Also used : Locale(java.util.Locale) IValidationError(org.apache.wicket.validation.IValidationError) ValidationError(org.apache.wicket.validation.ValidationError) SimpleDateFormat(java.text.SimpleDateFormat) Session(org.apache.wicket.Session)

Example 2 with IValidationError

use of org.apache.wicket.validation.IValidationError in project openmeetings by apache.

the class UserWebService method add.

/**
 * Adds a new User like through the Frontend, but also does activates the
 * Account To do SSO see the methods to create a hash and use those ones!
 *
 * @param sid
 *            The SID from getSession
 * @param user
 *            user object
 * @param confirm
 *            whatever or not to send email, leave empty for auto-send
 *
 * @return - id of the user added or error code
 */
@WebMethod
@POST
@Path("/")
public UserDTO add(@WebParam(name = "sid") @QueryParam("sid") String sid, @WebParam(name = "user") @FormParam("user") UserDTO user, @WebParam(name = "confirm") @FormParam("confirm") Boolean confirm) {
    return performCall(sid, User.Right.Soap, sd -> {
        User testUser = userDao.getExternalUser(user.getExternalId(), user.getExternalType());
        if (testUser != null) {
            throw new ServiceException("User does already exist!");
        }
        String tz = user.getTimeZoneId();
        if (Strings.isEmpty(tz)) {
            tz = getDefaultTimezone();
        }
        if (user.getAddress() == null) {
            user.setAddress(new Address());
            user.getAddress().setCountry(Locale.getDefault().getCountry());
        }
        if (user.getLanguageId() == null) {
            user.setLanguageId(1L);
        }
        IValidator<String> passValidator = new StrongPasswordValidator(true, getMinPasswdLength(cfgDao), user.get(userDao));
        Validatable<String> passVal = new Validatable<>(user.getPassword());
        passValidator.validate(passVal);
        if (!passVal.isValid()) {
            StringBuilder sb = new StringBuilder();
            for (IValidationError err : passVal.getErrors()) {
                sb.append(((ValidationError) err).getMessage()).append(System.lineSeparator());
            }
            log.debug("addNewUser::weak password '{}', msg: {}", user.getPassword(), sb);
            throw new ServiceException(sb.toString());
        }
        Object _user = userManager.registerUser(user.getLogin(), user.getPassword(), user.getLastname(), user.getFirstname(), user.getAddress().getEmail(), new Date(), user.getAddress().getStreet(), user.getAddress().getAdditionalname(), user.getAddress().getFax(), user.getAddress().getZip(), user.getAddress().getCountry(), user.getAddress().getTown(), user.getLanguageId(), // generate SIP Data if the config is enabled
        "", // generate SIP Data if the config is enabled
        false, // generate SIP Data if the config is enabled
        true, tz, confirm);
        if (_user == null) {
            throw new ServiceException(UNKNOWN.getMessage());
        } else if (_user instanceof String) {
            throw new ServiceException((String) _user);
        }
        User u = (User) _user;
        u.getRights().add(Right.Room);
        if (Strings.isEmpty(user.getExternalId()) && Strings.isEmpty(user.getExternalType())) {
            // activate the User
            u.getRights().add(Right.Login);
            u.getRights().add(Right.Dashboard);
        } else {
            u.setType(User.Type.external);
            u.setExternalId(user.getExternalId());
            u.setExternalType(user.getExternalType());
        }
        u = userDao.update(u, sd.getUserId());
        return new UserDTO(u);
    });
}
Also used : User(org.apache.openmeetings.db.entity.user.User) Address(org.apache.openmeetings.db.entity.user.Address) UserDTO(org.apache.openmeetings.db.dto.user.UserDTO) ExternalUserDTO(org.apache.openmeetings.db.dto.user.ExternalUserDTO) IValidationError(org.apache.wicket.validation.IValidationError) StrongPasswordValidator(org.apache.openmeetings.core.util.StrongPasswordValidator) Validatable(org.apache.wicket.validation.Validatable) Date(java.util.Date) ServiceException(org.apache.openmeetings.webservice.error.ServiceException) RemoteSessionObject(org.apache.openmeetings.db.entity.server.RemoteSessionObject) ValidationError(org.apache.wicket.validation.ValidationError) IValidationError(org.apache.wicket.validation.IValidationError) WebMethod(javax.jws.WebMethod) Path(javax.ws.rs.Path) POST(javax.ws.rs.POST)

Aggregations

IValidationError (org.apache.wicket.validation.IValidationError)2 ValidationError (org.apache.wicket.validation.ValidationError)2 SimpleDateFormat (java.text.SimpleDateFormat)1 Date (java.util.Date)1 Locale (java.util.Locale)1 WebMethod (javax.jws.WebMethod)1 POST (javax.ws.rs.POST)1 Path (javax.ws.rs.Path)1 StrongPasswordValidator (org.apache.openmeetings.core.util.StrongPasswordValidator)1 ExternalUserDTO (org.apache.openmeetings.db.dto.user.ExternalUserDTO)1 UserDTO (org.apache.openmeetings.db.dto.user.UserDTO)1 RemoteSessionObject (org.apache.openmeetings.db.entity.server.RemoteSessionObject)1 Address (org.apache.openmeetings.db.entity.user.Address)1 User (org.apache.openmeetings.db.entity.user.User)1 ServiceException (org.apache.openmeetings.webservice.error.ServiceException)1 Session (org.apache.wicket.Session)1 Validatable (org.apache.wicket.validation.Validatable)1