Add hook before create user

This commit is contained in:
Marco Antonio Nina
2013-03-20 10:58:19 -04:00
parent 1fb92234c2
commit 638cdee160
7 changed files with 39 additions and 6 deletions

View File

@@ -193,6 +193,14 @@ class RbacUsers extends BaseRbacUsers
public function create($aData)
{
$pluginRegistry = & PMPluginRegistry::getSingleton();
if ($pluginRegistry->existsTrigger(PM_BEFORE_CREATE_USER)) {
try {
$pluginRegistry->executeTriggers(PM_BEFORE_CREATE_USER);
} catch(Exception $error) {
throw new Exception($error->getMessage());
}
}
$oConnection = Propel::getConnection(RbacUsersPeer::DATABASE_NAME);
try {
$oRBACUsers = new RbacUsers();

View File

@@ -41,6 +41,9 @@ define('PM_UPLOAD_DOCUMENT_BEFORE', 1012);
define('PM_CREATE_NEW_DELEGATION', 1013);
define('PM_SINGLE_SIGN_ON', 1014);
define('PM_GET_CASES_AJAX_LISTENER', 1015);
define('PM_BEFORE_CREATE_USER', 1016);
/**
* @package workflow.engine.classes

View File

@@ -1137,8 +1137,11 @@ function WSCreateUser ($userId, $password, $firstname, $lastname, $email, $role,
$params = array ("sessionId" => $sessionId,"userId" => $userId,"firstname" => $firstname,"lastname" => $lastname,"email" => $email,"role" => $role,"password" => $password,"dueDate" => $dueDate,"status" => $status
);
$result = $client->__soapCall( "CreateUser", array ($params
) );
try {
$result = $client->__soapCall( "CreateUser", array ($params) );
} catch(Exception $oError) {
return $oError->getMessage();
}
$fields["status_code"] = $result->status_code;
$fields["message"] = $result->message;

View File

@@ -1058,7 +1058,12 @@ class wsBase
$arrayData["USR_AUTH_USER_DN"] = "";
$arrayData["USR_STATUS"] = ($status == "ACTIVE") ? 1 : 0;
$userUid = $RBAC->createUser( $arrayData, $strRole );
try {
$userUid = $RBAC->createUser( $arrayData, $strRole );
} catch(Exception $oError) {
$result = new wsCreateUserResponse(100, $oError->getMessage(), null );
return $result;
}
$arrayData["USR_UID"] = $userUid;
$arrayData["USR_STATUS"] = $status;

View File

@@ -62,7 +62,13 @@ foreach ($_POST['aUsers'] as $sUser) {
$aUser['sDN'] = str_replace( $match, $newMatch, $aUser['sDN'] );
}
$aData['USR_AUTH_USER_DN'] = $aUser['sDN'];
$sUserUID = $RBAC->createUser( $aData, 'PROCESSMAKER_OPERATOR' );
try {
$sUserUID = $RBAC->createUser( $aData, 'PROCESSMAKER_OPERATOR' );
} catch(Exception $oError) {
$G_PUBLISH = new Publisher();
$G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'login/showMessage', '', array ('MESSAGE' => $oError->getMessage()) );
G::RenderPage("publish", "blank");
}
$aData['USR_STATUS'] = 'ACTIVE';
$aData['USR_UID'] = $sUserUID;
$aData['USR_PASSWORD'] = md5( $sUserUID ); //fake :p

View File

@@ -847,7 +847,11 @@ function CreateUser ($params)
$ws = new wsBase();
$res = $ws->createUser( $params->userId, $params->firstname, $params->lastname, $params->email, $params->role, $params->password, ((isset( $params->dueDate )) ? $params->dueDate : null), ((isset( $params->status )) ? $params->status : null) );
try {
$res = $ws->createUser( $params->userId, $params->firstname, $params->lastname, $params->email, $params->role, $params->password, ((isset( $params->dueDate )) ? $params->dueDate : null), ((isset( $params->status )) ? $params->status : null) );
} catch(Exception $oError) {
return $oError->getMessage();
}
return $res;
}

View File

@@ -147,7 +147,11 @@ switch ($_POST['action']) {
//fixing bug in inactive user when the admin create a new user.
$statusWF = $form['USR_STATUS'];
$aData['USR_STATUS'] = $form['USR_STATUS'] == 'ACTIVE' ? 1 : 0;
$sUserUID = $RBAC->createUser($aData, $form['USR_ROLE']);
try {
$sUserUID = $RBAC->createUser($aData, $form['USR_ROLE']);
} catch(Exception $oError) {
throw new Exception($oError->getMessage());
}
$aData['USR_STATUS'] = $statusWF;
$aData['USR_UID'] = $sUserUID;
$aData['USR_PASSWORD'] = md5($sUserUID); //fake :p