diff --git a/ChangeLog b/ChangeLog index 3c057697bac0bdfe5c88c6373663fa8d3a463f8c..2e1556ae3e6208bd85c9d80c87cdaca94b2624cb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -65,6 +65,7 @@ For users: - New: Add hidden option MAIN_FORCE_DEFAULT_STATE_ID. - New: Add page to make mass stock movement. - New: Add field oustanding limit into thirdparty properties. +- New: Can enter a vat payment of zero. For translators: - Qual: Normalized sort order of all languages files with english reference files. diff --git a/htdocs/compta/tva/class/tva.class.php b/htdocs/compta/tva/class/tva.class.php index 34dc0262c2e785c029816afbef13f8f95411620e..8ddfad8c3f195f8c9a76d22eb5dbab801b5343cf 100644 --- a/htdocs/compta/tva/class/tva.class.php +++ b/htdocs/compta/tva/class/tva.class.php @@ -27,10 +27,8 @@ require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php'; /** - \class Tva - \brief Put here description of your class - \remarks Initialy built by build_class_from_table on 2008-04-03 21:01 -*/ + * Put here description of your class + */ class Tva extends CommonObject { //public $element='tva'; //!< Id that identify managed objects @@ -51,7 +49,6 @@ class Tva extends CommonObject - /** * Constructor * @@ -115,7 +112,7 @@ class Tva extends CommonObject $sql.= ")"; - dol_syslog("Tva::create sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { @@ -133,16 +130,17 @@ class Tva extends CommonObject else { $this->error="Error ".$this->db->lasterror(); - dol_syslog("Tva::create ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::create ".$this->error, LOG_ERR); return -1; } } - /* - * \brief Update database - * \param user User that modify - * \param notrigger 0=no, 1=yes (no update trigger) - * \return int <0 if KO, >0 if OK + /** + * Update database + * + * @param User $user User that modify + * @param int $notrigger 0=no, 1=yes (no update trigger) + * @return int <0 if KO, >0 if OK */ function update($user=0, $notrigger=0) { @@ -177,12 +175,12 @@ class Tva extends CommonObject $sql.= " WHERE rowid=".$this->id; - dol_syslog("Tva::update sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::update sql=".$sql, LOG_DEBUG); $resql = $this->db->query($sql); if (! $resql) { $this->error="Error ".$this->db->lasterror(); - dol_syslog("Tva::update ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::update ".$this->error, LOG_ERR); return -1; } @@ -200,11 +198,12 @@ class Tva extends CommonObject } - /* - * \brief Load object in memory from database - * \param id id object - * \param user User that load - * \return int <0 if KO, >0 if OK + /** + * Load object in memory from database + * + * @param int $id id object + * @param User $user User that load + * @return int <0 if KO, >0 if OK */ function fetch($id, $user=0) { @@ -229,7 +228,7 @@ class Tva extends CommonObject $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON t.fk_bank = b.rowid"; $sql.= " WHERE t.rowid = ".$id; - dol_syslog("Tva::fetch sql=".$sql, LOG_DEBUG); + dol_syslog(get_class($this)."::fetch sql=".$sql, LOG_DEBUG); $resql=$this->db->query($sql); if ($resql) { @@ -259,17 +258,18 @@ class Tva extends CommonObject else { $this->error="Error ".$this->db->lasterror(); - dol_syslog("Tva::fetch ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::fetch ".$this->error, LOG_ERR); return -1; } } - /* - * \brief Delete object in database - * \param user User that delete - * \return int <0 if KO, >0 if OK - */ + /** + * Delete object in database + * + * @param User $user User that delete + * @return int <0 if KO, >0 if OK + */ function delete($user) { global $conf, $langs; @@ -279,12 +279,12 @@ class Tva extends CommonObject $sql = "DELETE FROM ".MAIN_DB_PREFIX."tva"; $sql.= " WHERE rowid=".$this->id; - dol_syslog("Tva::delete sql=".$sql); + dol_syslog(get_class($this)."::delete sql=".$sql); $resql = $this->db->query($sql); if (! $resql) { $this->error="Error ".$this->db->lasterror(); - dol_syslog("Tva::delete ".$this->error, LOG_ERR); + dol_syslog(get_class($this)."::delete ".$this->error, LOG_ERR); return -1; } @@ -322,9 +322,11 @@ class Tva extends CommonObject } - /* - * \brief Hum la fonction s'appelle 'Solde' elle doit a mon avis calcluer le solde de TVA, non ? - * + /** + * Hum la fonction s'appelle 'Solde' elle doit a mon avis calcluer le solde de TVA, non ? + * + * @param int $year Year + * @return double Amount */ function solde($year = 0) { @@ -339,11 +341,12 @@ class Tva extends CommonObject return $solde; } - /* - * \brief Total de la TVA des factures emises par la societe. - * + /** + * Total de la TVA des factures emises par la societe. + * + * @param int $year Year + * @return double Amount */ - function tva_sum_collectee($year = 0) { @@ -352,7 +355,7 @@ class Tva extends CommonObject if ($year) { - $sql .= " AND f.datef >= '$year-01-01' AND f.datef <= '$year-12-31' "; + $sql .= " AND f.datef >= '".$year."-01-01' AND f.datef <= '".$year."-12-31' "; } $result = $this->db->query($sql); @@ -379,11 +382,12 @@ class Tva extends CommonObject } } - /* - * \brief Tva pay�e + /** + * VAT payed * + * @param int $year Year + * @return double Amount */ - function tva_sum_payee($year = 0) { @@ -392,7 +396,7 @@ class Tva extends CommonObject if ($year) { - $sql .= " WHERE f.datef >= '$year-01-01' AND f.datef <= '$year-12-31' "; + $sql .= " WHERE f.datef >= '".$year."-01-01' AND f.datef <= '".$year."-12-31' "; } $result = $this->db->query($sql); @@ -419,12 +423,12 @@ class Tva extends CommonObject } - /* - * \brief Tva r�gl�e - * Total de la TVA r�glee aupres de qui de droit + /** + * Total de la TVA reglee aupres de qui de droit * + * @param int $year Year + * @return double Amount */ - function tva_sum_reglee($year = 0) { @@ -433,7 +437,7 @@ class Tva extends CommonObject if ($year) { - $sql .= " WHERE f.datev >= '$year-01-01' AND f.datev <= '$year-12-31' "; + $sql .= " WHERE f.datev >= '".$year."-01-01' AND f.datev <= '".$year."-12-31' "; } $result = $this->db->query($sql); @@ -473,14 +477,16 @@ class Tva extends CommonObject $this->db->begin(); + // Clean parameters + $this->amount=price2num(trim($this->amount)); + // Check parameters - $this->amount=price2num($this->amount); if (! $this->label) { $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Label")); return -3; } - if ($this->amount <= 0) + if ($this->amount < 0 || $this->amount == '') { $this->error=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Amount")); return -4; @@ -509,7 +515,7 @@ class Tva extends CommonObject $sql.=", '".$user->id."', NULL, ".$conf->entity; $sql.= ")"; - dol_syslog("Tva::addPayment sql=".$sql); + dol_syslog(get_class($this)."::addPayment sql=".$sql); $result = $this->db->query($sql); if ($result) { @@ -525,7 +531,7 @@ class Tva extends CommonObject if ($this->id > 0) { $ok=1; - if (! empty($conf->banque->enabled)) + if (! empty($conf->banque->enabled) && ! empty($this->amount)) { // Insertion dans llx_bank require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; @@ -536,7 +542,7 @@ class Tva extends CommonObject $bank_line_id = $acc->addline($this->datep, $this->paymenttype, $this->label, -abs($this->amount), '', '', $user); - // Mise a jour fk_bank dans llx_tva. On connait ainsi la ligne de tva qui a g�n�r� l'�criture bancaire + // Update fk_bank into llx_tva. So we know vat line used to generate bank transaction if ($bank_line_id > 0) { $this->update_fk_bank($bank_line_id); @@ -547,7 +553,7 @@ class Tva extends CommonObject $ok=0; } - // Mise a jour liens + // Update links $result=$acc->add_url_line($bank_line_id, $this->id, DOL_URL_ROOT.'/compta/tva/fiche.php?id=', "(VATPayment)", "payment_vat"); if ($result < 0) { diff --git a/htdocs/compta/tva/fiche.php b/htdocs/compta/tva/fiche.php index f36fd0be5a57c03d87dd09e2840d7147ce1c7f82..cab62777291098dd79cf831808cb4d0e2695baca 100644 --- a/htdocs/compta/tva/fiche.php +++ b/htdocs/compta/tva/fiche.php @@ -34,8 +34,6 @@ $langs->load("bills"); $id=GETPOST("id"); $action=GETPOST('action'); -$mesg = ''; - // Security check $socid = isset($_GET["socid"])?$_GET["socid"]:''; if ($user->societe_id) $socid=$user->societe_id; @@ -82,7 +80,7 @@ if ($action == 'add' && $_POST["cancel"] <> $langs->trans("Cancel")) else { $db->rollback(); - $mesg='<div class="error">'.$tva->error.'</div>'; + setEventMessage($tva->error, 'errors'); $action="create"; } } @@ -115,18 +113,18 @@ if ($action == 'delete') { $tva->error=$accountline->error; $db->rollback(); - $mesg='<div class="error">'.$tva->error.'</div>'; + setEventMessage($tva->error,'errors'); } } else { $db->rollback(); - $mesg='<div class="error">'.$tva->error.'</div>'; + setEventMessage($tva->error,'errors'); } } else { - $mesg='<div class="error">Error try do delete a line linked to a conciliated bank transaction</div>'; + setEventMessage('Error try do delete a line linked to a conciliated bank transaction','errors'); } } @@ -159,8 +157,6 @@ if ($action == 'create') print_fiche_titre($langs->trans("NewVATPayment")); - if ($mesg) print $mesg; - print '<table class="border" width="100%">'; print "<tr>"; @@ -213,8 +209,6 @@ if ($action == 'create') if ($id) { - if ($mesg) print $mesg; - $h = 0; $head[$h][0] = DOL_URL_ROOT.'/compta/tva/fiche.php?id='.$vatpayment->id; $head[$h][1] = $langs->trans('Card'); @@ -274,9 +268,20 @@ if ($id) */ print "<div class=\"tabsAction\">\n"; if ($vatpayment->rappro == 0) - print '<a class="butActionDelete" href="fiche.php?id='.$vatpayment->id.'&action=delete">'.$langs->trans("Delete").'</a>'; + { + if (! empty($user->rights->tax->charges->supprimer)) + { + print '<a class="butActionDelete" href="fiche.php?id='.$vatpayment->id.'&action=delete">'.$langs->trans("Delete").'</a>'; + } + else + { + print '<a class="butActionRefused" href="#" title="'.(dol_escape_htmltag($langs->trans("NotAllowed"))).'">'.$langs->trans("Delete").'</a>'; + } + } else + { print '<a class="butActionRefused" href="#" title="'.$langs->trans("LinkedToAConcialitedTransaction").'">'.$langs->trans("Delete").'</a>'; + } print "</div>"; }