Trad: Traduction de la fiche contrat et page index contrat

New: Ajout de la référence facture dans le lien facture au lieu du simple texte "Facture".
New: Ajout du statut de la facture si contrat lié à une facture.
Doc: Documentation doxygen
This commit is contained in:
Laurent Destailleur 2004-09-26 23:02:40 +00:00
parent a528336bff
commit cb7e19dfbe
3 changed files with 253 additions and 208 deletions

View File

@ -21,16 +21,27 @@
* *
*/ */
/*!
\file htdocs/contrat/contrat.class.php
\ingroup contrat
\brief Fichier de la classe des contrats
\version $Revision$
*/
/*! \class Contrat
\brief Classe permettant la gestion des contrats
*/
class Contrat class Contrat
{ {
var $id; var $id;
var $db; var $db;
/* /**
* Initialisation * \brief Constructeur de la classe
* * \param DB handler accès base de données
*/ */
function Contrat($DB) function Contrat($DB)
{ {
$this->db = $DB ; $this->db = $DB ;
@ -82,9 +93,10 @@ class Contrat
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
if (!$result) if (!$result)
{ {
print $this->db->error() . "<br>" . $sql; dolibarr_print_error($this->db);
} }
} }
/* /*
* *
* *
@ -97,6 +109,7 @@ class Contrat
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
} }
/* /*
* *
* *
@ -109,6 +122,7 @@ class Contrat
$result = $this->db->query($sql) ; $result = $this->db->query($sql) ;
} }
/* /*
* *
* *
@ -146,11 +160,12 @@ class Contrat
} }
else else
{ {
print $this->db->error(); dolibarr_print_error($this->db);
} }
return $result; return $result;
} }
/* /*
* Crée autant de contrats que de lignes de facture, pour une facture donnée * Crée autant de contrats que de lignes de facture, pour une facture donnée
* *
@ -185,7 +200,7 @@ class Contrat
if (! $this->db->query($sql)) if (! $this->db->query($sql))
{ {
dolibarr_syslog("Contrat::create_from_facture - 10"); dolibarr_syslog("Contrat::create_from_facture - 10");
print "Erreur : ".$this->db->error()."<br>".$sql; dolibarr_print_error($this->db,"Contrat::create_from_facture - 10");
} }
} }
} }
@ -197,15 +212,12 @@ class Contrat
else else
{ {
dolibarr_syslog("Contrat::create_from_facture - 20"); dolibarr_syslog("Contrat::create_from_facture - 20");
print $this->db->error(); dolibarr_print_error($this->db,"Contrat::create_from_facture - 20");
} }
return $result; return $result;
} }
/*
*
*
*/
} }
?> ?>

View File

@ -21,10 +21,21 @@
* *
*/ */
/*!
\file htdocs/contrat/fiche.php
\ingroup contrat
\brief Fiche d'un contrat
\version $Revision$
*/
require("./pre.inc.php"); require("./pre.inc.php");
require("./contrat.class.php"); require("./contrat.class.php");
require("../facture.class.php"); require("../facture.class.php");
$langs->load("products");
$langs->load("companies");
$langs->load("bills");
llxHeader(); llxHeader();
$id = $_GET["id"]; $id = $_GET["id"];
@ -81,7 +92,7 @@ $html = new Form($db);
/* /*
* Fiche visu/édition * Fiche contract en mode visu/édition
* *
*/ */
if ($id) if ($id)
@ -103,24 +114,28 @@ if ($id)
$hselected=$h; $hselected=$h;
$head[$h][0] = DOL_URL_ROOT.'/contrat/fiche.php?id='.$id; $head[$h][0] = DOL_URL_ROOT.'/contrat/fiche.php?id='.$id;
$head[$h][1] = 'Fiche contrat : '.$contrat->id; $head[$h][1] = $langs->trans("CardContract").' : '.$contrat->id;
$h++; $h++;
dolibarr_fiche_head($head, $hselected); dolibarr_fiche_head($head, $hselected);
print '<table class="border" width="100%" cellspacing="0" cellpadding="3">'; print '<table class="border" width="100%">';
print "<tr>"; print "<tr>";
print '<td width="20%">Service</td><td colspan="3">'.($contrat->product->ref).' - '.($contrat->product->label_url).'</td>'; print '<td width="20%">'.$langs->trans("Service").'</td><td colspan="3">'.($contrat->product->ref).' - '.($contrat->product->label_url).'</td>';
print '</tr><tr>'; print '</tr>';
if ($contrat->factureid) if ($contrat->factureid)
{ {
print '<td>Société</td><td>'.$contrat->societe->nom_url.'</td>'; print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">'.$contrat->societe->nom_url.'</td></tr>';
print '<td>Facture</td><td><a href="../compta/facture.php?facid='.$contrat->factureid.'">Facture</td>';
$facture=new Facture($db);
$facture->fetch($contrat->factureid);
print '<tr><td>'.$langs->trans("Bill").'</td><td><a href="../compta/facture.php?facid='.$contrat->factureid.'">'.$facture->ref.'</td>';
print '<td>'.$langs->trans("BillStatus").'</td><td>'.$facture->get_libStatut().'</td></tr>';
} }
else else
{ {
print '<td>Société</td><td colspan="3">'.$contrat->societe->nom_url.'</td></tr>'; print '<tr><td>'.$langs->trans("Company").'</td><td colspan="3">'.$contrat->societe->nom_url.'</td></tr>';
} }
// Affiche statut contrat // Affiche statut contrat
@ -128,25 +143,25 @@ if ($id)
if ($contrat->enservice == 1) if ($contrat->enservice == 1)
{ {
if (! $contrat->date_fin_validite || $contrat->date_fin_validite >= $now) { if (! $contrat->date_fin_validite || $contrat->date_fin_validite >= $now) {
$class = "normal"; $class = 'normal';
$statut="En service"; $statut=$langs->trans("ContractStatusRunning");
} }
else { else {
$class = "error"; $class = 'error';
$statut="<b>En service, expiré</b>"; $statut= $langs->trans("ContractStatusRunning").', '.img_warning().' '.$langs->trans("ContractStatusExpired");
} }
} }
elseif($contrat->enservice == 2) elseif($contrat->enservice == 2)
{ {
$class = "normal"; $class = 'normal';
$statut= "Cloturé"; $statut= $langs->trans("ContractStatusClosed");
} }
else else
{ {
$class = "warning"; $class = 'warning';
$statut= "<b>Ce contrat n'est pas en service</b>"; $statut= '<b>'.$langs->trans("ContractNotRunning").'</b>';
} }
print "<tr><td>".$langs->trans("Status")."</td><td colspan=\"3\" class=\"$class\">$statut</td></tr>\n"; print "<tr><td>".$langs->trans("ContractStatus")."</td><td colspan=\"3\" class=\"$class\">$statut</td></tr>\n";
if ($_GET["request"] == 'miseenservice') if ($_GET["request"] == 'miseenservice')
{ {
@ -223,16 +238,16 @@ if ($id)
print "<tr><td valign=\"top\">Mis en service</td><td>".dolibarr_print_date($contrat->mise_en_service,"%d %B %Y à %H:%M"); print "<tr><td valign=\"top\">Mis en service</td><td>".dolibarr_print_date($contrat->mise_en_service,"%d %B %Y à %H:%M");
print "</td>"; print "</td>";
$contrat->user_service->fetch(); $contrat->user_service->fetch();
print '<td>par</td><td>'.$contrat->user_service->fullname.'</td></tr>'; print '<td>'.$langs->trans("By").'</td><td>'.$contrat->user_service->fullname.'</td></tr>';
print '<tr><td valign="top">Fin de validité</td><td colspan="3">'.dolibarr_print_date($contrat->date_fin_validite,"%d %B %Y à %H:%M"); print '<tr><td valign="top">Fin de validité</td><td colspan="3">'.dolibarr_print_date($contrat->date_fin_validite,"%d %B %Y à %H:%M");
} }
if ($contrat->enservice == 2) if ($contrat->enservice == 2)
{ {
print "<tr><td valign=\"top\">Cloturé</td><td>".dolibarr_print_date($contrat->date_cloture,"%d %B %Y à %H:%M")."</td>"; print '<tr><td valign="top">'.$langs->trans("Closed").'</td><td>'.dolibarr_print_date($contrat->date_cloture,"%d %B %Y à %H:%M").'</td>';
$contrat->user_cloture->fetch(); $contrat->user_cloture->fetch();
print '<td>par</td><td>'.$contrat->user_cloture->fullname.'</td></tr>'; print '<td>'.$langs->trans("By").'</td><td>'.$contrat->user_cloture->fullname.'</td></tr>';
} }
@ -244,7 +259,8 @@ if ($id)
} }
else else
{ {
print "Error"; dolibarr_print_error(0,"Contract id not provided");
return;
} }
@ -268,7 +284,7 @@ if (! $contrat->enservice)
elseif ($contrat->enservice == 1) elseif ($contrat->enservice == 1)
{ {
print '<a class="tabAction" href="fiche.php?action=annule&id='.$id.'">Mettre hors service</a>'; print '<a class="tabAction" href="fiche.php?action=annule&id='.$id.'">Mettre hors service</a>';
print '<a class="tabAction" href="fiche.php?action=cloture&id='.$id.'">Clôturer</a>'; print '<a class="tabAction" href="fiche.php?action=cloture&id='.$id.'">'.$langs->trans("Close").'</a>';
} }
print '</div>'; print '</div>';

View File

@ -20,8 +20,19 @@
* $Source$ * $Source$
* *
*/ */
/*!
\file htdocs/contrat/contrat.class.php
\ingroup contrat
\brief Fichier de la classe des contrats
\version $Revision$
*/
require("./pre.inc.php"); require("./pre.inc.php");
$langs->load("products");
llxHeader(); llxHeader();
$sortorder=$_GET["sortorder"]; $sortorder=$_GET["sortorder"];
@ -75,20 +86,22 @@ if ( $db->query($sql) )
print_barre_liste("Liste des contrats", $page, "index.php", "&sref=$sref&snom=$snom", $sortfield, $sortorder,'',$num); print_barre_liste("Liste des contrats", $page, "index.php", "&sref=$sref&snom=$snom", $sortfield, $sortorder,'',$num);
print '<table class="noborder" width="100%" cellspacing="0" cellpadding="3">'; print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">'; print '<tr class="liste_titre">';
print '<td>'; print '<td>';
print_liste_field_titre("Numéro","index.php", "c.rowid"); print_liste_field_titre($langs->trans("Ref"),"index.php", "c.rowid");
print "</td><td>"; print "</td><td>";
print_liste_field_titre($langs->trans("Label"),"index.php", "p.label"); print_liste_field_titre($langs->trans("Label"),"index.php", "p.label");
print "</td><td>"; print "</td><td>";
print_liste_field_titre("Société","index.php", "s.nom"); print_liste_field_titre($langs->trans("Company"),"index.php", "s.nom");
print '</td><td align="center">'; print '</td><td align="center">';
print_liste_field_titre($langs->trans("Status"),"index.php", "c.enservice"); print_liste_field_titre($langs->trans("Status"),"index.php", "c.enservice");
print '</td>'; print '</td>';
print '</td><td align="center">'; print '</td><td align="center">';
print_liste_field_titre("Date Fin","index.php", "c.fin_validite"); print_liste_field_titre("Date Fin","index.php", "c.fin_validite");
print '</td><td align="center">';
print_liste_field_titre($langs->trans("Action"),"index.php", "c.next");
print '</td>'; print '</td>';
print "</tr>\n"; print "</tr>\n";
@ -109,23 +122,23 @@ if ( $db->query($sql) )
if ($obj->enservice == 1) if ($obj->enservice == 1)
{ {
if (! $obj->fin_validite || $obj->fin_validite >= $now) { if (! $obj->fin_validite || $obj->fin_validite >= $now) {
$class = "normal"; $class = 'normal';
$statut="En service"; $statut= $langs->trans("ContractStatusRunning");
} }
else { else {
$class = "error"; $class = 'error';
$statut="<b>En service</b>, ".img_warning()." expiré"; $statut= $langs->trans("ContractStatusRunning").', '.img_warning().' '.$langs->trans("ContractStatusExpired");
} }
} }
elseif($obj->enservice == 2) elseif($obj->enservice == 2)
{ {
$class = "normal"; $class = "normal";
$statut= "Cloturé"; $statut= $langs->trans("Closed");
} }
else else
{ {
$class = "warning"; $class = "warning";
$statut= "A mettre en service"; $statut= $langs->trans("ContractStatusToRun");
} }
print "<td align=\"center\" class=\"$class\">"; print "<td align=\"center\" class=\"$class\">";
print "$statut"; print "$statut";
@ -140,6 +153,10 @@ if ( $db->query($sql) )
} }
print "</td>\n"; print "</td>\n";
print '<td>';
// \todo Créer action "Renouveler"
print '</td>';
print "</tr>\n"; print "</tr>\n";
$i++; $i++;
} }
@ -150,7 +167,7 @@ if ( $db->query($sql) )
} }
else else
{ {
print $db->error() . "<br>" .$sql; dolibarr_print_error($db);
} }