$db_user->usrname($new_val);
} elsif( $api =~ /alias/o ) {
-
- my $exist = $e->search_actor_user(
- { alias => {
- "=" => {
- transform => "evergreen.lowercase",
- value => lc($new_val)
+ # if we are attempting to set an alias, perform a case-insensitive
+ # search and reject if duplicate.
+ # XXX: make this configurable at some level
+ if ($new_val && $new_val ne '') {
+ my $exist = $e->search_actor_user(
+ { alias => {
+ "=" => {
+ transform => "evergreen.lowercase",
+ value => lc($new_val)
+ }
}
- }
- },
- { idlist => 1 }
- );
+ },
+ { idlist => 1 }
+ );
- if (@$exist) {
- $e->rollback;
- return new OpenILS::Event('USERNAME_EXISTS');
+ if (@$exist) {
+ $e->rollback;
+ return new OpenILS::Event('USERNAME_EXISTS');
+ }
+ $db_user->alias($new_val);
+ } else {
+ # we were provided with an empty value -- clear the alias
+ $db_user->clear_alias;
}
- $db_user->alias($new_val);
} elsif( $api =~ /email/o ) {
$db_user->email($new_val);
return Apache2::Const::OK
unless $self->cgi->request_method eq 'POST';
- unless($alias) {
- $ctx->{invalid_alias} = $alias;
- return Apache2::Const::OK;
- }
-
if($alias ne $e->requestor->alias) {
my $evt = $U->simplereq(