diff --git a/htdocs/compta/paiement.php b/htdocs/compta/paiement.php index 528b4ec0a47..1174f981f57 100644 --- a/htdocs/compta/paiement.php +++ b/htdocs/compta/paiement.php @@ -19,10 +19,84 @@ * $Source$ * */ -require("./pre.inc.php"); -require("../paiement.class.php"); -require("./bank/account.class.php"); +include_once("./pre.inc.php"); +include_once("../paiement.class.php"); +include_once(DOL_DOCUMENT_ROOT."/facture.class.php"); +include_once(DOL_DOCUMENT_ROOT."/compta/bank/account.class.php"); +/* + * + */ +if ($HTTP_POST_VARS["action"] == 'add_paiement') +{ + + if ($HTTP_POST_VARS["paiementid"] > 0) + { + + $datepaye = $db->idate(mktime(12, 0 , 0, + $HTTP_POST_VARS["remonth"], + $HTTP_POST_VARS["reday"], + $HTTP_POST_VARS["reyear"])); + + $paiement_id = 0; + $amounts = array(); + foreach ($HTTP_POST_VARS as $key => $value) + { + if (substr($key,0,7) == 'amount_') + { + $other_facid = substr($key,7); + + $amounts[$other_facid] = $HTTP_POST_VARS[$key]; + } + } + + $paiement = new Paiement($db); + + $paiement->datepaye = $datepaye; + $paiement->amounts = $amounts; + $paiement->author = $HTTP_POST_VARS["author"]; + $paiement->paiementid = $HTTP_POST_VARS["paiementid"]; + $paiement->num_paiement = $HTTP_POST_VARS["num_paiement"]; + $paiement->note = $HTTP_POST_VARS["note"]; + $paiement_id = $paiement->create($user); + + if ($paiement_id > 0) + { + $paiement = new Paiement($db); + if ( $paiement->fetch($paiement_id) ) + { + $fac = new Facture($db); + $fac->fetch($HTTP_POST_VARS["facid"]); + $fac->fetch_client(); + + $label = "Règlement facture"; + + //On ajoute une ligne dans la table llx_bank pour qu'ensuite on puisse rapprocher le compte ! + $acc = new Account($db, $HTTP_POST_VARS["accountid"]); + //paiementid est correct, il contient "CHQ ou VIR par exemple" + $bank_line_id = $acc->addline($datepaye, $HTTP_POST_VARS["paiementid"], $label, $paiement->montant, $num_paiement); + + // TODO + // Mise a jour fk_bank dans llx_paiement + // $acc->update_fk_bank($paiement_id,$bank_line_id); + + $acc->add_url_line($bank_line_id, $paiement_id, DOL_URL_ROOT.'/compta/paiement/fiche.php?id=', "(paiement)"); + $acc->add_url_line($bank_line_id, $fac->client->id, DOL_URL_ROOT.'/compta/fiche.php?socid=', $fac->client->nom); + + $loc = DOL_URL_ROOT.'/compta/paiement/fiche.php?id='.$paiement_id; + Header("Location: $loc"); + } + } + else + { + // print "Pas d'entrée dans la banque"; + } + } + else + { + $fiche_erreur_message = "Vous devez sélectionner un mode de paiement"; + } +} /* * Sécurité accés client @@ -39,9 +113,10 @@ if ($user->societe_id > 0) llxHeader(); - -if ($action == 'create') +if ($_GET["action"] == 'create') { + $facture = new Facture($db); + $facture->fetch($_GET["facid"]); $sql = "SELECT s.nom,s.idp, f.amount, f.total_ttc as total, f.facnumber"; $sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."facture as f WHERE f.fk_soc = s.idp"; @@ -58,26 +133,13 @@ if ($action == 'create') $total = $obj->total; print_titre("Emettre un paiement"); - print '
\n"; } } }