Autor Thema: Benutzer darf Bestellungen anderer Benutzer einsehen  (Gelesen 4567 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline ms

  • Newbie
  • *
  • Beiträge: 30
  • Lob: 1
    • b?rowalther.de
Benutzer darf Bestellungen anderer Benutzer einsehen
« am: Mai 21, 2010, 16:47:57 »
Zum Hintergrund:

Wir haben Kunden, die mit mehreren Kundennummern im Shop sind.
Zum Beispiel eine größere Firma mit mehreren Abteilungen oder Kostenstellen.

Jetzt hat dort eine(r) den Hut auf und will die Bestellungen der anderen zur Prüfung (nur anzeigen) sehen.

Dafür kann man das Kundenkontomodul „missbrauchen“, in dem man diesem für die Anzeige der Bestellungen eine andere Kundennummer „unterschiebt“.

Es braucht eine zusätzliche Kundenvariable (VIEWORDERS). Dort trägt man die anderen Kundennummern (Abteilungen, Kostenstellen…) kommagetrennt ein.

Auf der Bestellübersicht des Prüfenden (Historie Kundenmodul) wird ein Identifier (link2other_orders) eingebaut der eine Funktion aufruft.

## Link zu Bestellungen anderer Benutzer anzeigen
sub link2other_orders {

## prüfen ob Kunde andere Bestellungen sehen darf
## aknr = andere Kundennummern durch Komma getrennt auf Kundenvariable ViewOrder

my $akdnr = ssp::get_var_user("VIEWORDERS");
if (length($akdnr)) {
## Link zur Bestellübersicht anderer Benutzer
my $html = qq| <a href="http://__xxpath__?show1200000760" title="zu Bestellungen anderer Benutzer...">Zur Übersicht der Bestellungen anderer Benutzer, für die Sie autorisiert sind...</a>
  <br><br>Ihre bisherigen Bestellungen...<br>|;
main::mprint ($html);
}

}

Dort wird geprüft, ob derjenige berechtigt ist andere Bestellungen zu sehen. Also, ob irgendwas in der Variable „VIEWORDERS“ steht.
Wenn nein, wird an dieser Stelle nichts angezeigt und wenn ja, bekommt er einen Link zu einer Seite, wo die anderen "Kunden" gelistet werden.
Dafür braucht’s eine Informationsseite. Auf dieser gibt es wieder einen Identifier – „list_other_orders“.
Diese Funktion liest die Kundennummern aus der Variable und generiert zu jeder Nummer einen Link mit Verweis auf die Firma, den Besteller und, wenn eingetragen, die Kostenstelle (ist bei mir eine zusätzliche Variable).

## Links zu Bestellungen anderer Benutzer anzeigen
sub list_other_orders {

## aknr = andere Kundennummern durch Komma getrennt auf Kundenvariable ViewOrders
my @akdnr = split(/\s*,\s*/, ssp::get_var_user("VIEWORDERS"));

## Variablen für Kundendaten der anderen Bestellungen
my $firma = "";
my $name = "";
my $vorname = "";
my $kst_temp = "";
my $kst = "";

foreach my $kdnr(@akdnr) {
my $count = ssp::readSQLData("SELECT Firma, Name, Vorname, KST FROM USR WHERE Kundennr='$kdnr'", "FIRMA", "NAME", "VORNAME", "KST");
$firma = ssp::get_var_db("FIRMA");
$name = ssp::get_var_db("NAME");
$vorname = ssp::get_var_db("VORNAME");
$kst_temp = ssp::get_var_db("KST");
if (length($kst_temp)){
$kst = "(KST: ".$kst_temp.")";
}
else{
$kst = "";
}

my $html =  qq| <a href="__xxpath__?##SEITENNUMMER-BESTELLHISTORIE##,__xxsession__,,,kdnr=$kdnr"><u>$kdnr</u></a> - $firma, $vorname, $name $kst <br><br> | ;
main::mprint($html);
}

}

Es braucht dann zwei weitere Informationsseiten für die Bestell-Historie und die Details und zwar damit man andere Texte anzeigen kann.
Am besten durch kopieren der "Originale" erzeugen.
In dieser 2. Bestell Historie wird am Anfang nicht die order_user.ipl sondern eine Kopie, die order_user_other.ipl „includiert“.
Diese „fängt“ aus dem Link die andere Kundennummer und das Kundenmodul macht das Selbe wie bisher nur mit den Bestellungen von einem anderen Kunde.

<!--spmacro:module(Callback)

sub begin_read_template {
    my $kdnr = ssp::get_var_form("kdnr");;

    my $pre  = ssp::db_get_prefix();
    my $col = $pre . "ORDERS.KUNDENNR";
    my $k = ssp::db_query_orders("$col = \'$kdnr\'");
    return $k;
}
-->

<!--spmacro:include(scripts/order_identifier.ipl)-->


Der Spass wird bei uns für viele Vertragskunden benötigt aber eventuell hilft es ja auch jemand anderem weiter.


Schöne Grüße aus dem Vogtland!

Marcel


Linkback: https://www.shoppilot.net/pf/index.php?topic=1421.0
« Letzte Änderung: Mai 21, 2010, 17:31:21 von ms »


xx
"nicht Bestellungen" werden im Kundenkonto als Bestellungen angezeigt

Begonnen von dobra

0 Antworten
4127 Aufrufe
Letzter Beitrag Oktober 27, 2017, 13:06:11
von dobra
xx
Mailversand bei Bestellungen

Begonnen von MichaelSchmitt

3 Antworten
4866 Aufrufe
Letzter Beitrag März 02, 2007, 10:15:56
von admin
xx
Replikation Bestellungen

Begonnen von jg

4 Antworten
4904 Aufrufe
Letzter Beitrag September 03, 2007, 10:57:16
von jg
xx
leere Bestellungen (im WC)

Begonnen von Andi

3 Antworten
5087 Aufrufe
Letzter Beitrag Februar 24, 2010, 10:40:55
von admin