Jump to content

Affectation nouvelle inscription dans plusieurs groupes inexplicable.


Recommended Posts

Bonjour.

Lorsqu'un nouveau client s'inscrit afin de créé un nouveau compte, il se retrouve inscrit dans le compte par défaut 'customer', le n°3 ce qui est normal, mais il est également inscrit automatiquement dans le groupe 6 .
Je n'ai fais aucune modification dans ce sens et ne trouve aucune trace de cette requete dans la classe customer.php ou ailleurs.
Je cherche sans résultat l'origine de ce problème et de l'aide serait la bienvenue.

Version 1.6.1.23
Aucun module de gestion de groupe installé.
L'affectation au groupe n°6 ne peut s'effectuer en théorie que via le BO.

Cordialement

Share this post


Link to post
Share on other sites

un fichier qui modifie le code original.

Dans votre cas il serait dans le répertoire /overrides/classes/Customer.php et concernerait la fonction $customer->addGroups();

Share this post


Link to post
Share on other sites

Bonsoir,

Je vous remercie pour votre réponse.
Le répertoire /override/classes ne contient pas de fichier customer.php ni de fonction spécifique  'addGroups()'.
En revanche j'ai trouvé ces lignes de codes dans un fichier Hook.php faisant appel à des groupes:

-----------------------------------------------
   public static function getHookModuleExecList($hook_name = null)
    {
        $context = Context::getContext();
        $cache_id  = 'hook_module_exec_list_';
        $cache_id .= isset($context->shop->id) ? '_'.$context->shop->id : '';
        $cache_id .= isset($context->customer) ? '_'.$context->customer->id : '';
        if (!Cache::isStored($cache_id) || $hook_name == 'displayPayment' || $hook_name == 'displayBackOfficeHeader'
        ) {
            $frontend = true;
            $groups = array();
            $use_groups = Group::isFeatureActive();
            if (isset($context->employee)) {
                $frontend = false;
            } else {
                if ($use_groups) {
                    if (isset($context->customer) && $context->customer->isLogged()) {
                        $groups = $context->customer->getGroups();
                    } elseif (isset($context->customer) && $context->customer->isLogged(true)) {
                        $groups = array((int)Configuration::get('PS_GUEST_GROUP'));
                    } else {
                        $groups = array((int)Configuration::get('PS_UNIDENTIFIED_GROUP'));
                    }
                }
            }

-----------------------------------------------

            if (Validate::isLoadedObject($context->shop)) {
                $sql->where('hm.id_shop = '.(int)$context->shop->id);
            }
            if ($frontend) {
                if ($use_groups) {
                    $sql->leftJoin('module_group', 'mg', 'mg.`id_module` = m.`id_module`');
                    if (Validate::isLoadedObject($context->shop)) {
                        $sql->where(
                            'mg.id_shop = '.((int)$context->shop->id).(count($groups)
                            ? ' AND  mg.`id_group` IN ('.implode(', ', $groups).')' : '')
                        );
                    } elseif (count($groups)) {
                        $sql->where('mg.`id_group` IN ('.implode(', ', $groups).')');
                    }
                }
            }

---------------------------------------------------

Je ne sais pas si ces fonctions peuvent à l'origine de cette double affectation des nouveaux inscrit.

Cordialement

 

 

Share this post


Link to post
Share on other sites

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...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More