Project

General

Profile

« Previous | Next » 

Revision 57650

new registration form

View differences:

DatabaseUtils.java
1 1
package eu.dnetlib.organizations.utils;
2 2

  
3 3
import java.time.OffsetDateTime;
4
import java.util.Arrays;
4 5
import java.util.List;
6
import java.util.stream.Collectors;
5 7

  
6 8
import javax.transaction.Transactional;
7 9

  
......
131 133

  
132 134
	@Transactional
133 135
	public void saveUser(@RequestBody final UserView userView) {
134

  
135 136
		final User user = userRepository.findById(userView.getEmail()).orElseThrow(() -> new RuntimeException("User not found"));
136 137
		user.setRole(userView.getRole());
137 138
		user.setValid(userView.isValid());
138 139
		userRepository.save(user);
139

  
140 140
		userCountryRepository.deleteByEmail(userView.getEmail());
141
		for (final String country : userView.getCountries()) {
142
			userCountryRepository.save(new UserCountry(userView.getEmail(), country));
141
		if (userView.getCountries() != null) {
142
			userCountryRepository
143
					.saveAll(Arrays.stream(userView.getCountries()).map(c -> new UserCountry(userView.getEmail(), c)).collect(Collectors.toList()));
143 144
		}
144 145
	}
145 146

  
......
149 150
		userRepository.deleteById(email);
150 151
	}
151 152

  
153
	@Transactional
154
	public void newUser(final String email, final List<String> countries) {
155
		final User user = new User();
156
		user.setEmail(email);
157
		user.setRole(OpenOrgsConstants.pendingRole);
158
		user.setValid(false);
159
		userRepository.save(user);
160
		if (countries != null) {
161
			userCountryRepository.saveAll(countries.stream().map(c -> new UserCountry(email, c)).collect(Collectors.toList()));
162
		}
163
	}
164

  
152 165
}

Also available in: Unified diff