Fix: Use the numbering module of Dolibarr.

This commit is contained in:
Laurent Destailleur 2009-09-27 21:26:36 +00:00
parent 46d1a735b0
commit 8db2df6901
2 changed files with 41 additions and 42 deletions

View File

@ -40,7 +40,7 @@ if (!$user->admin)
accessforbidden(); accessforbidden();
$langs->load("admin"); $langs->load("admin");
$langs->load("cashdesk"); $langs->load("@cashdesk");
/* /*

View File

@ -25,13 +25,15 @@ require (DOL_DOCUMENT_ROOT.'/Facture.class.php');
$obj_facturation = unserialize ($_SESSION['serObjFacturation']); $obj_facturation = unserialize ($_SESSION['serObjFacturation']);
unset ($_SESSION['serObjFacturation']); unset ($_SESSION['serObjFacturation']);
switch ( $_GET['action'] ) { switch ( $_GET['action'] )
{
default: default:
$redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menu=validation'; $redirection = DOL_URL_ROOT.'/cashdesk/affIndex.php?menu=validation';
break; break;
case 'valide_achat': case 'valide_achat':
$company=new Societe($db); $company=new Societe($db);
@ -77,18 +79,20 @@ switch ( $_GET['action'] ) {
$redirection = 'affIndex.php?menu=validation'; $redirection = 'affIndex.php?menu=validation';
break; break;
case 'retour': case 'retour':
$redirection = 'affIndex.php?menu=facturation'; $redirection = 'affIndex.php?menu=facturation';
break; break;
case 'valide_facture': case 'valide_facture':
// R<EFBFBD>cup<EFBFBD>ration de la date et de l'heure // Recuperation de la date et de l'heure
$date = date ('Y-m-d'); $date = date ('Y-m-d');
$heure = date ('H:i:s'); $heure = date ('H:i:s');
// R<EFBFBD>cup<EFBFBD>ration du mode de r<>glement et cr<63>ation de la note priv<69>e ... // Recuperation du mode de reglement et cr<63>ation de la note privee ...
$note = ''; $note = '';
switch ( $obj_facturation->mode_reglement() ) { switch ( $obj_facturation->mode_reglement() ) {
@ -116,10 +120,17 @@ switch ( $_GET['action'] ) {
// ... on termine la note // ... on termine la note
$note .= addslashes ($_POST['txtaNotes']); $note .= addslashes ($_POST['txtaNotes']);
// Si paiement differe ...
if ( $obj_facturation->mode_reglement() == 'DIF' ) {
// ... ajout d'une facture sans mode de r<>glement, avec la date d'<27>ch<63>ance // TODO Add records into database using the Dolibarr business classes
// instead of direct access.
// Also add a transaction and error management
// Si paiement differe ...
if ( $obj_facturation->mode_reglement() == 'DIF' )
{
// ... ajout d'une facture sans mode de reglement, avec la date d'<27>ch<63>ance
$sql->query ( $sql->query (
"INSERT INTO ".MAIN_DB_PREFIX."facture ( "INSERT INTO ".MAIN_DB_PREFIX."facture (
facnumber, facnumber,
@ -200,7 +211,9 @@ switch ( $_GET['action'] ) {
// Sinon ... // Sinon ...
} else { }
else
{
// ... ajout d'une facture et d'un paiement // ... ajout d'une facture et d'un paiement
$sql->query ("INSERT INTO ".MAIN_DB_PREFIX."facture ( $sql->query ("INSERT INTO ".MAIN_DB_PREFIX."facture (
@ -262,7 +275,7 @@ switch ( $_GET['action'] ) {
'".$date."', '".$date."',
'".$note."', '".$note."',
NULL) NULL)
;"); ");
// Recuperation de l'id de la facture nouvellement creee // Recuperation de l'id de la facture nouvellement creee
@ -285,8 +298,9 @@ switch ( $_GET['action'] ) {
// Ajout d'une op<6F>ration sur le compte de caisse, uniquement si le paiement est en esp<73>ces // Ajout d'une operation sur le compte de caisse, uniquement si le paiement est en especes
if ( $obj_facturation->mode_reglement() == 'ESP' ) { if ( $obj_facturation->mode_reglement() == 'ESP' )
{
$sql->query ( $sql->query (
"INSERT INTO ".MAIN_DB_PREFIX."bank ( "INSERT INTO ".MAIN_DB_PREFIX."bank (
@ -314,7 +328,7 @@ switch ( $_GET['action'] ) {
0, 0,
0 0
) )
;"); ");
} }
@ -360,9 +374,9 @@ switch ( $_GET['action'] ) {
'".$date." 12:00:00', '".$date." 12:00:00',
".$obj_facturation->prix_total_ttc().", ".$obj_facturation->prix_total_ttc().",
".$mode_reglement.", ".$mode_reglement.",
NULL, NULL,
NULL, NULL,
$id_op, $id_op,
".$_SESSION['uid'].", ".$_SESSION['uid'].",
NULL, NULL,
1, 1,
@ -370,8 +384,8 @@ switch ( $_GET['action'] ) {
)"); )");
// R<EFBFBD>cup<EFBFBD>ration de l'id du paiement nouvellement cr<63> // Recuperation de l'id du paiement nouvellement cr<63>
$resql=$sql->query ( $resql=$sql->query (
"SELECT rowid "SELECT rowid
FROM ".MAIN_DB_PREFIX."paiement FROM ".MAIN_DB_PREFIX."paiement
WHERE 1 WHERE 1
@ -401,25 +415,10 @@ switch ( $_GET['action'] ) {
".$id.", ".$id.",
".$obj_facturation->prix_total_ttc()." ".$obj_facturation->prix_total_ttc()."
) )
;"); ");
} }
// Ajout d'un r<>glement tva
$sql->query (
"INSERT INTO llx_facture_tva_sum (
fk_facture,
amount,
tva_tx
)
VALUES (
".$id.",
".$obj_facturation->montant_tva().",
19.6
)
;");
// Recuperation de la liste des articles du panier // Recuperation de la liste des articles du panier
$res=$sql->query (' $res=$sql->query ('
@ -439,7 +438,9 @@ switch ( $_GET['action'] ) {
$tab_liste = $ret; $tab_liste = $ret;
for ($i = 0; $i < count ($tab_liste); $i++) { // Loop on each product
for ($i = 0; $i < count ($tab_liste); $i++)
{
// Recuperation de l'article // Recuperation de l'article
$res = $sql->query ( $res = $sql->query (
@ -478,15 +479,8 @@ switch ( $_GET['action'] ) {
$qte = $tab_liste[$i]['qte']; $qte = $tab_liste[$i]['qte'];
$stock = $reel - $qte; $stock = $reel - $qte;
// Mise <20> jour du stock
$sql->query (
'UPDATE '.MAIN_DB_PREFIX.'product_stock
SET reel = '.$stock."
WHERE fk_product = ".$tab_liste[$i]['fk_article']."
LIMIT 1");
// Ajout d'une entree dans le detail de la facture
// Ajout d'une entr<74>e dans le d<>tail de la facture
$sql->query ( $sql->query (
'INSERT INTO '.MAIN_DB_PREFIX.'facturedet ( 'INSERT INTO '.MAIN_DB_PREFIX.'facturedet (
fk_facture, fk_facture,
@ -536,8 +530,13 @@ switch ( $_GET['action'] ) {
$redirection = 'affIndex.php?menu=validation_ok&facid='.$id; // Ajout de l'id de la facture, pour l'inclure dans un lien pointant directement vers celle-ci dans Dolibarr $redirection = 'affIndex.php?menu=validation_ok&facid='.$id; // Ajout de l'id de la facture, pour l'inclure dans un lien pointant directement vers celle-ci dans Dolibarr
break; break;
// End of case: valide_facture
} }
$_SESSION['serObjFacturation'] = serialize ($obj_facturation); $_SESSION['serObjFacturation'] = serialize ($obj_facturation);
header ('Location: '.$redirection); header ('Location: '.$redirection);