Jump to content

[Résolu] Aide sur une filtration (Admin)


Recommended Posts

Bonjour,

Pour être bref sur mon petit soucis (que je rencontre depuis 5 jours, et la je bloque complet :-( )

j'ai rajouter un champ (int) dans la table "_product" nommé "emp"

ce que je souhaiterais (plutôt obligatoire) que lorsqu'un employer se logue dans le BO, qu'il ne voit que la liste des produits qui lui sont attribués en filtrant grâce au champ "emp"

le résultat devra être çà :

mon employer 3 ne peur voir que les produits où "emp" = 3 dans la categorie 10
mon employer 5 ne peut voir que les produits où "emp" = 5 dans la categorie 10 aussi

peut importe la catégorie, il faut qu'ils ne puissent voir (et modifier bien sûr) que ceux qu'ils leur sont imposés.

Je n'arrive pas à trouver dans AdminProducts ou AdminCatalog, où je peux rajouter cette vérif, cette condition..

j'ai bien çà dans AdminProducts :

   public function displayList($token = NULL)
   {

       /* Display list header (filtering, pagination and column names) */
       $this->displayListHeader($token);
       if (!sizeof($this->_list)) 
           echo ''.$this->l('No items found').'';

       /* Show the content of the table */
       $this->displayListContent($token);

       /* Close list table and submit button */
       $this->displayListFooter($token);
   }



mais impossible de trouver la fonction "displayListContent" dans un fichier

c'est pénible ....juste un flitre à l'aide du champ "emp" .....

Si une âme de DEV passe par là et partager ses connaissances...;-)

A+ enfin j'espère

Link to comment
Share on other sites

Juste une p'tite question pour aller plus loin !

Tu as ajouter ton champ "emp" dans la table "_product", hors tu dis juste après vouloir filtrer les résultats par une gestion de catégorie !

tes employés doivent avoir accès à des catégories ou à des produits ? ou les deux ?
car le principe hiérarchique des droits sont gérés différemment après !

si tu veux gérer l'option un produit = un droit de gestion de l'employer, alors c'est bien sur la table _product qu'il faut mettre le champ
en revanche si tu veux gérer l'option une catégorie = un droit de gestion de l'employé sur tout ce qui appartient à cette catégorie c'est plutot sur la table _category !

Link to comment
Share on other sites

merci pour ta participation !

j'ai réussi il y a deux minutes ;-) ! trop content !

en fait , dans AdminProduct, on a çà :

       $this->_join = '
       LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = a.`id_product` AND i.`cover` = 1)
       LEFT JOIN `'._DB_PREFIX_.'category_product` cp ON (cp.`id_product` = a.`id_product`)';
       $this->_filter = 'AND cp.`id_category` = '.intval($this->_category->id)
);
       $this->_select = 'cp.`position`, i.`id_image`';

       parent::__construct();



j'ai modifié en :

       $this->_join = '
       LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = a.`id_product` AND i.`cover` = 1)
       LEFT JOIN `'._DB_PREFIX_.'category_product` cp ON (cp.`id_product` = a.`id_product`)';
       $this->_filter = 'AND cp.`id_category` = '.intval($this->_category->id).' AND cp.`id_emp` = '.intval($this->_emp);
       $this->_select = 'cp.`position`, i.`id_image`';

       parent::__construct();



j'ai bien le résulat que je veux !

Le problème est que :

je me logue en tant qu'employer qui n'a aucun produit encore, je créer donc un produit dans X catégorie,
Une fois le produit crée, le champ "emp" se rempli correctement dans la table "_product", mais ds la table "_category_product", le champ "emp" lui reste à 0

je ne voit pas dans quelle ligne de AdminProduct, s'effectue l'insertion des catégories auxquelles appartient le produit, ce qui me permettrait de pouvoir rajouter l'information de l'employer dans le champ "emp" de cette table ("_category_product")

quand je vais voir la table"_category_product", toutes les catégories que j'ai coché en créant le produit sont insérées mais pas le champ "emp" qui reste à 0, donc pour cet employer, aucun produit s'affichent...

Qd je dit "j'ai réussi", c'est que le code est ok, mais j'ai du remplir le champ "emp" ds "_category_product" à la main pour pouvoir tester, vu le problème que j'annonce ci-dessus

Link to comment
Share on other sites

  • 4 weeks later...

Juste pour savoir, meme si cela fait longtemps... qu'a tu fais comme autre modification pour faire fonctionner tout cela, car c'est exactement ce que je souhaiterais faire...

Dommage d'ailleurs que l'on ne puisse pas faire cela nativement... Ou alors j'ai pas su faire !!

Link to comment
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...