73 lines
3.0 KiB
PHP
73 lines
3.0 KiB
PHP
|
<?php
|
||
|
// -------------------------------------------------------- //
|
||
|
//TODO @BL or @DD: creating UT for the registration process //
|
||
|
// -------------------------------------------------------- //
|
||
|
|
||
|
$oConf = new ClassConfig();
|
||
|
$oTrans = new ClassTranslation();
|
||
|
$oUser = new ClassUser();
|
||
|
$oForm = new ClassForm();
|
||
|
|
||
|
$url = $_SESSION['erp']['url'];
|
||
|
$db = $_SESSION['erp']['db'];
|
||
|
$username = $_SESSION['erp']['admin_user'];
|
||
|
$password = $_SESSION['erp']['admin_password'];
|
||
|
|
||
|
$admin_connection = new ClassXMLRPC($url, $db, $username, $password);
|
||
|
|
||
|
$countries = $admin_connection->execute('res.country', 'search_read', [[]], ['fields'=>['id', 'name', 'code']]);
|
||
|
|
||
|
|
||
|
// Creating user in ERP and in WEFRA
|
||
|
// ..
|
||
|
if(isset($_POST['formRegisterButtonSubmit'])){
|
||
|
//clean $_POST data from any hack try
|
||
|
foreach($_POST as $k=>$v){
|
||
|
if($_POST[$k]!="formRegisterFieldPassword" or $_POST[$k]!="formRegisterFieldConfirmPassword"){
|
||
|
$_POST[$k] = $oForm->cleanData($v);
|
||
|
} else {
|
||
|
continue;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
$name = $_POST['formRegisterFieldFirstname'].' '.$_POST['formRegisterFieldLastname'];
|
||
|
|
||
|
//create user in ERP
|
||
|
$company_id = $admin_connection->execute('res.company', 'search', [[]], [])[0];
|
||
|
$ext_id = $admin_connection->execute('res.users', 'create',
|
||
|
[['name'=>$name,
|
||
|
'email'=>$_POST['formRegisterFieldEmail'],
|
||
|
'login'=>$_POST['formRegisterFieldEmail'], //yes, the login IS the email, there is no mistake here
|
||
|
'company_id'=>$company_id,
|
||
|
'client'=>true
|
||
|
]],
|
||
|
[]
|
||
|
);
|
||
|
|
||
|
//if user created in ERP, then create it in Wefra with password linked
|
||
|
if(isset($ext_id) and !is_array($ext_id)){
|
||
|
//create user in Wefra and link the user to ERP
|
||
|
$user = $oUser->createUser($_POST, $ext_id);
|
||
|
|
||
|
if($user){
|
||
|
//update the password for user in ERP
|
||
|
//..
|
||
|
$getUser = $oUser->getUser($user['user_id']);
|
||
|
$admin_connection->execute('res.users', 'write', [[$ext_id], ['password'=>$getUser['password'], 'password_uncrypted'=>$_POST['formRegisterFieldPassword']]], []);
|
||
|
//..
|
||
|
//that way, ERP rights will be checked everytime Wodoo will use ORM to allow user to to actions which will have an influence in the ERP (ie. get a task which will be assigned to his ERP's user related)
|
||
|
|
||
|
|
||
|
}
|
||
|
//display a confirmation message that everything went well
|
||
|
$message['status']="teal";
|
||
|
$message['content'] = "<h3>Great job!</h3><br><br> <p>You are now part of JMDN Consulting Team.</p> <p>We will come back to you very soon.</p>";
|
||
|
} else {
|
||
|
//if user not created in ERP, displaying a warning message to ask for a new try
|
||
|
$message['status']="orange";
|
||
|
$message['content'] = "we have failed to register your profile. Please try again or contact the team contact@jmdn-solutions.com with title: Cannot create account via Wodoo";
|
||
|
}
|
||
|
}
|
||
|
// ..
|
||
|
// ENDOF creating user in ERP and in WeFra
|