Code: Select all
$Customer = $oClient->__soapCall("Dispatch", array($aConfig["rpcusername"], $aConfig["rpcpassword"], "CustomerUserObject", "CustomerUserUpdate",
"Source" , "CustomerUser", # CustomerUser source config
"ID", $oCustomer->getID(),
"UserLogin" , $oCustomer->getUserLogin(),
"UserFirstname" , $oCustomer->getUserFirstname(),
"UserLastname" , $oCustomer->getUserLastname(),
"UserPassword" , $oCustomer->getUserPassword(), # not required
"UserEmail" , $oCustomer->getUserEmail(),
"ValidID" , $oCustomer->getValidID(),
"UserID" , $aConfig["userid"],
));
Code: Select all
sub CustomerUserUpdate {
my ( $Self, %Param ) = @_;
# check needed stuff
if ( !$Param{UserLogin} ) {
$Self->{LogObject}->Log( Priority => 'error', Message => "Need UserLogin!" );
return "Need UserLogin!"; // RETURN SOMETHING
}
# check for UserLogin-renaming and if new UserLogin already exists...
if ( $Param{ID} && ( lc $Param{UserLogin} ne lc $Param{ID} ) ) {
my %User = $Self->CustomerUserDataGet( User => $Param{UserLogin} );
if (%User) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "User already exists '$Param{UserLogin}'!",
);
return "User already exists '$Param{UserLogin}'!"; // RETURN SOMETHING
}
}
# check if user exists
my %User = $Self->CustomerUserDataGet( User => $Param{ID} || $Param{UserLogin} );
if ( !%User ) {
$Self->{LogObject}->Log(
Priority => 'error',
Message => "No such user '$Param{UserLogin}'!",
);
return "No such user '$Param{UserLogin}'!"; // RETURN SOMETHING
}
my $Result = $Self->{ $User{Source} }->CustomerUserUpdate(%Param);
return if !$Result;
# trigger event
$Self->EventHandler(
Event => 'CustomerUserUpdate',
Data => {
UserLogin => $Param{ID} || $Param{UserLogin},
NewData => \%Param,
OldData => \%User,
},
UserID => $Param{UserID},
);
return $Result;
}
Code: Select all
"Source" , "CustomerUser", # CustomerUser source config