Project

General

Profile

« Previous | Next » 

Revision a0e1ca05

Added by Katja Luther over 4 years ago

fix #8470: create user/group in creator

View differences:

eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/input/entitycreator/UserCreator.java
12 12
import java.util.HashMap;
13 13
import java.util.List;
14 14
import java.util.Map;
15
import java.util.regex.Pattern;
15

  
16
import javax.validation.ConstraintViolationException;
17

  
18
import org.springframework.security.access.AccessDeniedException;
16 19

  
17 20
import eu.etaxonomy.cdm.api.service.IUserService;
18 21
import eu.etaxonomy.cdm.model.permission.User;
......
45 48
	@Override
46 49
	public User createEntity(Object key, String text) {
47 50

  
48
		User user = User.NewInstance(text, text);
49
		List<User> userList =CdmStore.getService(IUserService.class).listByUsername(user.getUsername(), MatchMode.EXACT, null, 100, 0, null, null);
50
		if (userList.isEmpty()){
51
		    user = User.NewInstance(text, text);
52
		    boolean isAccepted = Pattern.matches(User.USERNAME_REGEX, user.getUsername());
53
		    if (!isAccepted){
54
		        MessagingUtils.messageDialog(Messages.USER_CREATOR_Name_not_accepted, getClass(), Messages.USER_CREATOR_Name_not_accepted_message);
55
		        return null;
56
		    }
57

  
58

  
59
			return user;
60
		} else{
61
		    MessagingUtils.messageDialog(Messages.USER_CREATOR_user_exists_title, user, Messages.USER_CREATOR_user_exists);
51
	    try{
52
            User user = User.NewInstance(text, text);
53
            List<User> userList =CdmStore.getService(IUserService.class).listByUsername(user.getUsername(), MatchMode.EXACT, null, 100, 0, null, null);
54
            if (userList.isEmpty()){
55
                CdmStore.getService(IUserService.class).createUser(user);
56
                user = CdmStore.getService(IUserService.class).loadWithUpdate(user.getUuid());
57
                return user;
58
            } else{
59
                MessagingUtils.messageDialog(Messages.USER_CREATOR_user_exists_title, user, Messages.USER_CREATOR_user_exists);
60
                return null;
61
            }
62
        } catch (AccessDeniedException e){
63
            MessagingUtils.messageDialog(Messages.USER_CREATOR_Acces_denied, getClass(), e.getMessage(), e);
62 64
            return null;
63
		}
64

  
65
        } catch (ConstraintViolationException cve){
66
            MessagingUtils.messageDialog(Messages.USER_CREATOR_Name_not_accepted, getClass(), Messages.USER_CREATOR_Name_not_accepted_message);
67
            return null;
68
        }
65 69

  
66 70
	}
67 71

  

Also available in: Unified diff