Páginas de aterrizaje de roles

10

Tenemos varios usuarios diferentes que utilizan el back-end de Magento para diferentes usos.

Por ejemplo, tenemos personas que esencialmente solo envían paquetes, y todo lo que realmente queremos que vean es la página de envío, y si no solo esa página, deben aterrizar allí al iniciar sesión.

Al intentar obtener esta configuración, creé un nuevo usuario "ship" y lo asocié con el nuevo rol "shipper". A este rol se le otorgó acceso al recurso Ventas -> Envíos.

Me conecté como barco, ¡y listo! ¡Perfecto! Aterrizado en la grilla de envíos, pude abrir un envío, y luego noté el problema. Este usuario no pudo enviar información de seguimiento, que es imprescindible para este rol.

Pude hacer que este botón se muestre / funcione en la pantalla de envío al habilitar el recurso de función Ventas -> Pedidos -> Acciones -> Enviar correos electrónicos de ventas.

Ahora, cuando el barco inicia sesión, sin embargo, se descarga en la red de pedidos, no en la red de envíos. Supongo que es simplemente porque "Pedidos" es más alto en el árbol de recursos que "Envíos". ¿Es eso cierto?

En pocas palabras : ¿hay una manera efectiva de atraer a un usuario administrador a una pantalla / cuadrícula en particular?

Preferiblemente desde la pantalla de configuración, no dudo que esto pueda ser implementado por uno de nuestros desarrolladores.

Hay una serie de roles diferentes que requerimos que podrían simplificarse en gran medida colocando a estos usuarios donde necesitan estar el 99% del tiempo.

blckgrffn
fuente
1
@ j0k: ¿editarás ahora cada publicación?
user487772
@Tim no todos, solo aquellos con errores tipográficos dentro.
j0k

Respuestas:

8

Aquí hay una forma de hacerlo:

  • Haga que un observador observe cuándo un administrador inicia sesión, es decir, el admin_session_user_login_successevento
  • Verifique cuál es el rol de los administradores actuales, use el siguiente código:

    $roleId = implode('', Mage::getSingleton('admin/session')->getUser()->getRoles());
    $roleName = Mage::getModel('admin/roles')->load($roleId)->getRoleName();
    
  • Redireccionar a la página deseada según el rol, use el siguiente código:

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

Espero que esto haya sido útil :)

pzirkind
fuente
Interesante: ¿y esto funcionará con la funcionalidad "Agregar clave secreta a URL" habilitada?
blckgrffn
debería funcionar, aunque nunca lo probé
pzirkind