*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* $Id$
* $Source$
*
*/
require("./pre.inc.php");
$user->getrights('commande');
$user->getrights('expedition');
if (!$user->rights->commande->lire)
accessforbidden();
require("../project.class.php");
require("../propal.class.php");
/*
* Sécurité accés client
*/
if ($user->societe_id > 0)
{
$action = '';
$socidp = $user->societe_id;
}
/*
*
*/
if ($HTTP_POST_VARS["action"] == 'classin')
{
$commande = new Commande($db);
$commande->fetch($_GET["id"]);
$commande->classin($HTTP_POST_VARS["projetid"]);
}
/*
*
*/
if ($HTTP_POST_VARS["action"] == 'add')
{
$datecommande = mktime(12, 0 , 0, $HTTP_POST_VARS["remonth"], $HTTP_POST_VARS["reday"], $HTTP_POST_VARS["reyear"]);
$commande = new Commande($db);
$commande->soc_id = $HTTP_POST_VARS["soc_id"];
$commande->date_commande = $datecommande;
$commande->note = $HTTP_POST_VARS["note"];
$commande->source = $HTTP_POST_VARS["source_id"];
$commande->projetid = $HTTP_POST_VARS["projetid"];
$commande->remise_percent = $HTTP_POST_VARS["remise_percent"];
$commande->add_product($HTTP_POST_VARS["idprod1"],$HTTP_POST_VARS["qty1"],$HTTP_POST_VARS["remise_percent1"]);
$commande->add_product($HTTP_POST_VARS["idprod2"],$HTTP_POST_VARS["qty2"],$HTTP_POST_VARS["remise_percent2"]);
$commande->add_product($HTTP_POST_VARS["idprod3"],$HTTP_POST_VARS["qty3"],$HTTP_POST_VARS["remise_percent3"]);
$commande->add_product($HTTP_POST_VARS["idprod4"],$HTTP_POST_VARS["qty4"],$HTTP_POST_VARS["remise_percent4"]);
$commande_id = $commande->create($user);
$_GET["id"] = $commande->id;
$action = '';
}
/*
*
*/
if ($HTTP_POST_VARS["action"] == 'setremise' && $user->rights->commande->creer)
{
$commande = new Commande($db);
$commande->fetch($id);
$commande->set_remise($user, $HTTP_POST_VARS["remise"]);
}
if ($HTTP_POST_VARS["action"] == 'addligne' && $user->rights->commande->creer)
{
$commande = new Commande($db);
$commande->fetch($_GET["id"]);
if ($HTTP_POST_VARS["p_idprod"] > 0)
{
$result = $commande->addline("DESC",
$HTTP_POST_VARS["pu"],
$HTTP_POST_VARS["pqty"],
$HTTP_POST_VARS["tva_tx"],
$HTTP_POST_VARS["p_idprod"],
$HTTP_POST_VARS["premise"]);
}
else
{
$result = $commande->addline($HTTP_POST_VARS["desc"],
$HTTP_POST_VARS["pu"],
$HTTP_POST_VARS["qty"],
$HTTP_POST_VARS["tva_tx"],
0,
$HTTP_POST_VARS["remise_percent"]);
}
}
if ($HTTP_POST_VARS["action"] == 'updateligne' && $user->rights->commande->creer)
{
$commande = new Commande($db,"",$_GET["id"]);
if ($commande->fetch($_GET["id"]) )
{
$result = $commande->update_line($HTTP_POST_VARS["elrowid"],
$HTTP_POST_VARS["eldesc"],
$HTTP_POST_VARS["elprice"],
$HTTP_POST_VARS["elqty"],
$HTTP_POST_VARS["elremise_percent"]);
}
else
{
print "Erreur";
}
}
if ($action == 'deleteline' && $user->rights->commande->creer)
{
$commande = new Commande($db);
$commande->fetch($_GET["id"]);
$result = $commande->delete_line($_GET["lineid"]);
}
if ($HTTP_POST_VARS["action"] == 'confirm_valid' && $HTTP_POST_VARS["confirm"] == yes && $user->rights->commande->valider)
{
$commande = new Commande($db);
$commande->fetch($_GET["id"]);
$soc = new Societe($db);
$soc->fetch($commande->soc_id);
$result = $commande->valid($user);
}
if ($HTTP_POST_VARS["action"] == 'confirm_cancel' && $HTTP_POST_VARS["confirm"] == yes && $user->rights->commande->valider)
{
$commande = new Commande($db);
$commande->fetch($_GET["id"]);
$result = $commande->cancel($user);
}
if ($HTTP_POST_VARS["action"] == 'confirm_delete' && $HTTP_POST_VARS["confirm"] == yes)
{
if ($user->rights->commande->supprimer )
{
$commande = new Commande($db);
$commande->id = $_GET["id"];
$commande->delete();
Header("Location: index.php");
}
}
/*
*
*/
if ($action == 'pdf')
{
/*
* Generation de la commande
* définit dans /includes/modules/commande/modules_commande.php
*/
commande_pdf_create($db, $_GET["id"]);
}
llxHeader('','Fiche commande','ch-commande.html');
$html = new Form($db);
/*********************************************************************
*
* Mode creation
*
*
*
************************************************************************/
if ($action == 'create')
{
print_titre("Créer une commande");
$new_commande = new Commande($db);
if ($propalid)
{
$sql = "SELECT s.nom, s.prefix_comm, s.idp, p.price, p.remise, p.remise_percent, p.tva, p.total, p.ref, ".$db->pdate("p.datep")." as dp, c.id as statut, c.label as lst";
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."propal as p, ".MAIN_DB_PREFIX."c_propalst as c";
$sql .= " WHERE p.fk_soc = s.idp AND p.fk_statut = c.id";
$sql .= " AND p.rowid = $propalid";
}
else
{
$sql = "SELECT s.nom, s.prefix_comm, s.idp ";
$sql .= "FROM ".MAIN_DB_PREFIX."societe as s ";
$sql .= "WHERE s.idp = $socidp";
}
if ( $db->query($sql) )
{
$num = $db->num_rows();
if ($num)
{
$obj = $db->fetch_object(0);
$soc = new Societe($db);
$soc->fetch($obj->idp);
print '
';
}
/*
* Lignes de commandes
*
*/
echo '
';
$sql = "SELECT l.fk_product, l.description, l.price, l.qty, l.rowid, l.tva_tx, l.remise_percent, l.subprice";
$sql .= " FROM ".MAIN_DB_PREFIX."commandedet as l WHERE l.fk_commande = $id ORDER BY l.rowid";
$result = $db->query($sql);
if ($result)
{
$num = $db->num_rows();
$i = 0; $total = 0;
if ($num)
{
print '