Subversion-Projekte lars-tiefland.ci

Revision

Revision 1329 | Revision 1379 | Zur aktuellen Revision | Blame | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

<?php

/**
 * User
 * 
 * @package   
 * @author WebanOS CI
 * @copyright Lars Tiefland
 * @version 2016
 * @access public
 */
class Order extends CI_Controller
{

        public function __construct()
        {
                parent::__construct();
                $this->load->model('order_model', 'order');
        }
        /**
         * User::index()
         * 
         * @return
         */
        public function index($anker = '')
        {
                $orders = $this->order->get_list();
                $this->smarty->assign('anker', $anker);
                $this->smarty->assign('orders', $orders);
                $this->smarty->view('orders.tpl');
        }

        /**
         * User::edit()
         * 
         * @param mixed $id
         * @return void
         */
        public function edit($id = null)
        {
                $daten["artikel_stati"] = array(
                        array(
                                "name" => "offen",
                                "short" => "O",
                                "class" => "status_red"),
                        array(
                                "name" => "in Bearbeitung",
                                "short" => "B",
                                "class" => "status_yellow",
                                ),
                        array(
                                "name" => "reserviert",
                                "short" => "R",
                                "class" => "status_blue",
                                ),
                        array(
                                "name" => "erledigt",
                                "short" => "E",
                                "class" => "status_green",
                                ),
                        array(
                                "name" => "abgeschlossen",
                                "short" => "A",
                                "class" => "status_white",
                                ),
                        );
                $daten["rechnung_stati"] = array(
                        array(
                                "name" => "schreiben",
                                "short" => "S",
                                "class" => "status_red"),
                        array(
                                "name" => "geschrieben",
                                "short" => "G",
                                "class" => "status_yellow",
                                ),
                        array(
                                "name" => "bezahlt",
                                "short" => "B",
                                "class" => "status_green",
                                ),
                        );
                $daten["lieferschein_stati"] = array(
                        array(
                                "name" => "schreiben",
                                "short" => "S",
                                "class" => "status_yellow"),
                        array(
                                "name" => "geschrieben",
                                "short" => "G",
                                "class" => "status_green",
                                ),
                        array(
                                "name" => "offen",
                                "short" => "O",
                                "class" => "status_red",
                                ),
                        );
                $daten["mahnung_stati"] = array(
                        array(
                                "name" => "mahnung1",
                                "short" => "1",
                                "class" => "status_green"),
                        array(
                                "name" => "mahnung2",
                                "short" => "2",
                                "class" => "status_yellow",
                                ),
                        array(
                                "name" => "mahnung3",
                                "short" => "3",
                                "class" => "status_red",
                                ),
                        );
                $daten["garantie_stati"] = array(
                        array(
                                "name" => "eingereicht",
                                "short" => "E",
                                "class" => "status_red"),
                        array(
                                "name" => "abgeschlossen",
                                "short" => "A",
                                "class" => "status_green",
                                ),
                        );
                // Modul dokumente
                $preise_anzeigen = 1;
                if (isset($GLOBALS["user_rechte"]["Warenwirtschaft"]["bestellung"]["preise_anzeigen"]))
                {
                        if (!isset($GLOBALS["user_rechte"]["Warenwirtschaft"]["bestellung"]["preise_anzeigen"]))
                        {
                                // "<br>für bestimmte user preis verbergen";
                                $preise_anzeigen = 0;
                        }
                }
                $order = $this->order->get($id);
                $this->smarty->assign('title', 'Bestellung bearbeiten');
                $this->smarty->assign('preise_anzeigen', $preise_anzeigen);
                $this->smarty->assign('order', $order);
                $this->smarty->assign('daten', $daten);
                $this->smarty->view('single_order.tpl');
        }

        public function save()
        {
                $Bestellung = $this->input->post('Bestellung');
                if ((isset($_GET["update"]) && $_GET["update"]) || (isset($_POST["update"]) && $_POST["update"]))
                {

                        if ($_POST["update"])
                        {
                                $update = $_POST["update"];
                        }
                        else
                        {
                                $update = $_GET["update"];
                        }

                        if ($_POST["cmd"])
                        {
                                foreach (array_keys($_POST["cmd"]) as $table)
                                {
                                        foreach (array_keys($_POST["cmd"][$table]) as $primaryKeyValue)
                                        {
                                                $changed_id = "artikel_".$primaryKeyValue."_changed";
                                                if ($_POST[$changed_id] == 1)
                                                {
                                                        foreach (array_keys($_POST["cmd"][$table][$primaryKeyValue]) as $tablefield)
                                                        {
                                                                $query = "
                                                                        UPDATE
                                                                                ".$table."
                                                                        SET
                                                                                ".$tablefield." = '".$GLOBALS["order_db"]->escape(html_entity_decode($_POST["cmd"][$table][$primaryKeyValue][$tablefield],
                                                                        ENT_COMPAT, $_SESSION["charset"]))."'
                                                                        WHERE
                                                                                ID = '".$primaryKeyValue."'
                                                                ";
                                                                $result = $GLOBALS["order_db"]->query($query);
                                                        }
                                                }
                                        }
                                }
                        }
                        $upd_fields[] = "Bemerkung=".$GLOBALS["order_db"]->escape($_POST["Bemerkung"]).
                                "";

                        if (isset($user_rechte["Warenwirtschaft"]["bestellung"]["shortline1"]))
                        {
                                $upd_fields[] = "shortline1 = '".$GLOBALS["order_db"]->escape($_POST["shortline1"]).
                                        "'";
                        }
                        if (isset($user_rechte["Warenwirtschaft"]["bestellung"]["shortline2"]))
                        {
                                $upd_fields[] = "shortline2 = '".$GLOBALS["order_db"]->escape($_POST["shortline2"]).
                                        "'";
                        }
                        if (isset($user_rechte["Warenwirtschaft"]["bestellung"]["status1"]))
                        {
                                $upd_fields[] = "status1 = '".$GLOBALS["order_db"]->escape($_POST["status1"]).
                                        "'";
                        }
                        if (isset($user_rechte["Warenwirtschaft"]["bestellung"]["Bemerkung_extern"]))
                        {
                                $upd_fields[] = "Bemerkung_extern='".$GLOBALS["order_db"]->escape($_POST["Bemerkung_extern"]).
                                        "'";
                        }
                        if (isset($user_rechte["Warenwirtschaft"]["bezahlstatus"]["bezahlstatus"]))
                        {
                                $upd_fields[] = "bezahlt='".$GLOBALS["order_db"]->escape($_POST["bezahlt"])."'";
                                $upd_fields[] = "bezahlt_bemerkung='".$GLOBALS["order_db"]->escape($_POST["bezahlt_bemerkung"]).
                                        "'";
                        }
                        if (isset($_POST['fremd_id']))
                        {
                                $upd_fields[] = "fremd_id='".$GLOBALS["order_db"]->escape($_POST["fremd_id"]).
                                        "'";
                        }
                        $sql = "
                                SELECT
                                        erstellt_von
                                FROM
                                        Bestellung
                                WHERE
                                        ID=".$Bestellung."
                        ";

                        $result = $GLOBALS["order_db"]->query($sql);
                        $zeile = $result->unbuffered_row('array');
                        if ($zeile["erstellt_von"] == '')
                        {
                                $upd_fields[] = "erstellt_von='".$_SERVER["PHP_AUTH_USER"]."'";
                        }
                        if ($_POST["s_changed"] == 1)
                        {
                                $upd_fields[] = "shops_ID=".$_POST["s_id"];
                        }
                        $sql = "
                                UPDATE
                                        Bestellung
                                SET
                                        letzte_Aenderung_von='".$_SERVER["PHP_AUTH_USER"]."',
                                        ".implode(",", $upd_fields)."
                                WHERE
                                        ID=".$Bestellung."
                        ";
                        $GLOBALS["order_db"]->query($sql);
                        if (isset($_POST["logistiker_id"]))
                        {
                                if ($_POST["logistiker_id"])
                                {
                                        $sql_bl = "
                                                REPLACE INTO
                                                        bestellung_logistiker
                                                SET
                                                        bestellung=".$Bestellung.",
                                                        logistiker=".$_POST["logistiker_id"]."
                                        ";

                                        $GLOBALS["order_db"]->query($sql_bl);
                                        if (isset($web_rechte["admin"]["toolbox"]["logbuch"]))
                                        {
                                                $GLOBALS["Log"]["best"]->log("Logistiker der Bestellung geändert", $Bestellung);
                                        }
                                }
                                else
                                {
                                        $sql_bl = "
                                                DELETE FROM
                                                        bestellung_logistiker
                                                WHERE
                                                        bestellung=".$Bestellung."
                                        ";
                                        $GLOBALS["order_db"]->query($sql_bl);
                                        if (isset($web_rechte["admin"]["toolbox"]["logbuch"]))
                                        {
                                                $GLOBALS["Log"]["best"]->log("Logistiker der Bestellung geändert", $Bestellung);
                                        }
                                }
                        }
                        if (isset($update["current"]))
                        {
                                header("Location: /backend/order/edit/".$Bestellung);
                        }
                        elseif (isset($update["list"]))
                        {
                                header("Location: /backend/order/index/".$Bestellung);
                        }
                }
        }

        public function del($id = null)
        {
        }

}