Jump to content

assigner 1 groupe utilisateur en fonction de l'email lors de la création de compte


Recommended Posts

Bonjour tout le monde.

Je souhaiterai attribuer automatiquement un groupe utilisateur aux clients créant leur compte avec une adresse @mondomaine.com (toujours la même fin de l'email).

Sauriez-vous comment faire?

 

Ex: [email protected] => création compte normale

[email protected] => création du compte avec attribution du group Pro (par exemple).

 

Merci de votre retour!

Link to comment
Share on other sites

j'ai créer un module qui permet d'associer un client à un groupe en fonction d'un code qu'il inscrit. Sur le principe ça doit être le même fonctionnement. Il faut juste que tu trouve le moyen de reconnaître l'adresse email qui t'intéressé.

 

voici le contenu de mon module "liercustomerce"(je dirais que c'est la partie en commentaire qu'il faut que tu modifie):

 

<?php

if (!defined('_PS_VERSION_'))
 exit;

 class LierCustomerCe extends Module
{
public function __construct()
{
$this->name = 'liercustomerce';
$this->tab = 'administration';
$this->version = '1.0';
$this->author = 'Romain Vermeeren';
$this->need_instance = 0;
$this->ps_versions_compliancy = array('min' => '1.5', 'max' => '1.6');
$this->dependencies = array('codece');

parent::__construct();

$this->displayName = $this->l('Lier customer');
$this->description = $this->l('Lier le client à son CE');

$this->confirmUninstall = $this->l('Are you sure you want to uninstall?');
}

public function install()
{
if (Shop::isFeatureActive())
Shop::setContext(Shop::CONTEXT_ALL);

return parent::install() &&
$this->registerHook('createAccount');
}

public function uninstall()
{
return parent::uninstall() ;
}


public function setDefaultGroupId($customer_id,$id_default_group) {
 Db::getInstance()->update('customer', array(
	'id_default_group' => $id_default_group,
 ), '`id_customer` = '.(int)$customer_id);
}


public function hookcreateAccount($params)
{
							//this is the customer object
							$customer = $params['newCustomer'];
						 /* $codece = Tools::getValue('codece'); // code compagny from registration
							$sql = "SELECT id_group FROM ps_group_lang WHERE code = '$codece'"; */
							$id_default_group = (int)Db::getInstance()->getValue($sql);
							$groupsToAdd=array();
							array_push($groupsToAdd,$id_default_group);
							$customer->updateGroup($groupsToAdd);
							$this->setDefaultGroupId($customer->id,$id_default_group);


}
}
?>

Edited by vermich (see edit history)
Link to comment
Share on other sites

  • 3 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...