CCM NG/ccm-core: Removed constraints for allowed characters in the name of a party
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@4734 8810af33-2d31-482b-a856-94f89814c4dfpull/2/head
parent
d713e0ef9b
commit
4692bd49f1
|
|
@ -92,7 +92,7 @@ public class Party implements Serializable {
|
|||
*/
|
||||
@Column(name = "NAME", length = 256, nullable = false)
|
||||
@NotNull
|
||||
@Pattern(regexp = "[a-zA-Z0-9\\-_]*")
|
||||
// @Pattern(regexp = "[a-zA-Z0-9\\-_\\.]*")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -74,14 +74,23 @@ import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
|||
+ "ORDER BY u.name, "
|
||||
+ " u.familyName, "
|
||||
+ " u.givenName, "
|
||||
+ " u.primaryEmailAddress.address"),
|
||||
+ " u.primaryEmailAddress.address")
|
||||
,
|
||||
@NamedQuery(name = "User.countByName",
|
||||
query = "SELECT COUNT(u) FROM User u WHERE u.name = :name")
|
||||
,
|
||||
@NamedQuery(name = "User.findByEmailAddress",
|
||||
query = "SELECT u FROM User u WHERE "
|
||||
+ "u.primaryEmailAddress.address = :emailAddress "
|
||||
+ "ORDER BY u.name, "
|
||||
+ " u.familyName, "
|
||||
+ " u.givenName, "
|
||||
+ " u.primaryEmailAddress.address"),
|
||||
+ " u.primaryEmailAddress.address")
|
||||
,
|
||||
@NamedQuery(name = "User.countByPrimaryEmailAddress",
|
||||
query = "SELECT COUNT(u) FROM User u "
|
||||
+ "WHERE u.primaryEmailAddress.address = :emailAddress")
|
||||
,
|
||||
@NamedQuery(
|
||||
name = "User.filterByNameAndEmail",
|
||||
query = "SELECT u FROM User u WHERE "
|
||||
|
|
@ -92,7 +101,8 @@ import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
|||
+ "ORDER BY u.name,"
|
||||
+ "u.familyName, "
|
||||
+ "u.givenName, "
|
||||
+ "u.primaryEmailAddress.address"),
|
||||
+ "u.primaryEmailAddress.address")
|
||||
,
|
||||
@NamedQuery(
|
||||
name = "User.findAllOrderedByUsername",
|
||||
query = "SELECT u FROM User u ORDER BY u.name, "
|
||||
|
|
@ -105,7 +115,8 @@ import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
|||
name = "User.withGroupAndRoleMemberships",
|
||||
attributeNodes = {
|
||||
@NamedAttributeNode(
|
||||
value = "groupMemberships"),
|
||||
value = "groupMemberships")
|
||||
,
|
||||
@NamedAttributeNode(
|
||||
value = "roleMemberships",
|
||||
subgraph = "role")},
|
||||
|
|
@ -115,7 +126,8 @@ import static org.libreccm.core.CoreConstants.DB_SCHEMA;
|
|||
attributeNodes = {
|
||||
@NamedAttributeNode(value = "role",
|
||||
subgraph = "permissions")
|
||||
}),
|
||||
})
|
||||
,
|
||||
@NamedSubgraph(
|
||||
name = "permissions",
|
||||
attributeNodes = {
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ public class UserManager {
|
|||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
public User createUser(final String givenName,
|
||||
final String familyName,
|
||||
@Pattern(regexp = "[a-zA-Z0-9\\-_]*")
|
||||
// @Pattern(regexp = "[a-zA-Z0-9\\-_]*")
|
||||
final String name,
|
||||
final String emailAddress,
|
||||
final String password) {
|
||||
|
|
|
|||
|
|
@ -96,6 +96,16 @@ public class UserRepository extends AbstractEntityRepository<Long, User> {
|
|||
return getSingleResult(query);
|
||||
}
|
||||
|
||||
public boolean isNameInUse(final String name) {
|
||||
|
||||
final TypedQuery<Long> query = getEntityManager()
|
||||
.createNamedQuery("User.countByName", Long.class);
|
||||
query.setParameter("name", name);
|
||||
|
||||
final Long result = query.getSingleResult();
|
||||
return result > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds user by the primary email address.
|
||||
*
|
||||
|
|
@ -132,6 +142,16 @@ public class UserRepository extends AbstractEntityRepository<Long, User> {
|
|||
return getSingleResult(query);
|
||||
}
|
||||
|
||||
public boolean isEmailAddressInUse(final String emailAddress) {
|
||||
|
||||
final TypedQuery<Long> query = getEntityManager()
|
||||
.createNamedQuery("User.countByPrimaryEmailAddress", Long.class);
|
||||
query.setParameter("emailAddress", emailAddress);
|
||||
|
||||
final Long result = query.getSingleResult();
|
||||
return result > 0;
|
||||
}
|
||||
|
||||
public List<User> filtered(final String term) {
|
||||
final TypedQuery<User> query = getEntityManager().createNamedQuery(
|
||||
"User.filterByNameAndEmail", User.class);
|
||||
|
|
|
|||
Loading…
Reference in New Issue