Pages de destination des rôles


10

Nous avons un certain nombre d'utilisateurs différents utilisant le backend Magento pour différentes utilisations.

Par exemple, nous avons des gens qui expédient essentiellement des colis, et tout ce que nous voulons vraiment qu'ils voient, c'est la page d'expédition - et sinon seulement cette page, ils devraient y atterrir lors de la connexion.

En essayant d'obtenir cette configuration, j'ai créé un nouvel utilisateur "ship" et l'ai associé au nouveau rôle "shipper". Ce rôle a été autorisé à accéder à la ressource Ventes -> Expéditions.

Je me suis connecté en tant que navire, et le tour est joué! Parfait! Atterri directement dans la grille des expéditions, j'ai pu ouvrir une expédition - puis j'ai remarqué le problème. Cet utilisateur n'a pas pu envoyer d'informations de suivi, ce qui est indispensable pour ce rôle.

J'ai pu obtenir ce bouton pour apparaître / fonctionner sur l'écran d'expédition en activant la ressource de rôle Ventes -> Commandes -> Actions -> Envoyer des e-mails de vente.

Désormais, lorsque le navire se connecte, il est transféré dans la grille des commandes et non dans la grille des expéditions. Je présume que c'est simplement parce que "Commandes" est plus élevé dans l'arborescence des ressources que "Expéditions". Est-ce vrai?

Pour faire court : existe-t-il un moyen efficace de faire atterrir un utilisateur administrateur sur un écran / grille particulier?

De préférence depuis l'écran de configuration - je ne doute pas que cela puisse être implémenté par l'un de nos développeurs.

Il existe un certain nombre de rôles différents dont nous avons besoin qui pourraient être considérablement rationalisés en plaçant ces utilisateurs là où ils doivent être 99% du temps.


1
@ j0k: allez-vous maintenant modifier chaque article?
user487772

@Tim pas chacun, juste ceux avec une faute de frappe à l'intérieur.
j0k

Réponses:


8

Voici une façon de procéder:

  • Faire en sorte qu'un observateur regarde quand un administrateur se connecte, à savoir l' admin_session_user_login_successévénement
  • Vérifiez le rôle des administrateurs actuels, utilisez le code suivant:

    $roleId = implode('', Mage::getSingleton('admin/session')->getUser()->getRoles());
    $roleName = Mage::getModel('admin/roles')->load($roleId)->getRoleName();
  • Redirigez vers la page souhaitée en fonction du rôle, utilisez le code suivant:

    Mage::app()->getResponse()
               ->setRedirect(Mage::helper('adminhtml')
               ->getUrl("admin/sales_order/view", array('id'=>'1')));

J'espère que cela vous a été utile :)


Intéressant - et cela fonctionnera avec la fonctionnalité "Ajouter une clé secrète aux URL" activée?
blckgrffn

devrait fonctionner, mais jamais testé
pzirkind
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.