Use ref instead of rowid for expense report

This commit is contained in:
aspangaro 2015-06-29 06:41:24 +02:00
parent cd282568e8
commit cff82a5226
3 changed files with 40 additions and 12 deletions

View File

@ -231,11 +231,13 @@ if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire
while ($i < $num && $i < $max) while ($i < $num && $i < $max)
{ {
$obj = $db->fetch_object($result); $obj = $db->fetch_object($result);
$expensereportstatic->id=$obj->rowid;
$expensereportstatic->ref=$obj->ref;
$userstatic->id=$obj->uid; $userstatic->id=$obj->uid;
$userstatic->lastname=$obj->lastname; $userstatic->lastname=$obj->lastname;
$userstatic->firstname=$obj->firstname; $userstatic->firstname=$obj->firstname;
print '<tr '.$bc[$var].'>'; print '<tr '.$bc[$var].'>';
print '<td><a href="../expensereport/card.php?id='.$obj->rowid.'">'.img_object($langs->trans("ShowTrip"),"trip").' '.$obj->ref.'</a></td>'; print '<td>'.$expensereportstatic->getNomUrl(1).'</td>';
print '<td>'.$userstatic->getNomUrl(1).'</td>'; print '<td>'.$userstatic->getNomUrl(1).'</td>';
print '<td align="right">'.price($obj->total_ttc).'</td>'; print '<td align="right">'.price($obj->total_ttc).'</td>';
print '<td align="right">'.dol_print_date($db->jdate($obj->dm),'day').'</td>'; print '<td align="right">'.dol_print_date($db->jdate($obj->dm),'day').'</td>';

View File

@ -371,7 +371,7 @@ class ExpenseReport extends CommonObject
function set_paid($id, $fuser) function set_paid($id, $fuser)
{ {
$sql = "UPDATE ".MAIN_DB_PREFIX."expensereport"; $sql = "UPDATE ".MAIN_DB_PREFIX."expensereport";
$sql.= " SET fk_statut = 6; $sql.= " SET fk_statut = 6";
$sql.= " WHERE rowid = $id AND fk_statut = 5"; $sql.= " WHERE rowid = $id AND fk_statut = 5";
dol_syslog(get_class($this)."::set_paid sql=".$sql, LOG_DEBUG); dol_syslog(get_class($this)."::set_paid sql=".$sql, LOG_DEBUG);
@ -1074,6 +1074,11 @@ class ExpenseReport extends CommonObject
} }
} }
/**
* Return next reference of expense report not already used
*
* @return string free ref
*/
function getNextNumRef() function getNextNumRef()
{ {
global $conf; global $conf;
@ -1109,12 +1114,11 @@ class ExpenseReport extends CommonObject
endif; endif;
} }
/** /**
* Return clicable name (with picto eventually) * Return clicable name (with picto eventually)
* *
* @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto * @param int $withpicto 0=No picto, 1=Include picto into link, 2=Only picto
* @return string Chaine avec URL * @return string String with URL
*/ */
function getNomUrl($withpicto=0) function getNomUrl($withpicto=0)
{ {
@ -1135,8 +1139,15 @@ class ExpenseReport extends CommonObject
return $result; return $result;
} }
/**
function update_totaux_add($ligne_total_ht,$ligne_total_tva){ * Update total of an expense report when you add a line.
*
* @param string $ligne_total_ht
* @param string $ligne_total_tva
* @return void
*/
function update_totaux_add($ligne_total_ht,$ligne_total_tva)
{
$this->total_ht = $this->total_ht + $ligne_total_ht; $this->total_ht = $this->total_ht + $ligne_total_ht;
$this->total_tva = $this->total_tva + $ligne_total_tva; $this->total_tva = $this->total_tva + $ligne_total_tva;
$this->total_ttc = $this->total_ht + $this->total_tva; $this->total_ttc = $this->total_ht + $this->total_tva;
@ -1156,7 +1167,15 @@ class ExpenseReport extends CommonObject
endif; endif;
} }
function update_totaux_del($ligne_total_ht,$ligne_total_tva){ /**
* Update total of an expense report when you delete a line.
*
* @param string $ligne_total_ht
* @param string $ligne_total_tva
* @return void
*/
function update_totaux_del($ligne_total_ht,$ligne_total_tva)
{
$this->total_ht = $this->total_ht - $ligne_total_ht; $this->total_ht = $this->total_ht - $ligne_total_ht;
$this->total_tva = $this->total_tva - $ligne_total_tva; $this->total_tva = $this->total_tva - $ligne_total_tva;
$this->total_ttc = $this->total_ht + $this->total_tva; $this->total_ttc = $this->total_ht + $this->total_tva;
@ -1490,12 +1509,12 @@ class ExpenseReportLine
/** /**
* fetch record * fetch record
* *
* @param int $rowid Row id to fetch * @param int $rowid Id of object to load
* @return int <0 if KO, >0 if OK * @return int <0 if KO, >0 if OK
*/ */
function fetch($rowid) function fetch($rowid, $ref='')
{ {
$sql = 'SELECT fde.rowid, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_projet, fde.date,'; $sql = 'SELECT fde.rowid, fde.ref, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_projet, fde.date,';
$sql.= ' fde.tva_tx as vatrate, fde.comments, fde.qty, fde.value_unit, fde.total_ht, fde.total_tva, fde.total_ttc,'; $sql.= ' fde.tva_tx as vatrate, fde.comments, fde.qty, fde.value_unit, fde.total_ht, fde.total_tva, fde.total_ttc,';
$sql.= ' ctf.code as type_fees_code, ctf.label as type_fees_libelle,'; $sql.= ' ctf.code as type_fees_code, ctf.label as type_fees_libelle,';
$sql.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref'; $sql.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref';
@ -1503,7 +1522,7 @@ class ExpenseReportLine
$sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees as ctf ON fde.fk_c_type_fees=ctf.id'; $sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees as ctf ON fde.fk_c_type_fees=ctf.id';
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as pjt ON fde.fk_projet=pjt.rowid'; $sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as pjt ON fde.fk_projet=pjt.rowid';
$sql.= ' WHERE fde.rowid = '.$rowid; $sql.= ' WHERE fde.rowid = '.$rowid;
$result = $this->db->query($sql); $result = $this->db->query($sql);
if($result) if($result)
@ -1511,6 +1530,8 @@ class ExpenseReportLine
$objp = $this->db->fetch_object($result); $objp = $this->db->fetch_object($result);
$this->rowid = $objp->rowid; $this->rowid = $objp->rowid;
$this->id = $obj->rowid;
$this->ref = $obj->ref;
$this->fk_expensereport = $objp->fk_expensereport; $this->fk_expensereport = $objp->fk_expensereport;
$this->comments = $objp->comments; $this->comments = $objp->comments;
$this->qty = $objp->qty; $this->qty = $objp->qty;

View File

@ -245,16 +245,21 @@ if ($resql)
$total_total_ht = 0; $total_total_ht = 0;
$total_total_ttc = 0; $total_total_ttc = 0;
$total_total_tva = 0; $total_total_tva = 0;
$expensereportstatic=new ExpenseReport($db);
if($num > 0) if($num > 0)
{ {
while ($i < min($num,$limit)) while ($i < min($num,$limit))
{ {
$objp = $db->fetch_object($resql); $objp = $db->fetch_object($resql);
$expensereportstatic->id=$objp->rowid;
$expensereportstatic->ref=$objp->ref;
$var=!$var; $var=!$var;
print "<tr ".$bc[$var].">"; print "<tr ".$bc[$var].">";
print '<td><a href="card.php?id='.$objp->rowid.'">'.img_object($langs->trans("ShowTrip"),"trip").' '.$objp->ref.'</a></td>'; print '<td>'.$expensereportstatic->getNomUrl(1).'</td>';
print '<td align="center">'.($objp->date_debut > 0 ? dol_print_date($objp->date_debut, 'day') : '').'</td>'; print '<td align="center">'.($objp->date_debut > 0 ? dol_print_date($objp->date_debut, 'day') : '').'</td>';
print '<td align="center">'.($objp->date_fin > 0 ? dol_print_date($objp->date_fin, 'day') : '').'</td>'; print '<td align="center">'.($objp->date_fin > 0 ? dol_print_date($objp->date_fin, 'day') : '').'</td>';
print '<td align="left"><a href="'.DOL_URL_ROOT.'/user/card.php?id='.$objp->id_user.'">'.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($objp->firstname, $objp->lastname).'</a></td>'; print '<td align="left"><a href="'.DOL_URL_ROOT.'/user/card.php?id='.$objp->id_user.'">'.img_object($langs->trans("ShowUser"),"user").' '.dolGetFirstLastname($objp->firstname, $objp->lastname).'</a></td>';