- Code : Tout sélectionner
public function create_or_update_user($request, $params = null)
{
$ns = $this->getModel('fonctions');
$profil = $this->getModel('compte');
$users = $this->_crud;
$auth = $users->getAuth();
$groups = $users->getGroupsByUser($auth['id']);
$id = $ns->ifPost('int', 'id');
// verifie si l'utilisateur est un adjoint
$user = $users->getUser($id);
$ret = null;
if (($auth && ($users->hasPrivilege('manage_users') || !$user)) || (!$auth && !$user)) {
$ret = parent::create_or_update_user($request, $params);
}
$err = $this->getHelper('errors');
$donnees = $users->sanitize($request->POST);
if (isset($ret['user']) && $ret['user']) {
if (isset($ret['isnew']) && $ret['isnew']) {
//print_r($ret);
//die('die6');
$group = '2';
$users->addUserToGroup($ret['user']['id'], $group);
// ajoute une zone de vigilance basee sur le code postal fourni par l'utilisateur a la creation
$adresse = $profil->addAdresseForUser($ret['user']['id'], $donnees);
} else {
// le code inscription ne doit plus etre transmis si ce n'est pas un nouvel utilisateur
unset($donnees['code_inscription']);
}
} else if($donnees['id'] == $auth['id']){
//print_r($donnees);
//print_r($params);
//die('create_or_update_user mod');
$id_adresse = $this->getModel('compte')->modAdresseForUser($auth['id'], $donnees);
if (!$id_adresse) {
$err->register_err('user', 'address_modification_failed', "Impossible de modifier l'adresse de cet utilisateur" . "\r\n");
} else {
//$this->data['adresse']['adresse_modifie'] = "1";
$ret['adresse'] = $id_adresse;
}
}
return $ret;
}
A l'intérieur je fais :
- Code : Tout sélectionner
if (($auth && ($users->hasPrivilege('manage_users') || !$user)) || (!$auth && !$user)) {
$ret = parent::create_or_update_user($request, $params);
}
Pour créer dans un premier temps mon utilisateur, pour ensuite ajouter une adresse. Par contre je rencontre un problème avec l'id que je récupère qui est toujours 0. Penses tu que je dois rajouter une fonction qui me récupère le dernier utilisateur créer pour ensuite insérer mon adresse et mon utilisateur dans le bon groupe ?