Kostenstellen Auswahl als Pflichtfeld in Bestellübersicht

Alle Fragen und Probleme zur aktuellen Randshop Version 2.3 können hier gepostet werden.

Moderatoren: Magnus, mmaass, ablass

Kostenstellen Auswahl als Pflichtfeld in Bestellübersicht

Beitragvon sgherkan » Do 14. Jul 2016, 17:10

Hallo zusammen,
wir nutzen den Randshop intern für die Verteilung von Werbemitteln innerhalb unserer Firma.
Daher ist es für uns wichtig, dass unsere Mitarbeiter im Bestellvorgang verpflichtet sind, eine Kostenstelle aus einer Liste auszuwählen.

Ich habe dies vor Jahren im Randshop implementiert und seit dem Update auf 2.3 funktioniert es nicht mehr, obwohl ich die Dateien von denen ich mich erinnere, dass sie damals relevant waren, ersetzt habe.

Vielleicht sieht jemand spontan den Fehler...

Also.. ich habe damals in der Datei "Bestellübersicht.tpl" folgendes eingefügt:

Code: Alles auswählen
<h3><?php echo $lang_Kostenstelle?></h3>   
<p>
   <strong><?php echo $lang_Kostenstelle?></strong><br />
   <?php echo $lang_Kosten_Name?><br />
   </br>
   <select class="kostendrop" name="Kostenstelle" size="1">
<option value="No" selected="selected">No</option>
<option value="K1">Kostenstelle1</option>
<option value="K2">Kostenstelle 2</option>
</select>
<?php echo $_GET["Kostenstelle"]?>
</br>
<small><?php echo $lang_kosten_pflicht?></small></br>
</br>
</p>


<div class="clearBox">

    <?php if($tpl_warenkorbdataarray["mindestbestellwert_erfuellt"] AND $Kostenstelle != "No") { ?>

    <div class="<?php echo $tpl_bestellbutton_class?>">
        <a href="javascript:document.bestellSubmit.submit();"><?php echo $tpl_bestellbutton;?></a>
    </div>

    <?php } else { ?>

        <!--<p><?php echo $mBestellwert?> <?php echo $tpl_warenkorbdataarray["mindestbestellwert_format"]?><br /><br /><?php echo $mBestellwert2?></p>-->
      <p>Bitte wählen Sie eine Kostenstelle aus!</p>
    <?php } ?>
</div>


Das funktioniert in sofern weiterhin gut, dass ich das Dropdown Menü in der Bestellübersicht sehe und etwas anklicken kann, aber die Bestellung trotzdem abschließen kann, obwohl nichts angeklickt ist.

In der Datei "bestellabwicklung.inc.php" habe ich folgendes angepasst:

Code: Alles auswählen

// ********************************************************************************
   // ** Abwicklung der Bestellung
   // ********************************************************************************
if ($Kostenstelle == "No") {
   header("Location: " . URLPFAD . "themes/bestellen/index.php?formaction=s2&gutscheinerror=" . $GutscheinError);
   exit;
   }

// Bestellung speichern
         $BestellID = SaveBestellung($_SESSION["sessionId"], $KundenEmail, $_POST["Kostenstelle"], $_POST["bemerkung"], "", "", $ZahlungsartEinstellungenObject->status_zahlung_unbestaetigt, $_SESSION["languageid"], "", $_SESSION["gutscheincode"]);


if(strtoupper($resArray['ACK']) == "SUCCESS")
            {
               $BestellID = SaveBestellung($_SESSION["sessionId"], $KundenEmail, $_POST["Kostenstelle"],$_SESSION["bemerkung"], "", "", $ZahlungsartEinstellungenObject->status_zahlung_unbestaetigt, $_SESSION["languageid"], "", $_SESSION["gutscheincode"]);
               
               if($resArray['PAYMENTINFO_0_PAYMENTSTATUS'] == 'Completed')
                  $Payment = true;
               else
                  $PPExpressPaymentPending = true;
               
               if(strtoupper($resArray['SUCCESSPAGEREDIRECTREQUESTED']) == 'TRUE')
               {
                  header('Location: ' . PAYPAL_COMPLETE_CHECKOUT_URL . $token);
               }
               
            }   
            else
            {
               $tpl_errorMsg = $resArray['L_LONGMESSAGE0'];
               $contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/paypal_error.tpl";
            }                  
         }
         
//         var_dump($resArray);
      } elseif ($ZahlungsartObject->paymentsystem == 13 && ($_GET['fromppexpress'] == 'giropay_success' || $_GET['fromppexpress'] == 'banktxn_pending' || $_GET['fromppexpress'] == 'giropay_cancel')) {
         
            $auftragsLink = URLPFAD . "/themes/bestellen/auftragsbestaetigung.php";
         
         // Template
         $contentFile = DATEIPFAD . "templates/" . $rowTemp->name . "/website/bestellen/bestellabwicklung.tpl";   
         



In der Datei "functions.bestellungen.inc.php" habe ich folgendes ergänzt:

Code: Alles auswählen
$SQLString .= TABLE_BESTELLEN . ".Kostenstelle = '" . $Kostenstelle . "' ";

function SaveBestellung($Session, $KundenMail, $Kostenstelle, $Bemerkung, $ZahlungsartID = "", $VersandartID = "", $Status = 1, $LanguageID = 0, $AuftragsDatum = NULL, $GutscheinCode = "", $Quelle = BESTELLQUELLE_SHOP, $DocumentID = DOCUMENT_ID_BESTELLUNG, $BestellID = false, $Auftragsnummer = false) {
   
   global $l_giveaway_rechnung;
   
   // Währung einlesen
   $WaehrungObject = GetWaehrungDetail();

   // Warenkorb einlesen
   $WarenkorbDataArray = GetWarenkorbDataArray($Session, $KundenMail, 1, "", $ZahlungsartID, $VersandartID, $LanguageID, "", $GutscheinCode);
   
   // Kundendaten einlesem
   $KundenObject = GetKundenDetail($KundenMail);
   //echo "<br><br>KundenObject->titel: " . $KundenObject->titel;

   // Kundengruppe abfragen
   $KundengruppenObject = GetKundengruppenDetail("", $KundenMail);

   // Shopeinstellungen einlesen
   $ShopeinstellungenObject = GetShopeinstellungDetail();
   
   $ZahlungsartObject = GetZahlungsartDetail($WarenkorbDataArray["zahlungsart_id"],"","",$LanguageID);

   // Bestellung speichern
   $SQLString = "INSERT INTO " . TABLE_BESTELLEN . " SET ";
    if($BestellID)
        $SQLString .= TABLE_BESTELLEN . ".id = '" . $BestellID . "', ";
   $SQLString .= TABLE_BESTELLEN . ".session = '" . $Session . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kunden_id = '" . $KundenObject->id . "', ";
   $SQLString .= TABLE_BESTELLEN . ".anrede = '" . $KundenObject->anrede . "', ";
   $SQLString .= TABLE_BESTELLEN . ".titel = '" . mysql_real_escape_string($KundenObject->titel) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".anrede_id = '" . $KundenObject->kundenanredeid . "', ";
   $SQLString .= TABLE_BESTELLEN . ".vorname = '" . mysql_real_escape_string($KundenObject->vorname) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".nachname = '" . mysql_real_escape_string($KundenObject->nachname) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".firma = '" . mysql_real_escape_string($KundenObject->firma) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".strasse = '" . mysql_real_escape_string($KundenObject->strasse) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".hausnummer = '" . mysql_real_escape_string($KundenObject->hausnummer) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".plz = '" . mysql_real_escape_string($KundenObject->plz) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".ort = '" . mysql_real_escape_string($KundenObject->ort) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".land = '" . mysql_real_escape_string($KundenObject->landname) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".land_id = '" . $KundenObject->land . "', ";
   $SQLString .= TABLE_BESTELLEN . ".email = '" . mysql_real_escape_string($KundenObject->email) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_anrede = '" . $KundenObject->la_anrede . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_anrede_id = '" . $KundenObject->la_kundenanredeid . "', ";
   
   $SQLString .= TABLE_BESTELLEN . ".la_titel = '" . mysql_real_escape_string($KundenObject->la_titel) . "', ";
   
   
   
   $SQLString .= TABLE_BESTELLEN . ".la_vorname = '" . mysql_real_escape_string($KundenObject->la_vorname) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_nachname = '" . mysql_real_escape_string($KundenObject->la_nachname) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_firma = '" . mysql_real_escape_string($KundenObject->la_firma) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_strasse = '" . mysql_real_escape_string($KundenObject->la_strasse) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_hausnummer = '" . mysql_real_escape_string($KundenObject->la_hausnummer) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_plz = '" . mysql_real_escape_string($KundenObject->la_plz) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_ort = '" . mysql_real_escape_string($KundenObject->la_ort) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_land = '" . mysql_real_escape_string($KundenObject->la_landname) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".la_land_id = '" . $KundenObject->la_land . "', ";
   $SQLString .= TABLE_BESTELLEN . ".bank = '" . mysql_real_escape_string($KundenObject->bank) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".blz = '" . mysql_real_escape_string($KundenObject->blz) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kto = '" . mysql_real_escape_string($KundenObject->konto_nr) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kredit_typ = '" . mysql_real_escape_string($KundenObject->kreditk_typ) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kredit_nr = '" . mysql_real_escape_string($KundenObject->kreditk_nr) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kredit_gueltig = '" . mysql_real_escape_string($KundenObject->kreditk_gueltdate) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".wohin_liefern = '" . $KundenObject->lieferung . "', ";
   $SQLString .= TABLE_BESTELLEN . ".warenwert_netto = '" . $WarenkorbDataArray["warenwert_netto"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".warenwert_brutto = '" . $WarenkorbDataArray["warenwert_brutto"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".versand_mwst = '" . $ShopeinstellungenObject->mwst . "', ";
   $SQLString .= TABLE_BESTELLEN . ".zahlungsart_id = '" . $WarenkorbDataArray["zahlungsart_id"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".zahl_beschreibung = '" . mysql_real_escape_string($ZahlungsartObject->mailbeschreibung) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".trustedid = '" . $ZahlungsartObject->trustedid . "', ";
   $SQLString .= TABLE_BESTELLEN . ".zahlungsart_name = '" . $WarenkorbDataArray["zahlungsart_name"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".zahlungsart_netto = '" . $WarenkorbDataArray["zahlungsart_preis_netto"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".zahlungsart_brutto = '" . $WarenkorbDataArray["zahlungsart_preis_brutto"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".versandart_id = '" . $WarenkorbDataArray["versandart_id"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".versandart_name = '" . $WarenkorbDataArray["versandart_name"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".versandart_netto = '" . $WarenkorbDataArray["versandart_preis_netto"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".versandart_brutto = '" . $WarenkorbDataArray["versandart_preis_brutto"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".rabatt_id = '" . $WarenkorbDataArray["rabatt_id"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".rabatt_name = '" . $WarenkorbDataArray["rabatt_name"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".rabatt_prozent = '" . $WarenkorbDataArray["rabatt_prozent"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".rabatt_betrag = '" . $WarenkorbDataArray["rabatt_betrag"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".gesamtsumme_netto = '" . $WarenkorbDataArray["gesamtsumme_netto"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".gesamtsumme_brutto = '" . $WarenkorbDataArray["gesamtsumme_brutto"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kundengruppentype = '" . $KundengruppenObject->type . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kundengruppenname = '" . $KundengruppenObject->name . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kundengruppenkuerzel = '" . $KundengruppenObject->kuerzel . "', ";
   $SQLString .= TABLE_BESTELLEN . ".waehrung = '" . $WaehrungObject->symbol . "', ";
   $SQLString .= TABLE_BESTELLEN . ".gewicht = '" . $WarenkorbDataArray["gesamtgewicht"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".kundenbemerkung = '" . $Bemerkung . "', ";
   $SQLString .= TABLE_BESTELLEN . ".status = '" . $Status . "', ";
    if($Auftragsnummer)
        $SQLString .= TABLE_BESTELLEN . ".auftragsnummer = '" . $Auftragsnummer . "', ";
    else
       $SQLString .= TABLE_BESTELLEN . ".auftragsnummer = '" . ($ShopeinstellungenObject->auftragsnummer + 1) . "', ";
   if($AuftragsDatum) {
      $SQLString .= TABLE_BESTELLEN . ".auftragsdatum = '" . date('Y-m-d H:i:s', $AuftragsDatum) . "', ";
   } else {
      $SQLString .= TABLE_BESTELLEN . ".auftragsdatum = NOW(), ";
   }
   $SQLString .= TABLE_BESTELLEN . ".gutscheinaktion_name = '" . $WarenkorbDataArray["gutscheinaktion_name"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".gutscheincode = '" . $WarenkorbDataArray["gutscheincode"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".gutschein_betrag = '" . $WarenkorbDataArray["gutscheinbetrag"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".artikel_download = '" . $WarenkorbDataArray["artikel_download"] . "', ";
   $SQLString .= TABLE_BESTELLEN . ".language_id = '" . $LanguageID . "', ";
   $SQLString .= TABLE_BESTELLEN . ".bestell_quelle = '" . $Quelle . "', ";
    $SQLString .= TABLE_BESTELLEN . ".document_id = '" . $DocumentID . "', ";
    $SQLString .= TABLE_BESTELLEN . ".telefon = '" . mysql_real_escape_string($KundenObject->telefon) . "', ";
   $SQLString .= TABLE_BESTELLEN . ".Kostenstelle = '" . $Kostenstelle . "' ";
   
//   echo $SQLString;



Das sind meine Änderungen, wenn ich nichts vergessen habe. Vorm Update hat es funktioniert. Nach dem Update kann ich nun die Bestellung abschließen, auch wenn keine Kostenstelle ausgewählt wird. Kann mir hier jemand helfen bzw. sieht evtl. auf "Anhieb" das Problem?

Ich erhalte keinerlei Fehlermeldungen. Der Bestellprozess läuft einwandfrei.

Vielen Dank für eure Mühe schonmal im Voraus.

Schönen Abend

sgherkan
sgherkan
 
Beiträge: 3
Registriert: Di 31. Mai 2016, 16:15

Zurück zu Allgemeines / Installation / Hilfe

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], Google [Bot] und 4 Gäste
cron