diff --git a/htdocs/compta/facture.php3 b/htdocs/compta/facture.php3
index beb37b399c1..bda0481f607 100644
--- a/htdocs/compta/facture.php3
+++ b/htdocs/compta/facture.php3
@@ -29,90 +29,84 @@ $db = new Db();
$yn[1] = "oui";
$yn[0] = "non";
-if ($action == 'valid') {
- $sql = "UPDATE llx_facture set fk_statut = 1 WHERE rowid = $facid ;";
- $result = $db->query( $sql);
+if ($action == 'valid')
+{
+ $fac = new Facture($db);
+ $result = $fac->set_valid($facid, $user->id);
}
-if ($action == 'payed') {
- $sql = "UPDATE llx_facture set paye = 1 WHERE rowid = $facid ;";
- $result = $db->query( $sql);
+if ($action == 'payed')
+{
+ $fac = new Facture($db);
+ $result = $fac->set_payed($facid);
}
-if ($action == 'delete') {
- $sql = "DELETE FROM llx_facture WHERE rowid = $facid;";
- if ( $db->query( $sql) ) {
- $sql = "DELETE FROM llx_fa_pr WHERE fk_facture = $facid;";
- if (! $db->query( $sql) ) {
- print $db->error();
- }
- } else {
- print $db->error();
- }
+if ($action == 'delete')
+{
+ $fac = new Facture($db);
+ $fac->delete($facid);
$facid = 0 ;
}
-
-if ($action == 'add') {
+if ($action == 'add')
+{
$datefacture = $db->idate(mktime(12, 0 , 0, $pmonth, $pday, $pyear));
+
+ if (! $propalid)
+ {
- if (! $propalid) {
-
- $facture = new Facture($db, $socid);
- $facture->number = $facnumber;
- $facture->date = $datefacture;
-
- $facture->note = $note;
- $facture->amount = $amount;
- $facture->remise = $remise;
-
- $facture->create($user->id, $statut, $note);
-
- } else {
-
- $sql = "INSERT INTO llx_facture (facnumber, fk_soc, datec, datef, note, amount, remise, tva, total, author) ";
- $sql .= " VALUES ('$facnumber', $socid, now(), $datefacture,'$note', $amount, $remise, $tva, $total, '$author');";
- $result = $db->query($sql);
-
- if ($result) {
-
- $sql = "SELECT rowid, facnumber FROM llx_facture WHERE facnumber='$facnumber';";
- $result = $db->query($sql);
- if ($result) {
- $objfac = $db->fetch_object( 0);
- $facid = $objfac->rowid;
- $facnumber = $objfac->facnumber;
- $action = '';
-
- $sql = "INSERT INTO llx_fa_pr (fk_facture,fk_propal) VALUES ($facid, $propalid);";
- $result = $db->query($sql);
-
-
- /*
- *
- * Génération du PDF
- *
- */
-
- // print "
Génération du PDF";
-
- // $command = "export DBI_DSN=\"".$GLOBALS["DBI"]."\" ";
- // $command .= " ; ../../scripts/facture-tex.pl --facture=$facid --pdf --ps" ;
-
- // $output = system($command);
- // print "
command : $command
";
+ $facture = new Facture($db, $socid);
+ $facture->number = $facnumber;
+ $facture->date = $datefacture;
- }
- } else {
- print "
Erreur : la facture n'a pas été créée, vérifier le numéro !";
- print "
Retour à la propal";
- print $db->error();
+ $facture->note = $note;
+ $facture->amount = $amount;
+ $facture->remise = $remise;
+
+ $facture->create($user->id, $statut, $note);
+
+ }
+ else
+ {
+
+ $facture = new Facture($db, $socid);
+
+ $facture->number = $facnumber;
+ $facture->date = $datefacture;
+ $facture->note = $note;
+ $facture->amount = $amount;
+ $facture->remise = $remise;
+ $facture->propalid = $propalid;
+
+ if ($facture->create($user->id) )
+ {
+
+ /*
+ *
+ * Génération du PDF
+ *
+ */
+
+ // print "
Génération du PDF";
+
+ // $command = "export DBI_DSN=\"".$GLOBALS["DBI"]."\" ";
+ // $command .= " ; ../../scripts/facture-tex.pl --facture=$facid --pdf --ps" ;
+
+ // $output = system($command);
+ // print "
command : $command
";
+
+ }
+ else
+ {
+ print "
Erreur : la facture n'a pas été créée, vérifier le numéro !";
+ print "
Retour à la propal";
+ print $db->error();
+ }
}
- }
$facid = $facid;
$action = '';
-
+
}
/*
*
@@ -122,139 +116,162 @@ if ($action == 'add') {
*
*/
-if ($action == 'create') {
+if ($action == 'create')
+{
print_titre("Emettre une facture");
- if ($propalid) {
+ if ($propalid)
+ {
- $sql = "SELECT s.nom, s.prefix_comm, s.idp, p.price, p.remise, p.tva, p.total, p.ref, ".$db->pdate("p.datep")." as dp, c.id as statut, c.label as lst";
- $sql .= " FROM societe as s, llx_propal as p, c_propalst as c 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 societe as s ";
- $sql .= "WHERE s.idp = $socidp";
-
- }
-
- if ( $db->query($sql) ) {
- $num = $db->num_rows();
- if ($num) {
- $obj = $db->fetch_object( 0);
-
- $numfa = "F-" . $obj->prefix_comm . "-" . strftime("%y%m%d", time());
-
- print "