New: Support of deposit invoices

Removed deprecated table
This commit is contained in:
Laurent Destailleur 2009-02-27 18:35:17 +00:00
parent 6d7badb904
commit 422dafeeb3
13 changed files with 67 additions and 102 deletions

View File

@ -59,7 +59,7 @@ if ($_POST["action"] == 'update')
$don->cp = $_POST["cp"];
$don->ville = $_POST["ville"];
$don->email = $_POST["email"];
$don->date = mktime(12, 0 , 0, $_POST["remonth"], $_POST["reday"], $_POST["reyear"]);
$don->date = dol_mktime(12, 0 , 0, $_POST["remonth"], $_POST["reday"], $_POST["reyear"]);
$don->note = $_POST["note"];
$don->pays = $_POST["pays"];
$don->public = $_POST["public"];
@ -75,7 +75,7 @@ if ($_POST["action"] == 'update')
}
else
{
$mesg="Montant non défini";
$mesg=$langs->trans("ErrorFieldRequired",$langs->trans("Amount"));
}
}
@ -93,7 +93,7 @@ if ($_POST["action"] == 'add')
$don->cp = $_POST["cp"];
$don->ville = $_POST["ville"];
$don->email = $_POST["email"];
$don->date = mktime(12, 0 , 0, $_POST["remonth"], $_POST["reday"], $_POST["reyear"]);
$don->date = dol_mktime(12, 0 , 0, $_POST["remonth"], $_POST["reday"], $_POST["reyear"]);
$don->note = $_POST["note"];
$don->pays = $_POST["pays"];
$don->public = $_POST["public"];
@ -157,7 +157,7 @@ if ($_GET["action"] == 'set_encaisse')
}
/*
* Générer ou regénérer le document
* Build doc
*/
if ($_REQUEST['action'] == 'builddoc')
{
@ -201,7 +201,7 @@ $formfile = new FormFile($db);
/* ************************************************************************** */
/* */
/* Création d'une fiche don */
/* Creation */
/* */
/* ************************************************************************** */
@ -209,6 +209,8 @@ if ($_GET["action"] == 'create')
{
print_fiche_titre($langs->trans("AddDonation"));
if ($mesg) print '<div class="error">'.$mesg.'</div>';
print '<form name="add" action="fiche.php" method="post">';
print '<table class="border" width="100%">';
@ -301,26 +303,10 @@ if ($_GET["rowid"] && $_GET["action"] == 'edit')
// Project
if ($conf->projet->enabled)
{
print "<tr><td>".$langs->trans("Project")."</td><td><select name=\"projetid\">\n";
$sql = "SELECT rowid, libelle FROM ".MAIN_DB_PREFIX."don_projet";
$sql.= " ORDER BY rowid";
if ($db->query($sql))
{
$num = $db->num_rows();
$i = 0;
while ($i < $num)
{
$objopt = $db->fetch_object();
print "<option value=\"$objopt->rowid\">$objopt->libelle</option>\n";
$i++;
}
}
else
{
dol_print_error($db);
}
print "</select><br>";
print "</td></tr>\n";
$langs->load('projects');
print '<tr><td>'.$langs->trans('Project').'</td><td colspan="2">';
select_projects($soc->id, isset($_POST["projetid"])?$_POST["projetid"]:$don->projetid, 'projetid');
print '</td></tr>';
}
print "<tr><td>".$langs->trans("PublicDonation")."</td><td>";
@ -424,7 +410,7 @@ if ($_GET["rowid"] && $_GET["action"] != 'edit')
print "</div>";
// \TODO Gérer action émettre paiement
// \TODO G<EFBFBD>rer action <20>mettre paiement
$resteapayer = 0;
@ -440,7 +426,7 @@ if ($_GET["rowid"] && $_GET["action"] != 'edit')
print '<a class="butAction" href="fiche.php?rowid='.$don->id.'&action=valid_promesse">'.$langs->trans("ValidPromess").'</a>';
}
// \TODO Gérer action émettre paiement
// \TODO G<EFBFBD>rer action <20>mettre paiement
if ($don->statut == 1 && $resteapayer > 0)
{
print "<a class=\"butAction\" href=\"paiement.php?facid=$facid&action=create\">".$langs->trans("DoPayment")."</a>";
@ -466,7 +452,7 @@ if ($_GET["rowid"] && $_GET["action"] != 'edit')
print '<table width="100%"><tr><td width="50%" valign="top">';
/*
* Documents générés
* Documents g<EFBFBD>n<EFBFBD>r<EFBFBD>s
*/
$filename=sanitizeFileName($don->id);
$filedir=$conf->don->dir_output . '/' . get_exdir($filename,2);

View File

@ -58,8 +58,8 @@ $donstatic=new Don($db);
// Genere requete de liste des dons
$sql = "SELECT d.rowid, ".$db->pdate("d.datedon")." as datedon, d.prenom, d.nom, d.societe,";
$sql.= " d.amount, d.fk_statut as statut, ";
$sql.= " p.libelle as projet";
$sql.= " FROM ".MAIN_DB_PREFIX."don as d LEFT JOIN ".MAIN_DB_PREFIX."don_projet AS p";
$sql.= " p.title as projet";
$sql.= " FROM ".MAIN_DB_PREFIX."don as d LEFT JOIN ".MAIN_DB_PREFIX."projet AS p";
$sql.= " ON p.rowid = d.fk_don_projet WHERE 1 = 1";
if ($statut >= 0)
{

View File

@ -40,7 +40,7 @@ print_fiche_titre($langs->trans("Statistics"));
$sql = "SELECT d.amount";
$sql .= " FROM ".MAIN_DB_PREFIX."don as d LEFT JOIN ".MAIN_DB_PREFIX."don_projet as p";
$sql .= " FROM ".MAIN_DB_PREFIX."don as d LEFT JOIN ".MAIN_DB_PREFIX."projet as p";
$sql .= " ON p.rowid = d.fk_don_projet";
$result = $db->query($sql);

View File

@ -66,6 +66,7 @@ $NBLINES=4;
$usehm=$conf->global->MAIN_USE_HOURMIN_IN_DATE_RANGE;
/******************************************************************************/
/* Actions */
/******************************************************************************/
@ -2182,7 +2183,7 @@ else
}
print '</td></tr>';
// Ligne info remises tiers
// Discount
print '<tr><td>'.$langs->trans('Discounts').'</td><td colspan="5">';
if ($soc->remise_client) print $langs->trans("CompanyHasRelativeDiscount",$soc->remise_client);
else print $langs->trans("CompanyHasNoRelativeDiscount");
@ -2317,7 +2318,9 @@ else
{
$obj = $db->fetch_object($resql);
$invoice->fetch($obj->fk_facture_source);
print '<tr><td colspan="2" align="right">'.$langs->trans("CreditNote").' ';
print '<tr><td colspan="2" align="right">';
if ($invoice->type == 2) print $langs->trans("CreditNote").' ';
if ($invoice->type == 3) print $langs->trans("Deposit").' ';
print $invoice->getNomUrl(0);
print ' :</td>';
print '<td align="right" style="border: 1px solid;">'.price($obj->amount_ttc).'</td>';

View File

@ -60,7 +60,7 @@ class Don extends CommonObject
/**
* \brief Constructeur
* \param DB Handler d'accès base
* \param DB Handler d'acc<EFBFBD>s base
*/
function Don($DB)
{
@ -80,8 +80,8 @@ class Don extends CommonObject
/**
* \brief Retourne le libellé du statut d'un don (brouillon, validée, abandonnée, payée)
* \param mode 0=libellé long, 1=libellé court, 2=Picto + Libellé court, 3=Picto, 4=Picto + Libellé long
* \brief Retourne le libell<EFBFBD> du statut d'un don (brouillon, valid<EFBFBD>e, abandonn<EFBFBD>e, pay<EFBFBD>e)
* \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long
* \return string Libelle
*/
function getLibStatut($mode=0)
@ -90,10 +90,10 @@ class Don extends CommonObject
}
/**
* \brief Renvoi le libellé d'un statut donné
* \brief Renvoi le libell<EFBFBD> d'un statut donn<EFBFBD>
* \param statut Id statut
* \param mode 0=libellé long, 1=libellé court, 2=Picto + Libellé court, 3=Picto, 4=Picto + Libellé long, 5=Libellé court + Picto
* \return string Libellé du statut
* \param mode 0=libell<EFBFBD> long, 1=libell<EFBFBD> court, 2=Picto + Libell<EFBFBD> court, 3=Picto, 4=Picto + Libell<EFBFBD> long, 5=Libell<EFBFBD> court + Picto
* \return string Libell<EFBFBD> du statut
*/
function LibStatut($statut,$mode=0)
{
@ -137,14 +137,14 @@ class Don extends CommonObject
/**
* \brief Initialise le don avec valeurs fictives aléatoire
* Sert à générer une recu de don pour l'aperu des modèles ou demo
* \brief Initialise le don avec valeurs fictives al<EFBFBD>atoire
* Sert <EFBFBD> g<EFBFBD>n<EFBFBD>rer une recu de don pour l'aperu des mod<EFBFBD>les ou demo
*/
function initAsSpecimen()
{
global $user,$langs;
// Charge tableau des id de société socids
// Charge tableau des id de soci<EFBFBD>t<EFBFBD> socids
$socids = array();
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."societe WHERE client=1 LIMIT 10";
$resql = $this->db->query($sql);
@ -161,7 +161,7 @@ class Don extends CommonObject
}
}
// Initialise paramètres
// Initialise param<EFBFBD>tres
$this->id=0;
$this->ref = 'SPECIMEN';
$this->specimen=1;
@ -206,7 +206,7 @@ class Don extends CommonObject
{
if ((strlen(trim($this->nom)) + strlen(trim($this->prenom))) == 0)
{
$error_string[$err] = "Vous devez saisir vos nom et prénom ou le nom de votre société.";
$error_string[$err] = "Vous devez saisir vos nom et pr<EFBFBD>nom ou le nom de votre soci<63>t<EFBFBD>.";
$err++;
}
}
@ -242,7 +242,7 @@ class Don extends CommonObject
{
if (!isset($map[substr($this->amount, $i, 1)] ))
{
$error_string[$err] = "Le montant du don contient un/des caractère(s) invalide(s)";
$error_string[$err] = "Le montant du don contient un/des caract<EFBFBD>re(s) invalide(s)";
$err++;
$amount_invalid = 1;
break;
@ -279,9 +279,9 @@ class Don extends CommonObject
}
/**
* \brief Création du don en base
* \param user Objet utilisateur qui crée le don
* \return int Id don crée si ok, <0 si ko
* \brief Cr<EFBFBD>ation du don en base
* \param user Objet utilisateur qui cr<EFBFBD>e le don
* \return int Id don cr<EFBFBD>e si ok, <0 si ko
*/
function create($user)
{
@ -308,8 +308,8 @@ class Don extends CommonObject
}
/**
* \brief Mise à jour du don
* \param user Objet utilisateur qui met à jour le don
* \brief Mise <EFBFBD> jour du don
* \param user Objet utilisateur qui met <EFBFBD> jour le don
* \return int >0 si ok, <0 si ko
*/
function update($user)
@ -328,7 +328,7 @@ class Don extends CommonObject
$sql .= ",ville='".$this->ville."'";
$sql .= ",pays='".$this->pays."'";
$sql .= ",public=".$this->public;
if ($this->projetid) { $sql .= ",fk_don_projet=".$this->projetid; }
$sql .= ",fk_don_projet=".($this->projetid>0?$this->projetid:'null');
$sql .= ",note='".$this->note."'";
$sql .= ",datedon='".$this->date."'";
$sql .= ",email='".$this->email."'";
@ -336,6 +336,7 @@ class Don extends CommonObject
$sql .= " WHERE rowid = $this->id";
dol_syslog("Don::update sql=".$sql);
$result = $this->db->query($sql);
if ($result)
{
@ -350,7 +351,7 @@ class Don extends CommonObject
/*
* \brief Suppression du don de la base
* \param rowid id du don à supprimer
* \param rowid id du don <EFBFBD> supprimer
*/
function delete($rowid)
{
@ -376,20 +377,22 @@ class Don extends CommonObject
}
/*
* \brief Charge l'objet don en mémoire depuis la base de donnée
* \param rowid Id du don à charger
* \brief Charge l'objet don en m<EFBFBD>moire depuis la base de donn<EFBFBD>e
* \param rowid Id du don <EFBFBD> charger
* \return int <0 si ko, >0 si ok
*/
function fetch($rowid)
{
$sql = "SELECT d.rowid, ".$this->db->pdate("d.datec")." as datec,";
$sql.= " ".$this->db->pdate("d.datedon")." as datedon,";
$sql.= " d.prenom, d.nom, d.societe, d.amount, p.libelle as projet, d.fk_statut, d.adresse, d.cp, d.ville, d.pays, d.public, d.amount, d.fk_paiement, d.note, cp.libelle, d.email, d.fk_don_projet";
$sql.= " d.prenom, d.nom, d.societe, d.amount, d.fk_statut, d.adresse, d.cp, d.ville, d.pays, d.public, d.amount, d.fk_paiement, d.note, cp.libelle, d.email, d.fk_don_projet,";
$sql.= " p.title as projet";
$sql.= " FROM ".MAIN_DB_PREFIX."c_paiement as cp, ".MAIN_DB_PREFIX."don as d";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."don_projet as p";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."projet as p";
$sql.= " ON p.rowid = d.fk_don_projet";
$sql.= " WHERE cp.id = d.fk_paiement AND d.rowid = ".$rowid;
dol_syslog("Don::fetch sql=".$sql);
if ( $this->db->query( $sql) )
{
if ($this->db->num_rows())
@ -430,7 +433,7 @@ class Don extends CommonObject
/*
* \brief Valide une promesse de don
* \param rowid id du don à modifier
* \param rowid id du don <EFBFBD> modifier
* \param userid utilisateur qui valide la promesse
*
*/
@ -458,8 +461,8 @@ class Don extends CommonObject
}
/*
* \brief Classe le don comme payé, le don a été recu
* \param rowid id du don à modifier
* \brief Classe le don comme pay<EFBFBD>, le don a <EFBFBD>t<EFBFBD> recu
* \param rowid id du don <EFBFBD> modifier
* \param modepaiementd mode de paiement
*/
function set_paye($rowid, $modepaiement='')
@ -492,8 +495,8 @@ class Don extends CommonObject
/*
* \brief Classe le don comme encaissé
* \param rowid id du don à modifier
* \brief Classe le don comme encaiss<EFBFBD>
* \param rowid id du don <EFBFBD> modifier
*
*/
function set_encaisse($rowid)
@ -521,7 +524,7 @@ class Don extends CommonObject
/**
* \brief Somme des dons
* \param param 1=promesses de dons validées , 2=xxx, 3=encaissés
* \param param 1=promesses de dons valid<EFBFBD>es , 2=xxx, 3=encaiss<EFBFBD>s
*/
function sum_donations($param)
{

View File

@ -524,11 +524,8 @@ class Form
{
$obj = $this->db->fetch_object($resql);
$desc=dol_trunc($obj->description,40);
if ($desc=='(CREDIT_NOTE)')
{
$desc=$langs->trans("CreditNote");
//$desc.=$obj->fk_facture_source;
}
if ($desc=='(CREDIT_NOTE)') $desc=$langs->trans("CreditNote");
if ($desc=='(DEPOSIT)') $desc=$langs->trans("Deposit");
$selectstring='';
if ($selected > 0 && $selected == $obj->rowid) $selectstring=' selected="true"';

View File

@ -228,6 +228,8 @@ RelativeDiscount=Relative discount
GlobalDiscount=Global discount
CreditNote=Credit note
CreditNotes=Credit notes
Deposit=Deposit
Deposits=Deposits
DiscountFromCreditNote=Discount from credit note %s
DiscountFromDeposit=Payments from deposit invoice %s
NewGlobalDiscount=New discount
@ -316,7 +318,7 @@ LawApplicationPart3=the seller until the complete cashing of
LawApplicationPart4=their price.
LimitedLiabilityCompanyCapital=SARL with Capital of
UseDiscount=Use discount
UseCreditNoteInInvoicePayment=Reduce payment with this credit note
UseCreditNoteInInvoicePayment=Reduce payment with this credit
MenuChequeDeposits=Cheques deposits
MenuCheques=Cheques
MenuChequesReceipts=Cheques receipts

View File

@ -129,7 +129,7 @@ CustomerAbsoluteDiscountShort=Absolute discount
CompanyHasRelativeDiscount=This customer has a discount of <b>%s%%</b>
CompanyHasNoRelativeDiscount=This customer has no relative discount by default
CompanyHasAbsoluteDiscount=This customer still has discount credits for <b>%s %s</b>
CompanyHasCreditNote=This customer still has credit notes for <b>%s %s</b>
CompanyHasCreditNote=This customer still has credit notes or previous deposits for <b>%s %s</b>
CompanyHasNoAbsoluteDiscount=This customer has no discount credit available
CustomerAbsoluteDiscountAllUsers=Absolute discounts (granted by all users)
CustomerAbsoluteDiscountMy=Absolute discounts (granted by yourself)

View File

@ -227,6 +227,8 @@ RelativeDiscount=Remise relative
GlobalDiscount=Remise fixe
CreditNote=Avoir
CreditNotes=Avoirs
Deposit=Accompte
Deposits=Accomptes
DiscountFromCreditNote=Remise issue de l'avoir %s
DiscountFromDeposit=Paiements issue de l'accompte %s
NewGlobalDiscount=Nouvelle remise fixe
@ -317,7 +319,7 @@ LawApplicationPart3=vendeur jusqu'à complet encaissement de
LawApplicationPart4=leurs prix.
LimitedLiabilityCompanyCapital=SARL au Capital de
UseDiscount=Appliquer remise
UseCreditNoteInInvoicePayment=Réduire paiement avec cet avoir
UseCreditNoteInInvoicePayment=Réduire paiement avec ce credit
MenuChequeDeposits=Remises de chèques
MenuCheques=Gestion chèques
MenuChequesReceipts=Bordereaux

View File

@ -130,7 +130,7 @@ CustomerAbsoluteDiscountShort=Remise fixe
CompanyHasRelativeDiscount=Ce client a une remise par défaut de <b>%s%%</b>
CompanyHasNoRelativeDiscount=Ce client n'a pas de remises relatives par défaut
CompanyHasAbsoluteDiscount=Ce client a <b>%s %s</b> de remises fixes disponibles
CompanyHasCreditNote=Ce client a <b>%s %s</b> d'avoirs disponibles
CompanyHasCreditNote=Ce client a <b>%s %s</b> d'avoirs ou accomptes disponibles
CompanyHasNoAbsoluteDiscount=Ce client n'a pas ou plus de remises fixes disponibles
CustomerAbsoluteDiscountAllUsers=Remises fixes en cours (accordées par tout utilisateur)
CustomerAbsoluteDiscountMy=Remises fixes en cours (accordées personnellement)

View File

@ -29,7 +29,7 @@ $langs->load("donations");
$sql = "SELECT ".$db->pdate("d.datedon")." as datedon, d.nom, d.prenom, d.amount, d.public, d.societe";
$sql .= " FROM ".MAIN_DB_PREFIX."don as d";
$sql .= " WHERE d.fk_don_projet = 1 AND d.fk_statut in (2, 3) ORDER BY d.datedon DESC";
$sql .= " WHERE d.fk_statut in (2, 3) ORDER BY d.datedon DESC";
if ( $db->query( $sql) )
{
@ -43,7 +43,7 @@ if ( $db->query( $sql) )
print '<TR>';
print "<td>".$langs->trans("Name")." / ".$langs->trans("Company")."</td>";
print "<td>Date</td>";
print "<td align=\"right\">Montant</TD>";
print "<td align=\"right\">".$langs->trans("Amount")."</TD>";
print "</TR>\n";
$var=True;

View File

@ -81,6 +81,7 @@ alter table llx_societe add price_level tinyint(4) NULL;
delete from llx_document_model where nom = 'huitre' and type = 'invoice';
drop table llx_don_projet;
-- V4.1 delete from llx_projet_task where fk_projet not in (select rowid from llx_projet);
-- V4.1 ALTER TABLE llx_projet_task ADD CONSTRAINT fk_projet_task_fk_projet FOREIGN KEY (fk_projet) REFERENCES llx_projet (rowid);

View File

@ -1,29 +0,0 @@
-- ===================================================================
-- Copyright (C) 2001-2002 Rodolphe Quiedeville <rodolphe@quiedeville.org>
--
-- 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$
-- ===================================================================
create table llx_don_projet
(
rowid integer AUTO_INCREMENT PRIMARY KEY,
tms timestamp,
datec datetime,
libelle varchar(255),
fk_user_author integer NOT NULL,
note text
)type=innodb;