Rollen-Landing-Pages

10

Wir haben eine Reihe verschiedener Benutzer, die das Magento-Backend für verschiedene Zwecke verwenden.

Zum Beispiel haben wir Leute, die im Wesentlichen nur Pakete versenden, und alles, was sie wirklich sehen sollen, ist die Versandseite - und wenn nicht nur diese Seite, sollten sie dort landen, wenn sie sich anmelden.

Beim Versuch, dieses Setup zu erhalten, habe ich einen neuen Benutzer "Schiff" erstellt und ihn der neuen Rolle "Versender" zugeordnet. Diese Rolle erhielt Zugriff auf die Ressource Vertrieb -> Sendungen.

Ich habe mich als Schiff angemeldet und voila! Perfekt! Direkt im Sendungsraster gelandet, konnte ich eine Sendung öffnen - und dann bemerkte ich das Problem. Dieser Benutzer konnte keine Tracking-Informationen senden, was für diese Rolle ein Muss ist.

Ich konnte diese Schaltfläche auf dem Versandbildschirm anzeigen / funktionieren lassen, indem ich die Rollenressource Vertrieb -> Bestellungen -> Aktionen -> Verkaufs-E-Mails senden aktivierte.

Wenn sich das Schiff jetzt anmeldet, wird es jedoch in das Auftragsraster und nicht in das Sendungsraster verschoben. Ich vermute, dass dies einfach daran liegt, dass "Bestellungen" im Ressourcenbaum höher ist als "Sendungen". Ist das wahr?

Lange Rede, kurzer Sinn: Gibt es eine effektive Möglichkeit, einen Administrator auf einem bestimmten Bildschirm / Raster zu landen?

Am besten über den Konfigurationsbildschirm - ich bezweifle nicht, dass dies von einem unserer Entwickler implementiert werden könnte.

Wir benötigen eine Reihe verschiedener Rollen, die erheblich optimiert werden können, indem diese Benutzer in 99% der Fälle dort eingesetzt werden, wo sie benötigt werden.

blckgrffn
quelle
1
@ j0k: Wirst du jetzt jeden Beitrag bearbeiten?
user487772
@ Tim nicht jeder einzelne, nur die mit Tippfehler im Inneren.
j0k

Antworten:

8

Hier ist eine Möglichkeit, dies zu tun:

  • Lassen Sie einen Beobachter beobachten, wann sich ein Administrator anmeldet, nämlich das admin_session_user_login_successEreignis
  • Überprüfen Sie die Rolle der aktuellen Administratoren und verwenden Sie den folgenden Code:

    $roleId = implode('', Mage::getSingleton('admin/session')->getUser()->getRoles());
    $roleName = Mage::getModel('admin/roles')->load($roleId)->getRoleName();
    
  • Verwenden Sie den folgenden Code, um basierend auf der Rolle zur gewünschten Seite umzuleiten:

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

Hoffe das war hilfreich :)

pzirkind
quelle
Interessant - und dies funktioniert mit aktivierter Funktion "Geheimen Schlüssel zu URLs hinzufügen"?
blckgrffn
sollte funktionieren, obwohl es nie getestet wurde
pzirkind