Intgration du patch pour grer la rfrence du contrat (sur modle des commandes) plutot qu'une rfrence qui soit le rowid.
This commit is contained in:
parent
1c3426f7d2
commit
d4c78e9fe7
@ -418,7 +418,7 @@ if ($_socid > 0)
|
||||
|
||||
print '<table class="noborder" width="100%">';
|
||||
|
||||
$sql = "SELECT s.nom, s.idp, c.rowid as id, c.rowid as ref, c.statut, ".$db->pdate("c.datec")." as dc";
|
||||
$sql = "SELECT s.nom, s.idp, c.rowid as id, c.ref as ref, c.statut, ".$db->pdate("c.datec")." as dc";
|
||||
$sql .= " FROM ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."contrat as c";
|
||||
$sql .= " WHERE c.fk_soc = s.idp ";
|
||||
$sql .= " AND s.idp = $objsoc->id";
|
||||
@ -442,9 +442,10 @@ if ($_socid > 0)
|
||||
$objp = $db->fetch_object($resql);
|
||||
$var=!$var;
|
||||
print "<tr $bc[$var]>";
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/contrat/fiche.php?id='.$objp->id.'">'.img_object($langs->trans("ShowContract"),"contract").' '.$objp->ref."</a></td>\n";
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/contrat/fiche.php?id='.$objp->id.'">'.img_object($langs->trans("ShowContract"),"contract").' '
|
||||
.(!isset($objp->ref) ? $objp->id : $objp->ref) ."</a></td>\n";
|
||||
print '<td align="right" width="80">'.dolibarr_print_date($objp->dc)."</td>\n";
|
||||
print '<td width="120"> </td>';
|
||||
print '<td width="20"> </td>';
|
||||
print '<td align="center" width="100">'.$contratstatic->LibStatut($objp->statut)."</td>\n";
|
||||
print '</tr>';
|
||||
$i++;
|
||||
|
||||
@ -50,7 +50,6 @@ class Contrat
|
||||
var $date_creation;
|
||||
var $date_validation;
|
||||
var $date_cloture;
|
||||
|
||||
var $commercial_signature_id;
|
||||
var $commercial_suivi_id;
|
||||
|
||||
@ -225,7 +224,7 @@ class Contrat
|
||||
*/
|
||||
function fetch($id)
|
||||
{
|
||||
$sql = "SELECT rowid, statut, fk_soc, ".$this->db->pdate("mise_en_service")." as datemise,";
|
||||
$sql = "SELECT rowid, statut, ref, fk_soc, ".$this->db->pdate("mise_en_service")." as datemise,";
|
||||
$sql.= " fk_user_mise_en_service, ".$this->db->pdate("date_contrat")." as datecontrat,";
|
||||
$sql.= " fk_user_author,";
|
||||
$sql.= " fk_projet,";
|
||||
@ -241,7 +240,7 @@ class Contrat
|
||||
if ($result)
|
||||
{
|
||||
$this->id = $result["rowid"];
|
||||
$this->ref = $result["rowid"];
|
||||
$this->ref = (!isset($result["ref"])) ? $result["rowid"] : $result["ref"];
|
||||
$this->statut = $result["statut"];
|
||||
$this->factureid = $result["fk_facture"];
|
||||
$this->facturedetid = $result["fk_facturedet"];
|
||||
@ -422,11 +421,12 @@ class Contrat
|
||||
// Insère contrat
|
||||
$sql = "INSERT INTO ".MAIN_DB_PREFIX."contrat (datec, fk_soc, fk_user_author, date_contrat";
|
||||
// $sql.= ", fk_commercial_signature, fk_commercial_suivi";
|
||||
$sql.= ")";
|
||||
$sql.= " , ref)";
|
||||
$sql.= " VALUES (now(),".$this->soc_id.",".$user->id;
|
||||
$sql.= ",".$this->db->idate($this->date_contrat);
|
||||
// $sql.= ",".($this->commercial_signature_id>=0?$this->commercial_signature_id:"null");
|
||||
// $sql.= ",".($this->commercial_suivi_id>=0?$this->commercial_suivi_id:"null");
|
||||
$sql .= ", " . (strlen($this->ref)<=0 ? "null" : "'".$this->ref."'");
|
||||
$sql.= ")";
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
@ -811,7 +811,7 @@ class Contrat
|
||||
*/
|
||||
function info($id)
|
||||
{
|
||||
$sql = "SELECT c.rowid, ".$this->db->pdate("datec")." as datec, ".$this->db->pdate("date_cloture")." as date_cloture,";
|
||||
$sql = "SELECT c.rowid, c.ref, ".$this->db->pdate("datec")." as datec, ".$this->db->pdate("date_cloture")." as date_cloture,";
|
||||
$sql.= $this->db->pdate("c.tms")." as date_modification,";
|
||||
$sql.= " fk_user_author, fk_user_cloture";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."contrat as c";
|
||||
@ -837,7 +837,7 @@ class Contrat
|
||||
$cuser->fetch();
|
||||
$this->user_cloture = $cuser;
|
||||
}
|
||||
|
||||
$this->ref = $obj->ref;
|
||||
$this->date_creation = $obj->datec;
|
||||
$this->date_modification = $obj->date_modification;
|
||||
$this->date_cloture = $obj->date_cloture;
|
||||
@ -870,11 +870,11 @@ class Contrat
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num=$this->db->num_rows($result);
|
||||
$num=$this->db->num_rows($resql);
|
||||
$i=0;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $this->db->fetch_object($result);
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
$tab[$i]=$obj->rowid;
|
||||
$i++;
|
||||
}
|
||||
@ -957,7 +957,8 @@ class Contrat
|
||||
$sql.="SELECT rowid from ".MAIN_DB_PREFIX."c_type_contact";
|
||||
$sql.=" WHERE element='contrat' AND source='internal'";
|
||||
$sql.=" AND code='".$type_contact."'";
|
||||
if ( $this->db->query($sql) )
|
||||
$resql = $this->db->query($sql);
|
||||
if ( $resql )
|
||||
{
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
if ($obj) $type_contact=$obj->rowid;
|
||||
@ -1003,7 +1004,7 @@ class Contrat
|
||||
/**
|
||||
*
|
||||
* \brief Misea jour du contact associé au contrat
|
||||
* \param rowid La reference du lien contant contact.
|
||||
* \param rowid La reference du lien contrat-contact
|
||||
* \param statut Le nouveau statut
|
||||
* \param nature Description du contact
|
||||
* \return int <0 si erreur, >0 si ok
|
||||
@ -1123,7 +1124,7 @@ class Contrat
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$obj = $this->db->fetch_object($result);
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
return $obj;
|
||||
}
|
||||
else
|
||||
@ -1156,11 +1157,11 @@ class Contrat
|
||||
$resql=$this->db->query($sql);
|
||||
if ($resql)
|
||||
{
|
||||
$num=$this->db->num_rows($result);
|
||||
$num=$this->db->num_rows($resql);
|
||||
$i=0;
|
||||
while ($i < $num)
|
||||
{
|
||||
$obj = $this->db->fetch_object($result);
|
||||
$obj = $this->db->fetch_object($resql);
|
||||
|
||||
$transkey="TypeContact_".$element."_".$source."_".$obj->code;
|
||||
$libelle_type=($langs->trans($transkey)!=$transkey ? $langs->trans($transkey) : $obj->libelle);
|
||||
|
||||
@ -97,9 +97,10 @@ if ($_POST["action"] == 'add')
|
||||
$contrat->commercial_suivi_id = $_POST["commercial_suivi_id"];
|
||||
$contrat->commercial_signature_id = $_POST["commercial_signature_id"];
|
||||
|
||||
$contrat->note = $_POST["note"];
|
||||
$contrat->projetid = $_POST["projetid"];
|
||||
$contrat->remise_percent = $_POST["remise_percent"];
|
||||
$contrat->note = trim($_POST["note"]);
|
||||
$contrat->projetid = trim($_POST["projetid"]);
|
||||
$contrat->remise_percent = trim($_POST["remise_percent"]);
|
||||
$contrat->ref = trim($_POST["ref"]);
|
||||
|
||||
$result = $contrat->create($user,$langs,$conf);
|
||||
if ($result > 0)
|
||||
@ -278,10 +279,15 @@ if ($_GET["action"] == 'create')
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Ref
|
||||
print '<tr><td>'.$langs->trans("Ref").':</td>';
|
||||
print '<td><input type="text" maxlength="30" name="ref" size="20"></td></tr>';
|
||||
|
||||
// Customer
|
||||
print '<tr><td>'.$langs->trans("Customer").':</td><td><a href="'.DOL_URL_ROOT.'/comm/fiche.php?socid='.$soc->id.'">'.$obj->nom.'</a></td></tr>';
|
||||
|
||||
// Commercial suivi
|
||||
print '<tr><td width="20%" nowrap>'.$langs->trans("SalesRepresentativeFollowUp").'</td><td>';
|
||||
print '<tr><td width="20%" nowrap>'.$langs->trans("TypeContact_contrat_internal_SALESREPFOLL").'</td><td>';
|
||||
print '<select name="commercial_suivi_id">';
|
||||
print '<option value="-1"> </option>';
|
||||
|
||||
@ -307,7 +313,7 @@ if ($_GET["action"] == 'create')
|
||||
print '</select></td></tr>';
|
||||
|
||||
// Commercial signature
|
||||
print '<tr><td width="20%" nowrap>'.$langs->trans("SalesRepresentativeSignature").'</td><td>';
|
||||
print '<tr><td width="20%" nowrap>'.$langs->trans("TypeContact_contrat_internal_SALESREPSIGN").'</td><td>';
|
||||
print '<select name="commercial_signature_id">';
|
||||
print '<option value="-1"> </option>';
|
||||
$sql = "SELECT rowid, name, firstname FROM ".MAIN_DB_PREFIX."user";
|
||||
@ -508,7 +514,7 @@ else
|
||||
|
||||
print '<table class="border" width="100%">';
|
||||
|
||||
// Reference du contrat
|
||||
// Ref du contrat
|
||||
print '<tr><td width="25%">'.$langs->trans("Ref").'</td><td colspan="3">';
|
||||
print $contrat->ref;
|
||||
print "</td></tr>";
|
||||
|
||||
@ -98,7 +98,7 @@ $sql.= ' sum('.$db->ifsql("cd.statut=0",1,0).') as nb_initial,';
|
||||
$sql.= ' sum('.$db->ifsql("cd.statut=4 AND cd.date_fin_validite > sysdate()",1,0).') as nb_running,';
|
||||
$sql.= ' sum('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NULL OR cd.date_fin_validite <= sysdate())",1,0).') as nb_late,';
|
||||
$sql.= ' sum('.$db->ifsql("cd.statut=5",1,0).') as nb_closed,';
|
||||
$sql.= " c.rowid as cid, c.datec, c.statut, s.nom, s.idp as sidp";
|
||||
$sql.= " c.rowid as cid, c.ref, c.datec, c.statut, s.nom, s.idp as sidp";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."contrat as c, ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."contratdet as cd ON c.rowid = cd.fk_contrat";
|
||||
$sql.= " WHERE c.fk_soc = s.idp ";
|
||||
@ -133,7 +133,8 @@ if ($result)
|
||||
|
||||
print "<tr $bc[$var]>";
|
||||
print "<td><a href=\"fiche.php?id=$obj->cid\">";
|
||||
print img_object($langs->trans("ShowContract"),"contract").' '.$obj->cid.'</a>';
|
||||
print img_object($langs->trans("ShowContract"),"contract").' '
|
||||
. (isset($obj->ref) ? $obj->ref : $obj->cid).'</a>';
|
||||
if ($obj->nb_late) print img_warning($langs->trans("Late"));
|
||||
print '</td>';
|
||||
print '<td><a href="../comm/fiche.php?socid='.$obj->sidp.'">'.img_object($langs->trans("ShowCompany"),"company").' '.$obj->nom.'</a></td>';
|
||||
@ -159,7 +160,7 @@ print '<br>';
|
||||
|
||||
|
||||
// Not activated services
|
||||
$sql = "SELECT cd.rowid as cid, cd.statut, cd.label, cd.description as note, cd.fk_contrat, c.fk_soc, s.nom";
|
||||
$sql = "SELECT cd.rowid as cid, c.ref, cd.statut, cd.label, cd.description as note, cd.fk_contrat, c.fk_soc, s.nom";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."contratdet as cd, ".MAIN_DB_PREFIX."contrat as c, ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql.= " WHERE c.statut=1 AND cd.statut = 0";
|
||||
$sql.= " AND cd.fk_contrat = c.rowid AND c.fk_soc = s.idp";
|
||||
@ -183,7 +184,8 @@ if ( $db->query($sql) )
|
||||
$var=!$var;
|
||||
print "<tr $bc[$var]>";
|
||||
|
||||
print '<td width="50"><a href="'.DOL_URL_ROOT.'/contrat/fiche.php?id='.$obj->fk_contrat.'">'.img_object($langs->trans("ShowContract"),"contract").' '.$obj->fk_contrat.'</a></td>';
|
||||
print '<td width="50"><a href="'.DOL_URL_ROOT.'/contrat/fiche.php?id='.$obj->fk_contrat.'">'.img_object($langs->trans("ShowContract"),"contract").' '
|
||||
.(isset($obj->ref) ? $obj->ref : $obj->fk_contrat).'</a></td>';
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/contrat/fiche.php?id='.$obj->fk_contrat.'">'.img_object($langs->trans("ShowService"),"service");
|
||||
if ($obj->label) print ' '.dolibarr_trunc($obj->label,20).'</a></td>';
|
||||
else print '</a> '.dolibarr_trunc($obj->note,20).'</td>';
|
||||
@ -207,7 +209,7 @@ print '<br>';
|
||||
// Last modified services
|
||||
$max=5;
|
||||
|
||||
$sql = "SELECT cd.rowid as cid, cd.statut, cd.label, cd.description as note, cd.fk_contrat, c.fk_soc, s.nom";
|
||||
$sql = "SELECT cd.rowid as cid, c.ref, cd.statut, cd.label, cd.description as note, cd.fk_contrat, c.fk_soc, s.nom";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."contratdet as cd, ".MAIN_DB_PREFIX."contrat as c, ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql.= " WHERE cd.fk_contrat = c.rowid AND c.fk_soc = s.idp";
|
||||
if ($socidp > 0) $sql.= " AND s.idp = ".$socidp;
|
||||
@ -229,8 +231,9 @@ if ( $db->query($sql) )
|
||||
$obj = $db->fetch_object();
|
||||
$var=!$var;
|
||||
print "<tr $bc[$var]>";
|
||||
|
||||
print '<td width="50" nowrap><a href="'.DOL_URL_ROOT.'/contrat/fiche.php?id='.$obj->fk_contrat.'">'.img_object($langs->trans("ShowContract"),"contract").' '.$obj->fk_contrat.'</a>';
|
||||
// width="50" nowrap
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/contrat/fiche.php?id='.$obj->fk_contrat.'">'.img_object($langs->trans("ShowContract"),"contract").' '
|
||||
.(isset($obj->ref) ? $obj->ref : $obj->fk_contrat).'</a>';
|
||||
if ($obj->nb_late) print img_warning($langs->trans("Late"));
|
||||
print '</td>';
|
||||
print '<td><a href="'.DOL_URL_ROOT.'/contrat/fiche.php?id='.$obj->fk_contrat.'">'.img_object($langs->trans("ShowService"),"service");
|
||||
|
||||
@ -67,7 +67,7 @@ $sql.= ' sum('.$db->ifsql("cd.statut=0",1,0).') as nb_initial,';
|
||||
$sql.= ' sum('.$db->ifsql("cd.statut=4 AND cd.date_fin_validite > sysdate()",1,0).') as nb_running,';
|
||||
$sql.= ' sum('.$db->ifsql("cd.statut=4 AND (cd.date_fin_validite IS NULL OR cd.date_fin_validite <= sysdate())",1,0).') as nb_late,';
|
||||
$sql.= ' sum('.$db->ifsql("cd.statut=5",1,0).') as nb_closed,';
|
||||
$sql.= " c.rowid as cid, c.datec, c.statut, s.nom, s.idp as sidp";
|
||||
$sql.= " c.rowid as cid, c.ref, c.datec, c.statut, s.nom, s.idp as sidp";
|
||||
$sql.= " FROM ".MAIN_DB_PREFIX."contrat as c, ".MAIN_DB_PREFIX."societe as s";
|
||||
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."contratdet as cd ON c.rowid = cd.fk_contrat";
|
||||
$sql.= " WHERE c.fk_soc = s.idp ";
|
||||
@ -125,7 +125,8 @@ if ($resql)
|
||||
$var=!$var;
|
||||
print "<tr $bc[$var]>";
|
||||
print "<td nowrap><a href=\"fiche.php?id=$obj->cid\">";
|
||||
print img_object($langs->trans("ShowContract"),"contract").' '.$obj->cid.'</a>';
|
||||
print img_object($langs->trans("ShowContract"),"contract").' '
|
||||
. (isset($obj->ref) ? $obj->ref : $obj->cid) .'</a>';
|
||||
if ($obj->nb_late) print img_warning($langs->trans("Late"));
|
||||
print '</td>';
|
||||
print '<td><a href="../comm/fiche.php?socid='.$obj->sidp.'">'.img_object($langs->trans("ShowCompany"),"company").' '.$obj->nom.'</a></td>';
|
||||
|
||||
@ -370,6 +370,8 @@ alter table llx_contrat add fk_projet integer after fk_soc;
|
||||
alter table llx_contrat add fk_commercial_signature integer NOT NULL after fk_projet;
|
||||
alter table llx_contrat add fk_commercial_suivi integer NOT NULL after fk_commercial_signature;
|
||||
alter table llx_contrat add facture smallint(6) default 0;
|
||||
alter table llx_contrat add ref varchar(30) after rowid;
|
||||
|
||||
|
||||
alter table llx_facturedet add date_start date;
|
||||
alter table llx_facturedet add date_end date;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
-- ============================================================================
|
||||
-- Copyright (C) 2002-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||
-- Copyright (C) 2004 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
-- Copyright (C) 2004-2005 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||
--
|
||||
-- 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
|
||||
@ -24,18 +24,18 @@
|
||||
create table llx_contrat
|
||||
(
|
||||
rowid integer AUTO_INCREMENT PRIMARY KEY,
|
||||
ref varchar(30), -- reference de contrat
|
||||
tms timestamp,
|
||||
datec datetime, -- date de creation de l'enregistrement
|
||||
date_contrat datetime,
|
||||
statut smallint DEFAULT 0,
|
||||
|
||||
mise_en_service datetime,
|
||||
fin_validite datetime,
|
||||
date_cloture datetime,
|
||||
fk_soc integer NOT NULL,
|
||||
fk_projet integer,
|
||||
fk_commercial_signature integer NOT NULL,
|
||||
fk_commercial_suivi integer NOT NULL,
|
||||
fk_commercial_signature integer NOT NULL, -- obsolete
|
||||
fk_commercial_suivi integer NOT NULL, -- obsolete
|
||||
fk_user_author integer NOT NULL default 0,
|
||||
fk_user_mise_en_service integer,
|
||||
fk_user_cloture integer
|
||||
|
||||
Loading…
Reference in New Issue
Block a user