Fix: Erreur si champ commercial nul est remonte.

This commit is contained in:
Laurent Destailleur 2005-08-20 18:04:15 +00:00
parent 5c5058b586
commit 1267e3dbd9
2 changed files with 29 additions and 62 deletions

View File

@ -76,61 +76,7 @@ class Contrat
$this->statuts[1]=$langs->trans("Validated");
$this->statuts[2]=$langs->trans("Closed");
}
/**
* \brief Modifie date de mise en service d'un contrat
* Si la duree est renseignée, date_start=date_start et date_end=date_start+duree
* sinon date_start=date_start et date_end=date_end
*/
/*
function mise_en_service($user, $date_start, $duree=0, $date_end)
{
if ($duree) {
// Si duree renseignee
$duree_value = substr($duree,0,strlen($duree)-1);
$duree_unit = substr($duree,-1);
$month = date("m",$date_start);
$day = date("d",$date_start);
$year = date("Y",$date_start);
switch($duree_unit)
{
case "d":
$day = $day + $duree_value;
break;
case "w":
$day = $day + ($duree_value * 7);
break;
case "m":
$month = $month + $duree_value;
break;
case "y":
$year = $year + $duree_value;
break;
}
$date_end = mktime(date("H",$date_start), date("i",$date_start), 0, $month, $day, $year);
}
$sql = "UPDATE ".MAIN_DB_PREFIX."contrat SET statut = 1";
$sql .= " , mise_en_service = ".$this->db->idate($date_start).", fk_user_mise_en_service = ".$user->id;
$sql .= " , fin_validite = ". $this->db->idate($date_end);
$sql .= " WHERE rowid = ".$this->id . " AND statut = 0";
$result = $this->db->query($sql) ;
if ($result)
{
return 1;
}
else
{
$this->error=$this->db->error();
return -1;
}
}
*/
/**
* \brief Active une ligne detail d'un contrat
* \param user Objet User qui avtice le contrat
@ -332,6 +278,26 @@ class Contrat
*/
function create($user,$lang='',$conf='')
{
global $langs;
// Controle validité des paramètres
$paramsok=1;
if ($this->commercial_signature_id <= 0)
{
$langs->load("commercial");
$this->error.=$langs->trans("ErrorFieldRequired",$langs->trans("SalesRepresentativeSignature"));
$paramsok=0;
}
if ($this->commercial_suivi_id <= 0)
{
$langs->load("commercial");
$this->error.=($this->error?"<br>":'');
$this->error.=$langs->trans("ErrorFieldRequired",$langs->trans("SalesRepresentativeFollowUp"));
$paramsok=0;
}
if (! $paramsok) return -1;
// Insère contrat
$sql = "INSERT INTO ".MAIN_DB_PREFIX."contrat (datec, fk_soc, fk_user_author, fk_commercial_signature, fk_commercial_suivi, date_contrat)";
$sql.= " VALUES (now(),".$this->soc_id.",".$user->id;
$sql.= ",".($this->commercial_signature_id>=0?$this->commercial_signature_id:"null");

View File

@ -90,8 +90,8 @@ if ($_POST["action"] == 'add')
$mesg='<div class="error">'.$contrat->error.'</div>';
}
$_GET["id"] = $contrat->id;
$_GET["socid"]=$_POST["soc_id"];
$_GET["action"]='create';
$action = '';
}
@ -646,6 +646,7 @@ else
}
if ($contrat->statut == 0 && $user->rights->contrat->creer)
{
print '&nbsp;';
print '<a href="fiche.php?id='.$id.'&amp;action=deleteline&amp;lineid='.$objp->rowid.'">';
print img_delete();
print '</a>';
@ -717,7 +718,7 @@ else
print '<textarea name="eldesc" cols="60" rows="1">'.$objp->description.'</textarea></td>';
print '<td align="right"><input size="6" type="text" name="elprice" value="'.price($objp->subprice).'"></td>';
print '<td align="center"><input size="3" type="text" name="elqty" value="'.$objp->qty.'"></td>';
print '<td align="right"><input size="2" type="text" name="elremise_percent" value="'.$objp->remise_percent.'">%</td>';
print '<td align="right"><input size="1" type="text" name="elremise_percent" value="'.$objp->remise_percent.'">%</td>';
print '<td align="center" colspan="3"><input type="submit" class="button" value="'.$langs->trans("Save").'"></td>';
// Ligne dates prévues
print "<tr $bc[$var]>";
@ -753,7 +754,7 @@ else
print '<td align="right">'.$langs->trans("PriceUHT").'</td>';
print '<td align="center">'.$langs->trans("Qty").'</td>';
print '<td align="right">'.$langs->trans("Discount").'</td>';
print '<td>&nbsp;</td><td>&nbsp;</td>';
print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>';
print "</tr>\n";
@ -770,7 +771,7 @@ else
print '</td>';
print '<td align="center"><input type="text" class="flat" size="2" name="pqty" value="1"></td>';
print '<td align="right" nowrap><input type="text" class="flat" size="2" name="premise" value="0">%</td>';
print '<td align="right" nowrap><input type="text" class="flat" size="1" name="premise" value="0">%</td>';
print '<td align="center" colspan="3" rowspan="2"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print "<tr $bc[$var]>";
@ -801,8 +802,8 @@ else
print '</td>';
print '<td align="right"><input type="text" class="flat" size="4" name="pu" value=""></td>';
print '<td align="center"><input type="text" class="flat" size="2" name="pqty" value="1"></td>';
print '<td align="right" nowrap><input type="text" class="flat" size="2" name="premise" value="0">%</td>';
print '<td align="center" colspan="3" rowspan="2"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print '<td align="right" nowrap><input type="text" class="flat" size="1" name="premise" value="0">%</td>';
print '<td align="center" colspan="2" rowspan="2"><input type="submit" class="button" value="'.$langs->trans("Add").'"></td>';
print "</tr>\n";