Merge pull request #1410 from aternatik/fix_ws_user
Fix user webservice
This commit is contained in:
commit
e8dc517cba
@ -181,7 +181,8 @@ $thirdpartywithuser_fields = array(
|
|||||||
'tva_intra' => array('name'=>'tva_intra','type'=>'xsd:string'),
|
'tva_intra' => array('name'=>'tva_intra','type'=>'xsd:string'),
|
||||||
// For user
|
// For user
|
||||||
'login' => array('name'=>'login','type'=>'xsd:string'),
|
'login' => array('name'=>'login','type'=>'xsd:string'),
|
||||||
'password' => array('name'=>'password','type'=>'xsd:string')
|
'password' => array('name'=>'password','type'=>'xsd:string'),
|
||||||
|
'group_id' => array('name'=>'group_id','type'=>'xsd:string')
|
||||||
);
|
);
|
||||||
|
|
||||||
//Retreive all extrafield for contact
|
//Retreive all extrafield for contact
|
||||||
@ -523,6 +524,7 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
$db->begin();
|
||||||
/*
|
/*
|
||||||
* Company creation
|
* Company creation
|
||||||
*/
|
*/
|
||||||
@ -533,6 +535,25 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
|
|||||||
$thirdparty->town=$thirdpartywithuser['town'];
|
$thirdparty->town=$thirdpartywithuser['town'];
|
||||||
$thirdparty->country_id=$thirdpartywithuser['country_id'];
|
$thirdparty->country_id=$thirdpartywithuser['country_id'];
|
||||||
$thirdparty->country_code=$thirdpartywithuser['country_code'];
|
$thirdparty->country_code=$thirdpartywithuser['country_code'];
|
||||||
|
|
||||||
|
// find the country id by code
|
||||||
|
$langs->load("dict");
|
||||||
|
|
||||||
|
$sql = "SELECT rowid";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."c_pays";
|
||||||
|
$sql.= " WHERE active = 1";
|
||||||
|
$sql.= " AND code='".$thirdparty->country_code."'";
|
||||||
|
|
||||||
|
$resql=$db->query($sql);
|
||||||
|
if ($resql)
|
||||||
|
{
|
||||||
|
$num = $db->num_rows($resql);
|
||||||
|
if ($num)
|
||||||
|
{
|
||||||
|
$obj = $db->fetch_object($resql);
|
||||||
|
$thirdparty->country_id = $obj->rowid;
|
||||||
|
}
|
||||||
|
}
|
||||||
$thirdparty->phone=$thirdpartywithuser['phone'];
|
$thirdparty->phone=$thirdpartywithuser['phone'];
|
||||||
$thirdparty->fax=$thirdpartywithuser['fax'];
|
$thirdparty->fax=$thirdpartywithuser['fax'];
|
||||||
$thirdparty->email=$thirdpartywithuser['email'];
|
$thirdparty->email=$thirdpartywithuser['email'];
|
||||||
@ -570,6 +591,9 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
|
|||||||
$contact->phone_pro = $thirdparty->phone;
|
$contact->phone_pro = $thirdparty->phone;
|
||||||
$contact->phone_mobile = $thirdpartywithuser['phone_mobile'];
|
$contact->phone_mobile = $thirdpartywithuser['phone_mobile'];
|
||||||
$contact->fax = $thirdparty->fax;
|
$contact->fax = $thirdparty->fax;
|
||||||
|
$contact->statut = 1;
|
||||||
|
$contact->country_id = $thirdparty->country_id;
|
||||||
|
$contact->country_code = $thirdparty->country_code;
|
||||||
|
|
||||||
//Retreive all extrafield for thirdsparty
|
//Retreive all extrafield for thirdsparty
|
||||||
// fetch optionals attributes and labels
|
// fetch optionals attributes and labels
|
||||||
@ -591,33 +615,29 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
|
|||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
$edituser = new User($db);
|
$edituser = new User($db);
|
||||||
$db->begin();
|
|
||||||
|
|
||||||
$id = $edituser->create_from_contact($contact,$thirdpartywithuser["login"]);
|
$id = $edituser->create_from_contact($contact,$thirdpartywithuser["login"]);
|
||||||
if ($id > 0)
|
if ($id > 0)
|
||||||
{
|
{
|
||||||
$edituser->setPassword($user,trim($thirdpartywithuser['password']));
|
$edituser->setPassword($fuser,trim($thirdpartywithuser['password']));
|
||||||
|
|
||||||
|
if($thirdpartywithuser['group_id'] > 0 )
|
||||||
|
$edituser->SetInGroup($thirdpartywithuser['group_id'],$conf->entity);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error++;
|
$error++;
|
||||||
$errorcode='NOT_CREATE'; $errorlabel='Object not create : no contact found or create';
|
$errorcode='NOT_CREATE'; $errorlabel='Object not create : '.$edituser->error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if (! $error && $id > 0)
|
|
||||||
{
|
|
||||||
$db->commit();
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$db->rollback();
|
|
||||||
$error++;
|
$error++;
|
||||||
$errorcode='NOT_CREATE'; $errorlabel='Contact not create';
|
$errorcode='NOT_CREATE'; $errorlabel='Object not create : '.$contact->error;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$error) {
|
if(!$error) {
|
||||||
|
$db->commit();
|
||||||
$objectresp=array('result'=>array('result_code'=>'OK', 'result_label'=>'SUCCESS'),'id'=>$socid_return);
|
$objectresp=array('result'=>array('result_code'=>'OK', 'result_label'=>'SUCCESS'),'id'=>$socid_return);
|
||||||
$error=0;
|
$error=0;
|
||||||
}
|
}
|
||||||
@ -645,6 +665,7 @@ function createUserFromThirdparty($authentication,$thirdpartywithuser)
|
|||||||
|
|
||||||
if ($error)
|
if ($error)
|
||||||
{
|
{
|
||||||
|
$db->rollback();
|
||||||
$objectresp = array(
|
$objectresp = array(
|
||||||
'result'=>array('result_code' => $errorcode, 'result_label' => $errorlabel)
|
'result'=>array('result_code' => $errorcode, 'result_label' => $errorlabel)
|
||||||
);
|
);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user