Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [Résolu]création d'utilisateur avec jauth

bonsoir à tous encore moi... avant d'installé jauth j'avais un controlleur daoCrud qui me permettait de gerer les utilisateur de façon automatique. vue la dynamique de jAuth je veux que la création des utlisateurs de fasse par jAuth mais toujours dans le même contrôleur. Alors j'ai décommenté la méthode _create($form,$resp,$tpl) de mon crontroleur DaoCrud et modifier comme ceci:

 protected function _create($form, $resp, $tpl) {
		
		$login=$form->getData('login');
		$password=$form->getData('password');
		
		$user=jAuth::createUserObject($login, $password);
		$user->email=$form->getData('email');
		$user->nom_usr=$form->getData('nom_usr');
		$user->prenom_usr=$form->getData('prenom_usr');
		$user->tel_usr=$form->getData('tel_usr');
		$user->id_grp=$form->getData('id_grp');
		$res=jAuth::saveNewUser($user);
		
		
		$resp->body->assign('MAIN',$tpl->fetch($tpl));
		return $resp;
    }

et depuis lors je le formulaire de création ne s'affiche plus. dans le fichier log de mon appli j'ai ceci comme message d'erreur:

2012-01-09 14:38:01	127.0.0.1	notice	2012-01-09 14:38:01	127.0.0.1	[8]	Undefined variable: gJConfig	C:\wamp\www\jelix\myapp\responses\myHtmlResponse.class.php	25
	/jelix/rfxcrm/www/index.php?module=user&action=man:create
array (   'module' => 'user',   'action' => 'man:create', )

	0	myHtmlResponse->__construct()	C:\wamp\www\jelix\lib\jelix\core\jRequest.class.php : 194
	1	jRequest->getResponse()	C:\wamp\www\jelix\lib\jelix\core\jController.class.php : 131
	2	jController->getResponse()	C:\wamp\www\jelix\lib\jelix\controllers\jControllerDaoCrud.class.php : 121
	3	jControllerDaoCrud->_getResponse()	C:\wamp\www\jelix\lib\jelix\controllers\jControllerDaoCrud.class.php : 278
	4	jControllerDaoCrud->create()	C:\wamp\www\jelix\lib\jelix\core\jCoordinator.class.php : 205
	5	jCoordinator->process()	C:\wamp\www\jelix\myapp\www\index.php : 19


2012-01-09 14:38:01	127.0.0.1	notice	2012-01-09 14:38:01	127.0.0.1	[8]	Trying to get property of non-object	C:\wamp\www\jelix\myapp\responses\myHtmlResponse.class.php	25
	/jelix/rfxcrm/www/index.php?module=user&action=man:create
array (   'module' => 'user',   'action' => 'man:create', )

	0	myHtmlResponse->__construct()	C:\wamp\www\jelix\lib\jelix\core\jRequest.class.php : 194
	1	jRequest->getResponse()	C:\wamp\www\jelix\lib\jelix\core\jController.class.php : 131
	2	jController->getResponse()	C:\wamp\www\jelix\lib\jelix\controllers\jControllerDaoCrud.class.php : 121
	3	jControllerDaoCrud->_getResponse()	C:\wamp\www\jelix\lib\jelix\controllers\jControllerDaoCrud.class.php : 278
	4	jControllerDaoCrud->create()	C:\wamp\www\jelix\lib\jelix\core\jCoordinator.class.php : 205
	5	jCoordinator->process()	C:\wamp\www\jelix\myapp\www\index.php : 19


2012-01-09 14:38:01	127.0.0.1	error	2012-01-09 14:38:01	127.0.0.1	[23000]	SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`mydb`.`rfx_user`, CONSTRAINT `rfx_user_ibfk_1` FOREIGN KEY (`id_grp`) REFERENCES `rfx_groupe` (`id_grp`) ON DELETE CASCADE ON UPDATE CASCADE)	C:\wamp\www\jelix\lib\jelix\db\jDbPDOConnection.class.php	145
	/jelix/rfxcrm/www/index.php?module=user&action=man:create
array (   'module' => 'user',   'action' => 'man:create', )

	0	PDO->exec()	C:\wamp\www\jelix\lib\jelix\db\jDbPDOConnection.class.php : 145
	1	jDbPDOConnection->exec()	C:\wamp\www\jelix\temp\myapp\www\compiled\daos\modules\user~rfx_user~mysql.php : 224
	2	cDao_user_Jx_rfx_user_Jx_mysql->insert()	C:\wamp\www\jelix\lib\jelix\plugins\auth\db\db.auth.php : 34
	3	dbAuthDriver->saveNewUser()	C:\wamp\www\jelix\lib\jelix\auth\jAuth.class.php : 132
	4	jAuth::saveNewUser()	C:\wamp\www\jelix\myapp\modules\user\controllers\man.classic.php : 184
	5	manCtrl->_create()	C:\wamp\www\jelix\lib\jelix\controllers\jControllerDaoCrud.class.php : 287
	6	jControllerDaoCrud->create()	C:\wamp\www\jelix\lib\jelix\core\jCoordinator.class.php : 205
	7	jCoordinator->process()	C:\wamp\www\jelix\myapp\www\index.php : 19

  [Opened] création d'utilisateur avec jauth

il faut ajouter dans myResponseHtml.class.php un global $gJConfig dans la méthode attendue (ligne 25 est utilisé $gJConfig->quelquechose sans l'avoir definie avant)

Après c'est une erreur dans le code qui produit une erreur SQL.


Follow me on twitter - HaveFnuBB! - Fork on GitHub : HaveFnuBB // Jelix // Huanui

  [Opened] création d'utilisateur avec jauth

a propos de $gJConfig j'utilise la variable $gJConfig->urlengine['basePath'] pour ajouter des feuilles de style mais il n'a jamais posé problème "je pensait que l'on ne la déclarait pas avant sont utilistion". Pour le problème SQL je crois pour le moment que les valeur que je recupere dans le formuaire sont nulles. Je vous prie de verifer si j'utilise les methodes qui conviennent.

  [Opened] création d'utilisateur avec jauth

yebmetch a dit :
a propos de $gJConfig j'utilise la variable $gJConfig->urlengine['basePath'] pour ajouter des feuilles de style mais il n'a jamais posé problème "je pensait que l'on ne la déclarait pas avant sont utilistion".

si si,exemple

yebmetch a dit :
Pour le problème SQL je crois pour le moment que les valeur que je recupere dans le formuaire sont nulles. Je vous prie de verifer si j'utilise les methodes qui conviennent.

oula ... je n'utilise pas le CRUD donc la doc vous aidera.


Follow me on twitter - HaveFnuBB! - Fork on GitHub : HaveFnuBB // Jelix // Huanui

  [Opened] création d'utilisateur avec jauth

Bonjour,

Il y a deux soucis dans ce que tu as fait :

1) ce n'est pas _create qu'il faut redéfinir. Cette méthode est appelée pour préparer l'affichage de formulaire, pas pour sauvegarder. Tu confonds avec _beforeSaveCreate ou _afterSaveCreate.

Bref, ton $form est vide, donc ton objet user est vide, donc jAuth::saveNewUser plante...

2) tu aura quand même un problème en voulant sauver toi même. En effet, tu va vouloir donc passer par jAuth, qui effectuera une insertion de l'enregistrement du user. Mais le controleur CRUD va lui aussi le faire de son coté. Tu auras donc un problème (soit des enregistrements dupliqués, soit une collision d'id).

Conclusion : Le contrôleur CRUD n'est fait que pour s'appuyer sur une DAO. Si tu veux utiliser le mécanisme de jAuth pour gérer tes utilisateurs, n'utilise pas le controleur CRUD, fait ton propre contrôleur. Ou alors reste en full DAO. C'est ce que fait le module jauthdb_admin. Que tu pourrais d'ailleurs réutiliser plutôt que de réinventer la roue wink (tu peux indiquer le jforms à utiliser dans la conf du plugin jauth).

  [Opened] création d'utilisateur avec jauth

Ok merci beaucoup, je pense qu'il faut que je revoie mon style. je vais finalement créer une nouvelle méthode dans mon contrôleur ou carrément un autre (comme propose le Messie )smile. Encore merci!

 
Page
  1. Création d'un menu >
  2. Création d'un menu >
  3. [résolu] jResponse de type POST >
  4. Re: jResponse de type POST >
  5. jForm Comment changer le titre d'un formulaire? >
  6. [Resolu]comment utiliser JauthDb >
  7. [Résolu] ajax + formulaire >
  8. [Résolu]création d'utilisateur avec jauth