This commit is contained in:
Laurent Destailleur 2015-02-15 13:42:21 +01:00
parent bedaa483ad
commit 09ef15ea24
3 changed files with 87 additions and 78 deletions

View File

@ -747,7 +747,7 @@ if ($action == "addline")
$tx_tva = $tx_tva + 1; $tx_tva = $tx_tva + 1;
$object_ligne->total_ht = $object_ligne->total_ttc / $tx_tva; $object_ligne->total_ht = $object_ligne->total_ttc / $tx_tva;
$object_ligne->total_ht = number_format($object_ligne->total_ht,2,'.',''); $object_ligne->total_ht = price2num($object_ligne->total_ht,'MT');
$object_ligne->total_tva = $object_ligne->total_ttc - $object_ligne->total_ht; $object_ligne->total_tva = $object_ligne->total_ttc - $object_ligne->total_ht;
// Fin calculs des totos // Fin calculs des totos

View File

@ -244,12 +244,15 @@ class ExpenseReport extends CommonObject
/** /**
* Load an object from database * Load an object from database
*
* @param int $id Id
* @param User $user User we want expense report for
*/ */
function fetch($id,$user='') function fetch($id,$user='')
{ {
global $conf,$db; global $conf,$db;
if(!$user->rights->expensereport->lire): if (!$user->rights->expensereport->lire):
$restrict = " AND fk_user_author = ".$user->id; $restrict = " AND fk_user_author = ".$user->id;
else: else:
$restrict = ""; $restrict = "";
@ -299,18 +302,29 @@ class ExpenseReport extends CommonObject
$this->fk_user_refuse = $obj->fk_user_refuse; $this->fk_user_refuse = $obj->fk_user_refuse;
$this->fk_user_cancel = $obj->fk_user_cancel; $this->fk_user_cancel = $obj->fk_user_cancel;
$this->user_author_infos = $this->fetch_names($this->fk_user_author); $user_author = new User($this->db);
$this->user_validator_infos = $this->fetch_names($this->fk_user_validator); $user_author->fetch($this->fk_user_author);
$this->user_author_infos = dolGetFirstLastname($user_author->firstname, $user_author->lastname);
$this->fk_c_expensereport_statuts = $obj->fk_c_expensereport_statuts; $user_approver = new User($this->db);
$this->fk_c_paiement = $obj->fk_c_paiement; $user_approver->fetch($this->fk_user_validator);
$this->user_validator_infos = dolGetFirstLastname($user_approver->firstname, $user_approver->lastname);
if($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6){ $this->fk_c_expensereport_statuts = $obj->fk_c_expensereport_statuts;
$this->user_valid_infos = $this->fetch_names($this->fk_user_valid); $this->fk_c_paiement = $obj->fk_c_paiement;
if ($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6)
{
$user_valid = new User($this->db);
$user_valid->fetch($this->fk_user_valid);
$this->user_valid_infos = dolGetFirstLastname($user_valid->firstname, $user_valid->lastname);
} }
if($this->fk_c_expensereport_statuts==6){ if ($this->fk_c_expensereport_statuts==6)
$this->user_paid_infos = $this->fetch_names($this->fk_user_paid); {
$user_paid = new User($this->db);
$user_paid->fetch($this->fk_user_paid);
$this->user_paid_infos = dolGetFirstLastname($user_paid->firstname, $user_paid->lastname);
} }
$this->libelle_statut = $obj->libelle_statut; $this->libelle_statut = $obj->libelle_statut;
@ -375,22 +389,6 @@ class ExpenseReport extends CommonObject
} }
/**
*
* @param unknown_type $id
* @return unknown
*/
function fetch_names($id)
{
global $db;
$sql = "SELECT lastname, firstname, email, user_mobile, office_phone ";
$sql.= "FROM ".MAIN_DB_PREFIX."user ";
$sql.= "WHERE rowid = ".$id;
$result = $db->query($sql);
$obj = $db->fetch_object($result);
return $obj;
}
/** /**
* *
@ -1056,9 +1054,9 @@ class ExpenseReport extends CommonObject
/** /**
* deleteline * deleteline
* *
* @param unknown_type $rowid * @param int $rowid Row id
* @param unknown_type $user * @param User $user User
* @return number * @return int <0 if KO, >0 if OK
*/ */
function deleteline($rowid, $user='') function deleteline($rowid, $user='')
{ {
@ -1082,24 +1080,13 @@ class ExpenseReport extends CommonObject
return 1; return 1;
} }
/**
* dumpp
*
* @param unknown_type $value
*/
function dumpp($value)
{
echo '<div style="margin-top:10px;width:50%;font-size:8px;background:#CCC;">';
var_dump("<pre>",$value,"</pre>");
echo '</div>';
}
/** /**
* periode_existe * periode_existe
* *
* @param unknown_type $user * @param User $user User
* @param unknown_type $date_debut * @param Date $date_debut Start date
* @param unknown_type $date_fin * @param Date $date_fin End date
* @return int <0 if KO, >0 if OK
*/ */
function periode_existe($user,$date_debut,$date_fin) function periode_existe($user,$date_debut,$date_fin)
{ {
@ -1109,10 +1096,12 @@ class ExpenseReport extends CommonObject
dol_syslog(get_class($this)."::periode_existe sql=".$sql); dol_syslog(get_class($this)."::periode_existe sql=".$sql);
$result = $this->db->query($sql); $result = $this->db->query($sql);
if($result): if($result)
{
$num_lignes = $this->db->num_rows($result); $i = 0; $num_lignes = $this->db->num_rows($result); $i = 0;
if($num_lignes>0): if ($num_lignes>0)
{
$date_d_form = explode("-",$date_debut); // 1 $date_d_form = explode("-",$date_debut); // 1
$date_f_form = explode("-",$date_fin); // 2 $date_f_form = explode("-",$date_fin); // 2
$date_d_form = mktime(12,0,0,$date_d_form[1],$date_d_form[2],$date_d_form[0]); $date_d_form = mktime(12,0,0,$date_d_form[1],$date_d_form[2],$date_d_form[0]);
@ -1120,7 +1109,8 @@ class ExpenseReport extends CommonObject
$existe = false; $existe = false;
while ($i < $num_lignes): while ($i < $num_lignes)
{
$objp = $this->db->fetch_object($result); $objp = $this->db->fetch_object($result);
$date_d_req = explode("-",$objp->date_debut); // 3 $date_d_req = explode("-",$objp->date_debut); // 3
@ -1131,19 +1121,22 @@ class ExpenseReport extends CommonObject
if(!($date_f_form < $date_d_req OR $date_d_form > $date_f_req)) $existe = true; if(!($date_f_form < $date_d_req OR $date_d_form > $date_f_req)) $existe = true;
$i++; $i++;
endwhile; }
if($existe) return 1; if($existe) return 1;
else return 0; else return 0;
}
else: else
{
return 0; return 0;
endif; }
else: }
$this->error=$this->db->error(); else
{
$this->error=$this->db->lasterror();
dol_syslog(get_class($this)."::periode_existe Error ".$this->error, LOG_ERR); dol_syslog(get_class($this)."::periode_existe Error ".$this->error, LOG_ERR);
return -1; return -1;
endif; }
} }
@ -1214,12 +1207,22 @@ class ExpenseReportLigne
var $total_tva; var $total_tva;
var $total_ttc; var $total_ttc;
/**
function ExpenseReportLigne($DB) * Constructor
*
* @param DoliDB $db Handlet database
*/
function ExpenseReportLigne($db)
{ {
$this->db= $DB ; $this->db= $db;
} }
/**
* fetch record
*
* @param int $rowid Row id to fetch
* @return int <0 if KO, >0 if OK
*/
function fetch($rowid) function fetch($rowid)
{ {
$sql = 'SELECT fde.rowid, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_projet, fde.date,'; $sql = 'SELECT fde.rowid, fde.fk_expensereport, fde.fk_c_type_fees, fde.fk_projet, fde.date,';
@ -1262,6 +1265,12 @@ class ExpenseReportLigne
} }
} }
/**
* insert
*
* @param int $notrigger 1=No trigger
* @return int <0 if KO, >0 if OK
*/
function insert($notrigger=0) function insert($notrigger=0)
{ {
global $langs,$user,$conf; global $langs,$user,$conf;
@ -1307,7 +1316,13 @@ class ExpenseReportLigne
endif; endif;
} }
function update() /**
* update
*
* @param User $user User
* @return int <0 if KO, >0 if OK
*/
function update($user)
{ {
global $user,$langs,$conf; global $user,$langs,$conf;
@ -1318,7 +1333,7 @@ class ExpenseReportLigne
// Mise a jour ligne en base // Mise a jour ligne en base
$sql = "UPDATE ".MAIN_DB_PREFIX."expensereport_det SET"; $sql = "UPDATE ".MAIN_DB_PREFIX."expensereport_det SET";
$sql.= " comments='".addslashes($this->comments)."'"; $sql.= " comments='".$this->db->escape($this->comments)."'";
$sql.= ",value_unit=".$this->value_unit.""; $sql.= ",value_unit=".$this->value_unit."";
$sql.= ",qty=".$this->qty.""; $sql.= ",qty=".$this->qty."";
if ($this->date) { $sql.= ",date='".$this->date."'"; } if ($this->date) { $sql.= ",date='".$this->date."'"; }
@ -1350,17 +1365,9 @@ class ExpenseReportLigne
return -2; return -2;
} }
} }
function fetch_taux($id){
$sql = "SELECT taux";
$sql .= " FROM ".MAIN_DB_PREFIX ."c_tva";
$sql .= " WHERE rowid = ".$id;
$resql=$this->db->query($sql);
$objp = $this->db->fetch_object($result);
$this->tva_taux = $objp->taux;
}
} }
/** /**
* Retourne la liste deroulante des differents etats d'une note de frais. * Retourne la liste deroulante des differents etats d'une note de frais.
* Les valeurs de la liste sont les id de la table c_expensereport_statuts * Les valeurs de la liste sont les id de la table c_expensereport_statuts
@ -1395,12 +1402,13 @@ function select_expensereport_statut($selected='',$htmlname='fk_c_expensereport_
} }
/** /**
* * select_projet
* @param unknown_type $selected
* @param unknown_type $filter
* @param unknown_type $htmlname
*
* TODO Utiliser le select project officiel * TODO Utiliser le select project officiel
*
* @param int $selected Id selected
* @param string $filter Filter
* @param string $htmlname Select name
* @return int <0 if KO, >0 if OK
*/ */
function select_projet($selected='',$filter='', $htmlname='fk_projet') function select_projet($selected='',$filter='', $htmlname='fk_projet')
{ {
@ -1455,10 +1463,10 @@ function select_projet($selected='',$filter='', $htmlname='fk_projet')
/** /**
* Return list of types of notes with select value = id * Return list of types of notes with select value = id
* *
* @param selected Preselected type * @param int $selected Preselected type
* @param htmlname Name of field in form * @param string $htmlname Name of field in form
* @param showempty Add an empty field * @param int $showempty Add an empty field
* @return string Select html * @return string Select html
*/ */
function select_type_fees_id($selected='',$htmlname='type',$showempty=0) function select_type_fees_id($selected='',$htmlname='type',$showempty=0)
{ {

View File

@ -166,7 +166,8 @@ if (empty($user->rights->expensereport->readall) && empty($user->rights->expense
} }
// ORDER // ORDER
$sql.= " ORDER BY $sortfield $sortorder " . $db->plimit( $limit + 1 ,$offset); $sql.= $db->order($sortfield,$sortorder);
$sql.= $db->plimit($limit+1, $offset);
if($_GET['debug']=='ok'){ if($_GET['debug']=='ok'){
var_dump("<pre>",$sql,"</pre>"); exit(); var_dump("<pre>",$sql,"</pre>"); exit();