Merge pull request #2441 from aspangaro/develop-ReviewER

FIXED: Review Expense Report
This commit is contained in:
Laurent Destailleur 2015-03-11 02:14:13 +01:00
commit e8732df747
18 changed files with 211 additions and 200 deletions

View File

@ -8,7 +8,7 @@
* Copyright (C) 2011 Remy Younes <ryounes@gmail.com>
* Copyright (C) 2012-2013 Marcos García <marcosgdf@gmail.com>
* Copyright (C) 2012 Christophe Battarel <christophe.battarel@ltairis.fr>
* Copyright (C) 2011-2014 Alexandre Spangaro <alexandre.spangaro@gmail.com>
* Copyright (C) 2011-2015 Alexandre Spangaro <alexandre.spangaro@gmail.com>
*
* 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
@ -316,7 +316,7 @@ $tabcond[13]= (! empty($conf->commande->enabled) || ! empty($conf->propal->enabl
$tabcond[14]= (! empty($conf->product->enabled) && ! empty($conf->ecotax->enabled));
$tabcond[15]= true;
$tabcond[16]= (! empty($conf->societe->enabled) && empty($conf->global->SOCIETE_DISABLE_PROSPECTS));
$tabcond[17]= ! empty($conf->deplacement->enabled);
$tabcond[17]= (! empty($conf->deplacement->enabled) || ! empty($conf->expensereport->enabled));
$tabcond[18]= ! empty($conf->expedition->enabled);
$tabcond[19]= ! empty($conf->societe->enabled);
$tabcond[20]= ! empty($conf->fournisseur->enabled);

View File

@ -196,7 +196,7 @@ if (! empty($conf->deplacement->enabled) && $user->rights->deplacement->lire)
if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire)
{
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, x.rowid, x.date_debut as date, x.tms as dm, x.total_ttc";
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, x.rowid, x.date_debut as date, x.tms as dm, x.total_ttc, x.fk_statut as status";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as x, ".MAIN_DB_PREFIX."user as u";
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= " WHERE u.rowid = x.fk_user_author";
@ -218,7 +218,7 @@ if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire
print '<table class="noborder" width="100%">';
print '<tr class="liste_titre">';
print '<td colspan="2">'.$langs->trans("BoxTitleLastModifiedExpenses",min($max,$num)).'</td>';
print '<td align="right">'.$langs->trans("FeesAmount").'</td>';
print '<td align="right">'.$langs->trans("TotalTTC").'</td>';
print '<td align="right">'.$langs->trans("DateModificationShort").'</td>';
print '<td width="16">&nbsp;</td>';
print '</tr>';
@ -239,9 +239,9 @@ if (! empty($conf->expensereport->enabled) && $user->rights->expensereport->lire
print '<tr '.$bc[$var].'>';
print '<td>'.$expensereportstatic->getNomUrl(1).'</td>';
print '<td>'.$userstatic->getNomUrl(1).'</td>';
print '<td align="right">'.$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>'.$expensereportstatic->LibStatut($obj->fk_statut,3).'</td>';
print '<td>'.$expensereportstatic->LibStatut($obj->status,3).'</td>';
print '</tr>';
$var=!$var;
$i++;

View File

@ -2140,7 +2140,7 @@ abstract class CommonObject
$fieldstatus="fk_statut";
if ($elementTable == 'user') $fieldstatus="statut";
if ($elementTable == 'expensereport') $fieldstatus="fk_c_expensereport_statuts";
if ($elementTable == 'expensereport') $fieldstatus="fk_statut";
if ($elementTable == 'commande_fournisseur_dispatch') $fieldstatus="status";
$sql = "UPDATE ".MAIN_DB_PREFIX.$elementTable;

View File

@ -508,7 +508,7 @@ class pdf_standard extends ModeleExpenseReport
*/
// Filligrane brouillon
if ($object->fk_c_expensereport_statuts==1 && ! empty($conf->global->EXPENSEREPORT_FREE_TEXT))
if ($object->fk_statut==1 && ! empty($conf->global->EXPENSEREPORT_FREE_TEXT))
{
pdf_watermark($pdf,$outputlangs,$this->page_hauteur,$this->page_largeur,'mm',$conf->global->EXPENSEREPORT_FREE_TEXT);
}
@ -640,7 +640,7 @@ class pdf_standard extends ModeleExpenseReport
$pdf->MultiCell(96,4,$outputlangs->transnoentities("DateCreation")." : ".dol_print_date($object->date_create,"day",false,$outpulangs),0,'L');
}
if ($object->fk_c_expensereport_statuts==99)
if ($object->fk_statut==99)
{
if ($object->fk_user_refuse > 0)
{
@ -656,7 +656,7 @@ class pdf_standard extends ModeleExpenseReport
$pdf->MultiCell(96,4,$outputlangs->transnoentities("DATE_REFUS")." : ".dol_print_date($object->date_refuse,"day",false,$outpulangs),0,'L');
}
}
else if($object->fk_c_expensereport_statuts==4)
else if($object->fk_statut==4)
{
if ($object->fk_user_cancel > 0)
{
@ -686,7 +686,7 @@ class pdf_standard extends ModeleExpenseReport
}
}
if($object->fk_c_expensereport_statuts==6)
if($object->fk_statut==6)
{
if ($object->fk_user_paid > 0)
{

View File

@ -84,7 +84,7 @@ class modExpenseReport extends DolibarrModules
// Dependencies
$this->depends = array(); // List of modules id that must be enabled if this module is enabled
$this->conflictwith = array("modDeplacement");
// $this->conflictwith = array("modDeplacement"); // Deactivate for access on old information
$this->requiredby = array(); // List of modules id to disable if this one is disabled
$this->phpmin = array(4,3); // Minimum version of PHP required by module
$this->need_dolibarr_version = array(3,7); // Minimum version of Dolibarr required by module
@ -270,7 +270,7 @@ class modExpenseReport extends DolibarrModules
'titre'=>'ListToApprove',
'mainmenu'=>'hrm',
'leftmenu'=>'expensereport_detaillist_approve',
'url'=>'/expensereport/list.php?search_state=2',
'url'=>'/expensereport/list.php?search_status=2',
'langs'=>'trips', // Lang file to use (without .lang) by module. File must be in langs/code_CODE/ directory.
'position'=>100,
'enabled'=>'$conf->expensereport->enabled', // Define condition to show or hide menu entry. Use '$conf->mymodule->enabled' if entry must be visible if module is enabled.

View File

View File

@ -109,7 +109,7 @@ if ($action == 'add' && $user->rights->expensereport->creer)
$object->date_debut = $date_start;
$object->date_fin = $date_end;
$object->fk_c_expensereport_statuts = 1;
$object->fk_statut = 1;
$object->fk_c_paiement = GETPOST('fk_c_paiement','int');
$object->fk_user_validator = GETPOST('fk_user_validator','int');
$object->note_public = GETPOST('note_public');
@ -151,7 +151,7 @@ if ($action == 'update' && $user->rights->expensereport->creer)
$object->date_debut = $date_start;
$object->date_fin = $date_end;
if($object->fk_c_expensereport_statuts < 3)
if($object->fk_statut < 3)
{
$object->fk_user_validator = GETPOST('fk_user_validator','int');
}
@ -733,12 +733,12 @@ if ($action == "confirm_paid" && GETPOST('confirm')=="yes" && $id > 0 && $user->
$insertid = $acct->addline($dateop, $operation, $label, $amount, $num_chq, $cat1, $user);
if ($insertid > 0):
$sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d";
$sql = " UPDATE ".MAIN_DB_PREFIX."expensereport as d";
$sql.= " SET integration_compta = 1, fk_bank_account = $idAccount";
$sql.= " WHERE rowid = $idTrip";
$resql=$db->query($sql);
if($result):
Header("Location: ".$_SEVER["PHP_SELF"]."?id=".$id);
Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$id);
exit;
else:
dol_print_error($db);
@ -1197,7 +1197,7 @@ else
$head = expensereport_prepare_head($object);
if ($action == 'edit' && ($object->fk_c_expensereport_statuts < 3 || $object->fk_c_expensereport_statuts==99))
if ($action == 'edit' && ($object->fk_statut < 3 || $object->fk_statut==99))
{
print "<form name='update' action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">\n";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
@ -1205,7 +1205,7 @@ else
dol_fiche_head($head, 'card', $langs->trans("TripCard"), 0, 'trip');
if($object->fk_c_expensereport_statuts==99)
if($object->fk_statut==99)
{
print '<input type="hidden" name="action" value="updateFromRefuse">';
}
@ -1246,7 +1246,7 @@ else
print '</tr>';
}
if($object->fk_c_expensereport_statuts<3)
if($object->fk_statut<3)
{
print '<tr>';
print '<td>'.$langs->trans("VALIDATOR").'</td>'; // Approbator
@ -1275,7 +1275,7 @@ else
$userfee->fetch($object->fk_user_author);
print $userfee->getNomUrl(1);
print '</td></tr>';
if ($object->fk_c_expensereport_statuts==6)
if ($object->fk_statut==6)
{
print '<tr>';
print '<td>'.$langs->trans("AUTHORPAIEMENT").'</td>';
@ -1437,7 +1437,7 @@ else
print '<td>'.$langs->trans("DATE_SAVE").'</td>';
print '<td>'.dol_print_date($object->date_create,'dayhour').'</td></tr>';
print '</tr>';
if($object->fk_c_expensereport_statuts==6)
if($object->fk_statut==6)
{
print '<tr>';
print '<td>'.$langs->trans("AUTHORPAIEMENT").'</td>';
@ -1452,7 +1452,7 @@ else
print '</tr>';
}
if($object->fk_c_expensereport_statuts<3) // informed
if($object->fk_statut<3) // informed
{
print '<tr>';
print '<td>'.$langs->trans("VALIDATOR").'</td>';
@ -1465,7 +1465,7 @@ else
}
print '</td></tr>';
}
elseif($object->fk_c_expensereport_statuts==4)
elseif($object->fk_statut==4)
{
print '<tr>';
print '<td>'.$langs->trans("CANCEL_USER").'</span></td>';
@ -1504,7 +1504,7 @@ else
print '</tr>';
}
if($object->fk_c_expensereport_statuts==99 || !empty($object->detail_refuse))
if($object->fk_statut==99 || !empty($object->detail_refuse))
{
print '<tr>';
print '<td>'.$langs->trans("REFUSEUR").'</td>';
@ -1529,9 +1529,9 @@ else
$sql.= ' fde.fk_c_tva 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.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref';
$sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det fde';
$sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON fde.fk_c_type_fees=ctf.id';
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet pjt ON fde.fk_projet=pjt.rowid';
$sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det as fde';
$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.= ' WHERE fde.fk_expensereport = '.$id;
$resql = $db->query($sql);
@ -1566,7 +1566,7 @@ else
print '<td style="text-align:right;">'.$langs->trans('AmountTTC').'</td>';
}
// Ajout des boutons de modification/suppression
if ($object->fk_c_expensereport_statuts < 2 || $object->fk_c_expensereport_statuts==99)
if ($object->fk_statut < 2 || $object->fk_statut==99)
{
print '<td style="text-align:right;"></td>';
}
@ -1609,7 +1609,7 @@ else
}
// Ajout des boutons de modification/suppression
if($object->fk_c_expensereport_statuts<2 OR $object->fk_c_expensereport_statuts==99)
if($object->fk_statut<2 OR $object->fk_statut==99)
{
print '<td style="text-align:right;" class="nowrap">';
print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=editline&amp;rowid='.$objp->rowid.'#'.$objp->rowid.'">';
@ -1689,7 +1689,7 @@ else
//print '</div>';
// Add a line
if (($object->fk_c_expensereport_statuts==0 || $object->fk_c_expensereport_statuts==99) && $action != 'editline')
if (($object->fk_statut==0 || $object->fk_statut==99) && $action != 'editline')
{
print_fiche_titre($langs->trans("AddLine"),'','');
@ -1712,17 +1712,17 @@ else
print '<tr>';
// Sélection date
// Select date
print '<td style="text-align:center;">';
$form->select_date($date?$date:-1,'date');
print '</td>';
// Sélection projet
// Select project
print '<td>';
$formproject->select_projects(-1, GETPOST('fk_projet'), 'fk_projet', 0, 0, 1, 1);
print '</td>';
// Sélection type
// Select type
print '<td>';
select_type_fees_id(GETPOST('fk_c_type_fees'),'fk_c_type_fees',1);
print '</td>';
@ -1732,7 +1732,7 @@ else
print '<textarea class="flat_ndf centpercent" name="comments">'.GETPOST('comments').'</textarea>';
print '</td>';
// Sélection TVA
// Select VAT
print '<td style="text-align:right;">';
$defaultvat=-1;
if (! empty($conf->global->EXPENSEREPORT_NO_DEFAULT_VAT)) $conf->global->MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS = 'none';
@ -1747,7 +1747,7 @@ else
print '<input type="text" size="6" name="value_unit" value="'.GETPOST('value_unit').'">';
print '</td>';
// Quantité
// Quantity
print '<td style="text-align:right;">';
print '<input type="text" size="4" name="qty" value="'.GETPOST('qty').'">';
print '</td>';
@ -1799,7 +1799,7 @@ if ($action != 'create' && $action != 'edit')
* ET fk_user_author == user courant
* Afficher : "Enregistrer" / "Modifier" / "Supprimer"
*/
if ($user->rights->expensereport->creer && $object->fk_c_expensereport_statuts==0)
if ($user->rights->expensereport->creer && $object->fk_statut==0)
{
if ($object->fk_user_author == $user->id)
{
@ -1825,7 +1825,7 @@ if ($action != 'create' && $action != 'edit')
* ET fk_user_author == user courant
* Afficher : "Enregistrer" / "Modifier" / "Supprimer"
*/
if($user->rights->expensereport->creer && $object->fk_c_expensereport_statuts==99)
if($user->rights->expensereport->creer && $object->fk_statut==99)
{
if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid)
{
@ -1845,7 +1845,7 @@ if ($action != 'create' && $action != 'edit')
}
}
if ($user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts==5)
if ($user->rights->expensereport->to_paid && $object->fk_statut==5)
{
if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid)
{
@ -1859,7 +1859,7 @@ if ($action != 'create' && $action != 'edit')
* ET fk_user_validator == user courant
* Afficher : "Valider" / "Refuser" / "Supprimer"
*/
if ($object->fk_c_expensereport_statuts == 2)
if ($object->fk_statut == 2)
{
if ($object->fk_user_author == $user->id)
{
@ -1868,7 +1868,7 @@ if ($action != 'create' && $action != 'edit')
}
}
if ($user->rights->expensereport->approve && $object->fk_c_expensereport_statuts == 2)
if ($user->rights->expensereport->approve && $object->fk_statut == 2)
{
//if($object->fk_user_validator==$user->id)
//{
@ -1895,7 +1895,7 @@ if ($action != 'create' && $action != 'edit')
* ET user à droit de "to_paid"
* Afficher : "Annuler" / "Payer" / "Supprimer"
*/
if ($user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts == 5)
if ($user->rights->expensereport->to_paid && $object->fk_statut == 5)
{
// Payer
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=paid&id='.$id.'">'.$langs->trans('TO_PAID').'</a>';
@ -1918,7 +1918,7 @@ if ($action != 'create' && $action != 'edit')
* ET user à droit "to_paid"
* Afficher : "Annuler"
*/
if ($user->rights->expensereport->approve && $user->rights->expensereport->to_paid && $object->fk_c_expensereport_statuts==6)
if ($user->rights->expensereport->approve && $user->rights->expensereport->to_paid && $object->fk_statut==6)
{
// Annuler
print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?action=cancel&id='.$id.'">'.$langs->trans('Cancel').'</a>';
@ -1933,7 +1933,7 @@ if ($action != 'create' && $action != 'edit')
* ET user à droit "supprimer"
* Afficher : "Supprimer"
*/
if ($user->rights->expensereport->supprimer && $object->fk_c_expensereport_statuts==4)
if ($user->rights->expensereport->supprimer && $object->fk_statut==4)
{
if ($user->id == $object->fk_user_author || $user->id == $object->fk_user_valid)
@ -1959,7 +1959,7 @@ print '<div style="width:50%">';
/*
* Documents generes
*/
if($user->rights->expensereport->export && $object->fk_c_expensereport_statuts>0 && $action != 'edit')
if($user->rights->expensereport->export && $object->fk_statut>0 && $action != 'edit')
{
$filename = dol_sanitizeFileName($object->ref);
$filedir = $conf->expensereport->dir_output . "/" . dol_sanitizeFileName($object->ref);

View File

@ -1,5 +1,22 @@
<?php
require_once(DOL_DOCUMENT_ROOT ."/core/class/commonobject.class.php");
/* Copyright (C) 2011 Dimitri Mouillard <dmouillard@teclib.com>
* Copyright (C) 2015 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
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
require_once DOL_DOCUMENT_ROOT .'/core/class/commonobject.class.php';
/**
* Class to manage Trips and Expenses
@ -26,7 +43,7 @@ class ExpenseReport extends CommonObject
var $fk_user_validator;
var $status;
var $fk_c_expensereport_statuts; // -- 1=draft, 2=validated (attente approb), 4=canceled, 5=approved, 6=payed, 99=denied
var $fk_statut; // -- 1=draft, 2=validated (attente approb), 4=canceled, 5=approved, 6=payed, 99=denied
var $fk_c_paiement;
var $user_author_infos;
@ -133,7 +150,7 @@ class ExpenseReport extends CommonObject
$sql.= ",date_create";
$sql.= ",fk_user_author";
$sql.= ",fk_user_validator";
$sql.= ",fk_c_expensereport_statuts";
$sql.= ",fk_statut";
$sql.= ",fk_c_paiement";
$sql.= ",note_public";
$sql.= ",note_private";
@ -147,7 +164,7 @@ class ExpenseReport extends CommonObject
$sql.= ", '".$this->db->idate($now)."'";
$sql.= ", ".($user->id > 0 ? $user->id:"null");
$sql.= ", ".($this->fk_user_validator > 0 ? $this->fk_user_validator:"null");
$sql.= ", ".($this->fk_c_expensereport_statuts > 1 ? $this->fk_c_expensereport_statuts:0);
$sql.= ", ".($this->fk_statut > 1 ? $this->fk_statut:0);
$sql.= ", ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null");
$sql.= ", ".($this->note_public?"'".$this->db->escape($this->note_public)."'":"null");
$sql.= ", ".($this->note_private?"'".$this->db->escape($this->note_private)."'":"null");
@ -231,7 +248,7 @@ class ExpenseReport extends CommonObject
$sql.= " , fk_user_validator = ".($this->fk_user_validator > 0 ? $this->fk_user_validator:"null");
$sql.= " , fk_user_valid = ".($this->fk_user_valid > 0 ? $this->fk_user_valid:"null");
$sql.= " , fk_user_paid = ".($this->fk_user_paid > 0 ? $this->fk_user_paid:"null");
$sql.= " , fk_c_expensereport_statuts = ".($this->fk_c_expensereport_statuts >= 0 ? $this->fk_c_expensereport_statuts:'0');
$sql.= " , fk_statut = ".($this->fk_statut >= 0 ? $this->fk_statut:'0');
$sql.= " , fk_c_paiement = ".($this->fk_c_paiement > 0 ? $this->fk_c_paiement:"null");
$sql.= " , note_public = ".(!empty($this->note_public)?"'".$this->db->escape($this->note_public)."'":"''");
$sql.= " , note_private = ".(!empty($this->note_private)?"'".$this->db->escape($this->note_private)."'":"''");
@ -267,10 +284,10 @@ class ExpenseReport extends CommonObject
$sql.= " d.date_refuse, d.date_cancel,"; // ACTIONS
$sql.= " d.total_ht, d.total_ttc, d.total_tva,"; // TOTAUX (int)
$sql.= " d.date_debut, d.date_fin, d.date_create, d.date_valid, d.date_approve, d.date_paiement,"; // DATES (datetime)
$sql.= " d.fk_user_author, d.fk_user_validator, d.fk_c_expensereport_statuts as status, d.fk_c_paiement,";
$sql.= " d.fk_user_author, d.fk_user_validator, d.fk_statut as status, d.fk_c_paiement,";
$sql.= " d.fk_user_valid, d.fk_user_approve, d.fk_user_paid,";
$sql.= " dp.libelle as libelle_paiement, dp.code as code_paiement"; // INNER JOIN paiement
$sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." d LEFT JOIN ".MAIN_DB_PREFIX."c_paiement dp ON d.fk_c_paiement = dp.id";
$sql.= " FROM ".MAIN_DB_PREFIX.$this->table_element." as d LEFT JOIN ".MAIN_DB_PREFIX."c_paiement as dp ON d.fk_c_paiement = dp.id";
if ($ref) $sql.= " WHERE d.ref = '".$this->db->escape($ref)."'";
else $sql.= " WHERE d.rowid = ".$id;
$sql.= $restrict;
@ -318,18 +335,18 @@ class ExpenseReport extends CommonObject
if ($this->fk_user_validator > 0) $user_approver->fetch($this->fk_user_validator);
$this->user_validator_infos = dolGetFirstLastname($user_approver->firstname, $user_approver->lastname);
$this->fk_c_expensereport_statuts = $obj->status;
$this->fk_statut = $obj->status;
$this->status = $obj->status;
$this->fk_c_paiement = $obj->fk_c_paiement;
if ($this->fk_c_expensereport_statuts==5 || $this->fk_c_expensereport_statuts==6)
if ($this->fk_statut==5 || $this->fk_statut==6)
{
$user_valid = new User($this->db);
if ($this->fk_user_valid > 0) $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_statut==6)
{
$user_paid = new User($this->db);
if ($this->fk_user_paid > 0) $user_paid->fetch($this->fk_user_paid);
@ -497,7 +514,7 @@ class ExpenseReport extends CommonObject
$this->date_approve = $now;
$this->status = 5;
$this->fk_c_expensereport_statuts = 5;
$this->fk_statut = 5;
$this->fk_user_author = $user->id;
$this->fk_user_valid = $user->id;
@ -567,7 +584,7 @@ class ExpenseReport extends CommonObject
$objp = $db->fetch_object($result);
$sql2 = "SELECT d.rowid, d.fk_user_author, d.ref, d.fk_c_expensereport_statuts";
$sql2 = "SELECT d.rowid, d.fk_user_author, d.ref, d.fk_statut";
$sql2.= " FROM ".MAIN_DB_PREFIX."expensereport as d";
$sql2.= " WHERE d.rowid = '".$objp->fk_expensereport."'";
@ -576,7 +593,7 @@ class ExpenseReport extends CommonObject
$objp->fk_user_author = $obj->fk_user_author;
$objp->ref = $obj->ref;
$objp->fk_c_expensereport_status = $obj->fk_c_expensereport_statuts;
$objp->fk_c_expensereport_status = $obj->fk_statut;
$objp->rowid = $obj->rowid;
$total_HT = $total_HT + $objp->total_ht;
@ -707,8 +724,8 @@ class ExpenseReport extends CommonObject
$sql.= ' ctf.code as code_type_fees, ctf.label as libelle_type_fees,';
$sql.= ' p.ref as ref_projet, p.title as title_projet';
$sql.= ' FROM '.MAIN_DB_PREFIX.$this->table_element_line.' as de';
$sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON de.fk_c_type_fees = ctf.id';
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet p ON de.fk_projet = p.rowid';
$sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees as ctf ON de.fk_c_type_fees = ctf.id';
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet as p ON de.fk_projet = p.rowid';
$sql.= ' WHERE de.'.$this->fk_element.' = '.$this->id;
dol_syslog('ExpenseReport::fetch_lines sql='.$sql, LOG_DEBUG);
@ -831,10 +848,10 @@ class ExpenseReport extends CommonObject
$this->ref = strtoupper($user->login).$expld_car.$prefix.$this->ref.$expld_car.dol_print_date($this->date_debut,'%y%m%d');
}
if ($this->fk_c_expensereport_statuts != 2)
if ($this->fk_statut != 2)
{
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 2, fk_user_valid = ".$user->id.",";
$sql.= " SET ref = '".$this->ref."', fk_statut = 2, fk_user_valid = ".$user->id.",";
$sql.= " ref_number_int = ".$ref_number_int;
$sql.= ' WHERE rowid = '.$this->id;
@ -877,10 +894,10 @@ class ExpenseReport extends CommonObject
$this->date_debut = $this->db->jdate($objp->date_debut);
if ($this->fk_c_expensereport_statuts != 2)
if ($this->fk_statut != 2)
{
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET fk_c_expensereport_statuts = 2";
$sql.= " SET fk_statut = 2";
$sql.= ' WHERE rowid = '.$this->id;
dol_syslog(get_class($this)."::set_save_from_refuse sql=".$sql, LOG_DEBUG);
@ -913,10 +930,10 @@ class ExpenseReport extends CommonObject
// date approval
$this->date_approve = $this->db->idate($now);
if ($this->fk_c_expensereport_statuts != 5)
if ($this->fk_statut != 5)
{
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 5, fk_user_approve = ".$user->id.",";
$sql.= " SET ref = '".$this->ref."', fk_statut = 5, fk_user_approve = ".$user->id.",";
$sql.= " date_approve='".$this->date_approve."'";
$sql.= ' WHERE rowid = '.$this->id;
if ($this->db->query($sql))
@ -946,17 +963,17 @@ class ExpenseReport extends CommonObject
$now = dol_now();
// date de refus
if ($this->fk_c_expensereport_statuts != 99)
if ($this->fk_statut != 99)
{
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET ref = '".$this->ref."', fk_c_expensereport_statuts = 99, fk_user_refuse = ".$user->id.",";
$sql.= " SET ref = '".$this->ref."', fk_statut = 99, fk_user_refuse = ".$user->id.",";
$sql.= " date_refuse='".$this->db->idate($now)."',";
$sql.= " detail_refuse='".$this->db->escape($details)."'";
$sql.= " fk_user_approve=NULL,";
$sql.= ' WHERE rowid = '.$this->id;
if ($this->db->query($sql))
{
$this->fk_c_expensereport_statuts = 99;
$this->fk_statut = 99;
$this->fk_user_refuse = $user->id;
$this->detail_refuse = $details;
$this->date_refuse = $now;
@ -985,10 +1002,10 @@ class ExpenseReport extends CommonObject
$now= dol_now();
$this->date_paiement = $this->db->idate($now);
if ($this->fk_c_expensereport_statuts != 6)
if ($this->fk_statut != 6)
{
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET fk_c_expensereport_statuts = 6, fk_user_paid = ".$user->id.",";
$sql.= " SET fk_statut = 6, fk_user_paid = ".$user->id.",";
$sql.= " date_paiement='".$this->db->idate($this->date_paiement)."'";
$sql.= ' WHERE rowid = '.$this->id;
@ -1020,7 +1037,7 @@ class ExpenseReport extends CommonObject
if ($this->fk_c_deplacement_statuts != 5)
{
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET fk_c_expensereport_statuts = 5";
$sql.= " SET fk_statut = 5";
$sql.= ' WHERE rowid = '.$this->id;
dol_syslog(get_class($this)."::set_unpaid sql=".$sql, LOG_DEBUG);
@ -1048,10 +1065,10 @@ class ExpenseReport extends CommonObject
function set_cancel($user,$detail)
{
$this->date_cancel = $this->db->idate(gmmktime());
if ($this->fk_c_expensereport_statuts != 4)
if ($this->fk_statut != 4)
{
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET fk_c_expensereport_statuts = 4, fk_user_cancel = ".$user->id;
$sql.= " SET fk_statut = 4, fk_user_cancel = ".$user->id;
$sql.= ", date_cancel='".$this->date_cancel."'";
$sql.= " ,detail_cancel='".$this->db->escape($detail)."'";
$sql.= ' WHERE rowid = '.$this->id;
@ -1180,13 +1197,13 @@ class ExpenseReport extends CommonObject
function updateline($rowid, $type_fees_id, $projet_id, $c_tva, $comments, $qty, $value_unit, $date, $expensereport_id)
{
if ($this->fk_c_expensereport_statuts==0 || $this->fk_c_expensereport_statuts==99)
if ($this->fk_statut==0 || $this->fk_statut==99)
{
$this->db->begin();
// Select du taux de tva par rapport au code
$sql = "SELECT t.taux as taux_tva";
$sql.= " FROM ".MAIN_DB_PREFIX."c_tva t";
$sql.= " FROM ".MAIN_DB_PREFIX."c_tva as t";
$sql.= " WHERE t.rowid = ".$c_tva;
$result = $this->db->query($sql);
$objp_tva = $this->db->fetch_object($result);
@ -1222,7 +1239,7 @@ class ExpenseReport extends CommonObject
// Select des infos sur le type fees
$sql = "SELECT c.code as code_type_fees, c.label as libelle_type_fees";
$sql.= " FROM ".MAIN_DB_PREFIX."c_type_fees c";
$sql.= " FROM ".MAIN_DB_PREFIX."c_type_fees as c";
$sql.= " WHERE c.id = ".$type_fees_id;
$result = $this->db->query($sql);
$objp_fees = $this->db->fetch_object($result);
@ -1231,7 +1248,7 @@ class ExpenseReport extends CommonObject
// Select des informations du projet
$sql = "SELECT p.ref as ref_projet, p.title as title_projet";
$sql.= " FROM ".MAIN_DB_PREFIX."projet p";
$sql.= " FROM ".MAIN_DB_PREFIX."projet as p";
$sql.= " WHERE p.rowid = ".$projet_id;
$result = $this->db->query($sql);
$objp_projet = $this->db->fetch_object($result);
@ -1403,6 +1420,39 @@ class ExpenseReport extends CommonObject
return $this->commonGenerateDocument($modelpath, $modele, $outputlangs, $hidedetails, $hidedesc, $hideref);
}
/**
* List of types
*
* @param int $active Active or not
* @return array
*/
function listOfTypes($active=1)
{
global $langs;
$ret=array();
$sql = "SELECT id, code, label";
$sql.= " FROM ".MAIN_DB_PREFIX."c_type_fees";
$sql.= " WHERE active = ".$active;
dol_syslog(get_class($this)."::listOfTypes", LOG_DEBUG);
$result = $this->db->query($sql);
if ( $result )
{
$num = $this->db->num_rows($result);
$i=0;
while ($i < $num)
{
$obj = $this->db->fetch_object($result);
$ret[$obj->code]=(($langs->trans($obj->code)!=$obj->code)?$langs->trans($obj->code):$obj->label);
$i++;
}
}
else
{
dol_print_error($this->db);
}
return $ret;
}
}
@ -1460,9 +1510,9 @@ class ExpenseReportLine
$sql.= ' fde.fk_c_tva as tva_taux, 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.= ' pjt.rowid as projet_id, pjt.title as projet_title, pjt.ref as projet_ref';
$sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det fde';
$sql.= ' INNER JOIN '.MAIN_DB_PREFIX.'c_type_fees ctf ON fde.fk_c_type_fees=ctf.id';
$sql.= ' LEFT JOIN '.MAIN_DB_PREFIX.'projet pjt ON fde.fk_projet=pjt.rowid';
$sql.= ' FROM '.MAIN_DB_PREFIX.'expensereport_det as fde';
$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.= ' WHERE fde.rowid = '.$rowid;
$result = $this->db->query($sql);
@ -1643,7 +1693,7 @@ class ExpenseReportLine
* @param int $useempty 1=Add empty line
* @return string HTML select with sattus
*/
function select_expensereport_statut($selected='',$htmlname='fk_c_expensereport_statuts',$useempty=1)
function select_expensereport_statut($selected='',$htmlname='fk_statut',$useempty=1)
{
global $db;
@ -1708,4 +1758,4 @@ function select_type_fees_id($selected='',$htmlname='type',$showempty=0)
}
}
print '</select>';
}
}

View File

@ -19,11 +19,11 @@
/**
* \file htdocs/expensereport/class/expensereportstats.class.php
* \ingroup factures
* \ingroup ExpenseReport
* \brief Fichier de la classe de gestion des stats des expensereport et notes de frais
*/
include_once DOL_DOCUMENT_ROOT . '/core/class/stats.class.php';
dol_include_once('/expensereport/class/expensereport.class.php');
include_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php';
/**
* Classe permettant la gestion des stats des expensereports et notes de frais
@ -59,7 +59,7 @@ class ExpenseReportStats extends Stats
$this->from = MAIN_DB_PREFIX.$object->table_element;
$this->field='total_ht';
$this->where = " fk_c_expensereport_statuts > 0 and date_valid > '2000-01-01'";
$this->where = " fk_statut > 0 and date_valid > '2000-01-01'";
//$this->where.= " AND entity = ".$conf->entity;
if ($this->socid)
{

View File

View File

@ -21,8 +21,8 @@
*/
require '../main.inc.php';
require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php");
dol_include_once("/expensereport/class/expensereport.class.php");
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php';
require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php';
$langs->load("users");
$langs->load("trips");

View File

View File

@ -25,8 +25,8 @@
*/
require '../main.inc.php';
require_once DOL_DOCUMENT_ROOT.'/compta/tva/class/tva.class.php';
dol_include_once("/expensereport/class/expensereport.class.php");
require_once DOL_DOCUMENT_ROOT . '/compta/tva/class/tva.class.php';
require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php';
$langs->load("companies");
$langs->load("users");
@ -111,8 +111,7 @@ print '<tr class="liste_titre">';
print '<td colspan="4">'.$langs->trans("Statistics").'</td>';
print "</tr>\n";
//$listoftype=$tripandexpense_static->listOfTypes();
$listoftype=$label;
$listoftype=$tripandexpense_static->listOfTypes();
foreach ($listoftype as $code => $label)
{
$dataseries[]=array('label'=>$label,'data'=>(isset($somme[$code])?(int) $somme[$code]:0));
@ -143,7 +142,7 @@ $max=10;
$langs->load("boxes");
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.date_debut as dated, d.date_fin as datef, d.date_create as dm, d.total_ht, d.total_ttc, d.fk_c_expensereport_statuts as fk_status";
$sql = "SELECT u.rowid as uid, u.lastname, u.firstname, d.rowid, d.date_debut as dated, d.date_fin as datef, d.date_create as dm, d.total_ht, d.total_ttc, d.fk_statut as fk_status";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d, ".MAIN_DB_PREFIX."user as u";
if (!$user->rights->societe->client->voir && !$user->societe_id) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc";
$sql.= " WHERE u.rowid = d.fk_user_author";
@ -187,8 +186,8 @@ if ($result)
print '<tr '.$bc[$var].'>';
print '<td>'.$expensereportstatic->getNomUrl(1).'</td>';
print '<td>'.$userstatic->getNomUrl(1).'</td>';
print '<td align="right">'.$obj->total_ht.'</td>';
print '<td align="right">'.$obj->total_ttc.'</td>';
print '<td align="right">'.price($obj->total_ht).'</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">';
//print $obj->libelle;

View File

@ -21,12 +21,13 @@
/**
* \file htdocs/expensereport/index.php
* \brief Page liste des expensereports
* \brief list of expense reports
*/
require "../main.inc.php";
dol_include_once("/expensereport/class/expensereport.class.php");
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formother.class.php';
require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php';
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php';
require_once DOL_DOCUMENT_ROOT . '/core/lib/date.lib.php';
$langs->load("companies");
$langs->load("users");
@ -39,7 +40,7 @@ $result = restrictedArea($user, 'expensereport','','');
$search_ref = GETPOST('search_ref');
$search_user = GETPOST('search_user','int');
$search_state = GETPOST('search_state','int');
$search_status = GETPOST('search_status','int');
$month_start = GETPOST("month_start","int");
$year_start = GETPOST("year_start","int");
$month_end = GETPOST("month_end","int");
@ -49,7 +50,7 @@ if (GETPOST("button_removefilter_x") || GETPOST("button_removefilter")) // Both
{
$search_ref="";
$search_user="";
$search_state="";
$search_status="";
$month_start="";
$year_start="";
$month_end="";
@ -69,13 +70,12 @@ llxHeader('', $langs->trans("ListOfTrips"));
$max_year = 5;
$min_year = 5;
$sortorder = $_GET["sortorder"];
$sortfield = $_GET["sortfield"];
$page = $_GET["page"];
$sortorder = GETPOST("sortorder");
$sortfield = GETPOST("sortfield");
$page = GETPOST("page");
if (!$sortorder) $sortorder="DESC";
if (!$sortfield) $sortfield="d.date_debut";
if ($page == -1) {
$page = 0 ;
}
@ -85,79 +85,53 @@ $offset = $limit * $page;
$pageprev = $page - 1;
$pagenext = $page + 1;
$sql = "SELECT d.rowid, d.ref, d.total_ht, d.total_tva, d.total_ttc, d.fk_c_expensereport_statuts as status,";
$sql = "SELECT d.rowid, d.ref, d.total_ht, d.total_tva, d.total_ttc, d.fk_statut as status,";
$sql.= " d.date_debut, d.date_fin,";
$sql.= " u.rowid as id_user, u.firstname, u.lastname";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport d\n";
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user u ON d.fk_user_author = u.rowid\n";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d";
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON d.fk_user_author = u.rowid";
// WHERE
// Where
if(!empty($search_ref)){
$sql.= " WHERE d.ref LIKE '%".$db->escape($search_ref)."%'\n";
$sql.= " WHERE d.ref LIKE '%".$db->escape($search_ref)."%'";
}else{
$sql.= " WHERE 1 = 1\n";
$sql.= " WHERE 1 = 1";
}
// DATE START
if ($month_start > 0) {
if ($year_start > 0) {
if($month_end > 0) {
if($year_end > 0) {
$sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'";
$sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'";
} else {
$sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'";
$sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'";
}
} else {
if($year_end > 0) {
$sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'";
$sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'";
} else {
$sql.= " AND date_format(d.date_debut, '%Y-%m') >= '$year_start-$month_start'";
}
}
} else {
$sql.= " AND date_format(d.date_debut, '%m') >= '$month_start'";
}
} else {
if ($year_start > 0) {
if($month_end > 0) {
if($year_end > 0) {
$sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'";
$sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'";
} else {
$sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'";
$sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'";
}
} else {
if($year_end > 0) {
$sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'";
$sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'";
} else {
$sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'";
}
}
} else {
if($month_end > 0) {
if($year_end > 0) {
$sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'";
$sql.= " AND date_format(d.date_fin, '%Y-%m') <= '$year_end-$month_end'";
} else {
$sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'";
$sql.= " AND date_format(d.date_fin, '%m') <= '$month_end'";
}
} else {
if($year_end > 0) {
$sql.= " AND date_format(d.date_debut, '%Y') >= '$year_start'";
$sql.= " AND date_format(d.date_fin, '%Y') <= '$year_end'";
}
}
}
// Date Start
if ($month_start > 0)
{
if ($year_start > 0 && empty($day))
$sql.= " AND d.date_debut BETWEEN '".$db->idate(dol_get_first_day($year_start,$month_start,false))."' AND '".$db->idate(dol_get_last_day($year_start,$month_start,false))."'";
else if ($year_start > 0 && ! empty($day))
$sql.= " AND d.date_debut BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month_start, $day, $year_start))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month_start, $day, $year_start))."'";
else
$sql.= " AND date_format(d.date_debut, '%m') = '".$month_start."'";
}
if (!empty($search_user) && $search_user > 0) $sql.= " AND d.fk_user_author = ".$search_user."\n";
if($search_state != '') $sql.= " AND d.fk_c_expensereport_statuts = '$search_state'\n";
else if ($year_start > 0)
{
$sql.= " AND d.date_debut BETWEEN '".$db->idate(dol_get_first_day($year_start,1,false))."' AND '".$db->idate(dol_get_last_day($year_start,12,false))."'";
}
// Date Start
if ($month_end > 0)
{
if ($year_end > 0 && empty($day))
$sql.= " AND d.date_fin BETWEEN '".$db->idate(dol_get_first_day($year_end,$month_end,false))."' AND '".$db->idate(dol_get_last_day($year_end,$month_end,false))."'";
else if ($year_end > 0 && ! empty($day))
$sql.= " AND d.date_fin BETWEEN '".$db->idate(dol_mktime(0, 0, 0, $month_end, $day, $year_end))."' AND '".$db->idate(dol_mktime(23, 59, 59, $month_end, $day, $year_end))."'";
else
$sql.= " AND date_format(d.date_fin, '%m') = '".$month_end."'";
}
else if ($year_end > 0)
{
$sql.= " AND d.date_fin BETWEEN '".$db->idate(dol_get_first_day($year_end,1,false))."' AND '".$db->idate(dol_get_last_day($year_end,12,false))."'";
}
// User
if ($search_name)
{
$sql .= natural_search('u.lastname', $search_name);
}
// Status
if($search_status != '') $sql.= " AND d.fk_statut = '".$search_status."'";
// RESTRICT RIGHTS
if (empty($user->rights->expensereport->readall) && empty($user->rights->expensereport->lire_tous))
@ -219,17 +193,13 @@ if ($resql)
print '<td class="liste_titre">&nbsp;</td>';
}
print '<td class="liste_titre">&nbsp;</td>';
print '<td class="liste_titre">&nbsp;</td>';
print '<td class="liste_titre" align="right">';
print "</td>";
print '<td class="liste_titre">&nbsp;</td>';
// Status
print '<td class="liste_titre" align="right">';
select_expensereport_statut($search_state,'search_state');
select_expensereport_statut($search_status,'search_status');
print '</td>';
print '<td class="liste_titre" align="right">';
@ -257,10 +227,6 @@ if ($resql)
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="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="right">'.price($objp->total_tva, '', $langs, 0, 'MT', 0, $conf->currency).'</td>';
print '<td align="right">'.price($objp->total_ht, '', $langs, 0, 'MT', 0, $conf->currency).'</td>';
print '<td align="right">'.price($objp->total_ttc, '', $langs, 0, 'MT', 0, $conf->currency).'</td>';
*/
print '<td align="right">'.price($objp->total_ht).'</td>';
print '<td align="right">'.price($objp->total_tva).'</td>';
print '<td align="right">'.price($objp->total_ttc).'</td>';
@ -281,11 +247,7 @@ if ($resql)
print '<tr class="liste_total">';
print '<td colspan="4">'.$langs->trans("Total").'</td>';
/*
print '<td style="text-align:right;">'.price($total_total_tva, '', $langs, 0, 'MT', 0, $conf->currency).'</td>';
print '<td style="text-align:right;">'.price($total_total_ht, '', $langs, 0, 'MT', 0, $conf->currency).'</td>';
print '<td style="text-align:right;">'.price($total_total_ttc, '', $langs, 0, 'MT', 0, $conf->currency).'</td>';
*/
print '<td style="text-align:right;">'.$total_total_ht.'</td>';
print '<td style="text-align:right;">'.$total_total_tva.'</td>';
print '<td style="text-align:right;">'.$total_total_ttc.'</td>';

View File

View File

@ -16,8 +16,8 @@
*/
require '../main.inc.php';
require_once(DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php');
dol_include_once("/expensereport/class/expensereport.class.php");
require_once DOL_DOCUMENT_ROOT . '/compta/bank/class/account.class.php';
require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php';
$langs->load("companies");
$langs->load("users");
@ -49,12 +49,12 @@ if ($_GET["action"] == 'confirm_ndf_to_account' && $_GET["confirm"] == "yes"):
$insertid = $acct->addline($dateop, $operation, $label, $amount, $num_chq, $cat1, $user);
if ($insertid > 0):
$sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d";
$sql = " UPDATE ".MAIN_DB_PREFIX."expensereport as d";
$sql.= " SET integration_compta = 1, fk_bank_account = $idAccount";
$sql.= " WHERE rowid = $idTrip";
$resql=$db->query($sql);
if($result):
Header("Location: synchro_compta.php?account=".$idAccount);
Header("Location: ".$_SERVER["PHP_SELF"]."?account=".$idAccount);
exit;
else:
dol_print_error($db);
@ -75,12 +75,12 @@ if ($_GET["action"] == 'confirm_account_to_ndf' && $_GET["confirm"] == "yes"):
$sql.= " WHERE label LIKE '%".$expensereport->ref."%'";
$resql=$db->query($sql);
if ($resql > 0):
$sql = " UPDATE ".MAIN_DB_PREFIX."expensereport d";
$sql = " UPDATE ".MAIN_DB_PREFIX."expensereport as d";
$sql.= " SET integration_compta = 0, fk_bank_account = 0";
$sql.= " WHERE rowid = $idTrip";
$resql=$db->query($sql);
if($result):
Header("Location: synchro_compta.php?account=".$idAccount);
Header("Location: ".$_SERVER["PHP_SELF"]."?account=".$idAccount);
exit;
else:
dol_print_error($db);
@ -110,13 +110,13 @@ dol_fiche_head('');
if ($_GET["action"] == 'ndfTOaccount'):
$idTrip = $_GET['idTrip'];
$ret=$html->form_confirm("synchro_compta.php?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("ndfToAccount"),$langs->trans("ConfirmNdfToAccount"),"confirm_ndf_to_account","","",1);
$ret=$html->form_confirm($_SERVER["PHP_SELF"]."?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("ndfToAccount"),$langs->trans("ConfirmNdfToAccount"),"confirm_ndf_to_account","","",1);
if ($ret == 'html') print '<br />';
endif;
if ($_GET["action"] == 'accountTOndf'):
$idTrip = $_GET['idTrip'];
$ret=$html->form_confirm("synchro_compta.php?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("AccountToNdf"),$langs->trans("ConfirmAccountToNdf"),"confirm_account_to_ndf","","",1);
$ret=$html->form_confirm($_SERVER["PHP_SELF"]."?idTrip=".$idTrip."&account=".$idAccount,$langs->trans("AccountToNdf"),$langs->trans("ConfirmAccountToNdf"),"confirm_account_to_ndf","","",1);
if ($ret == 'html') print '<br />';
endif;
@ -136,11 +136,11 @@ else:
print '&nbsp;<input type="submit" class="button" value="'.$langs->trans("ViewAccountSynch").'">';
print "</form>";
$sql = "SELECT d.fk_bank_account, d.ref, d.rowid, d.date_valid, d.fk_user_author, d.total_ttc, d.integration_compta, d.fk_c_expensereport_statuts";
$sql = "SELECT d.fk_bank_account, d.ref, d.rowid, d.date_valid, d.fk_user_author, d.total_ttc, d.integration_compta, d.fk_statut";
$sql.= " ,CONCAT(u.firstname,' ',u.lastname) as declarant_NDF";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport d";
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user u ON d.fk_user_author = u.rowid";
$sql.= " WHERE d.fk_c_expensereport_statuts = 6";
$sql.= " FROM ".MAIN_DB_PREFIX."expensereport as d";
$sql.= " INNER JOIN ".MAIN_DB_PREFIX."user as u ON d.fk_user_author = u.rowid";
$sql.= " WHERE d.fk_statut = 6";
$sql.= " ORDER BY d.date_valid DESC";
$resql=$db->query($sql);
@ -200,7 +200,7 @@ else:
print "</table>";
else:
print '<div class="error">'.$langs->trans("AucuneTripToSynch").'</div>';
print '<div class="error">'.$langs->trans("NoTripToSync").'</div>';
endif;
$db->free($resql);

View File

@ -162,7 +162,7 @@ CREATE TABLE llx_expensereport (
fk_user_refuse integer DEFAULT NULL,
fk_user_cancel integer DEFAULT NULL,
fk_user_paid integer DEFAULT NULL,
fk_c_expensereport_statuts integer NOT NULL, -- 1=brouillon, 2=validé (attente approb), 4=annulé, 5=approuvé, 6=payed, 99=refusé
fk_statut integer NOT NULL, -- 1=brouillon, 2=validé (attente approb), 4=annulé, 5=approuvé, 6=payed, 99=refusé
fk_c_paiement integer DEFAULT NULL,
note_public text,
note_private text,

View File

@ -44,7 +44,7 @@ CREATE TABLE llx_expensereport (
fk_user_refuse integer DEFAULT NULL,
fk_user_cancel integer DEFAULT NULL,
fk_user_paid integer DEFAULT NULL,
fk_c_expensereport_statuts integer NOT NULL, -- 1=brouillon, 2=validé (attente approb), 4=annulé, 5=approuvé, 6=payed, 99=refusé
fk_statut integer NOT NULL, -- 1=brouillon, 2=validé (attente approb), 4=annulé, 5=approuvé, 6=payed, 99=refusé
fk_c_paiement integer DEFAULT NULL,
note_public text,
note_private text,