10

We have a number of different users using the Magento back end for different uses.

For example, we have people who essentially just ship packages, and all we really want them to see is the shipment page - and if not just that page, they should land there when logging in.

When trying to get this setup, I created a new user "ship" and associated it with the new role "shipper". This role was granted access to the resource Sales --> Shipments.

I logged in as ship, and voila! Perfect! Landed right in the shipments grid, I was able to open a shipment - and then I noticed the issue. This user couldn't send tracking information, which is a must-have for this role.

I was able to get this button to show up/function on the shipment screen by enabling role resource Sales --> Orders --> Actions --> Send Sales Emails.

Now when ship logs in, however, it is dumped into the orders grid, not the shipments grid. I surmise that it is simply because "Orders" is higher on the resource tree than "Shipments". Is that true?

Long story short: is there an effective way to land an admin user on a particular screen/grid?

Preferably from within the configuration screen - I don't doubt that this could be implemented by one of our developers.

There is a number of different roles that we require that could be streamlined greatly by putting these users where they need to be 99% of the time.

  • 1
    @j0k: will you now edit every post? – user487772 Jan 23 '13 at 17:02
  • @Tim not every single one, just those with typo inside. – j0k Jan 23 '13 at 17:16
8

Here is one way to do it:

  • Make an observer to watch when an admin logs in, namely the admin_session_user_login_success event
  • Check what the current admins' role is, use the following code:

    $roleId = implode('', Mage::getSingleton('admin/session')->getUser()->getRoles());
    $roleName = Mage::getModel('admin/roles')->load($roleId)->getRoleName();
    
  • Redirect to desired page based on role, use the following code:

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

Hope this was helpful :)

  • Interesting - and this will work with the "Add Secret Key to URLs" functionality enabled? – blckgrffn Jan 28 '13 at 18:44
  • should work, though never tested it – pzirkind Jan 28 '13 at 18:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.