From 2979815223f31422af5cf946c1d782e65f41358b Mon Sep 17 00:00:00 2001 From: aspangaro Date: Tue, 16 Jun 2015 06:56:58 +0200 Subject: [PATCH] Update work on expensereport card --- htdocs/expensereport/card.php | 109 ++++++++++++++++++++++++++++------ 1 file changed, 92 insertions(+), 17 deletions(-) diff --git a/htdocs/expensereport/card.php b/htdocs/expensereport/card.php index 0b688790af7..6dc25efef4f 100644 --- a/htdocs/expensereport/card.php +++ b/htdocs/expensereport/card.php @@ -36,9 +36,11 @@ require_once DOL_DOCUMENT_ROOT . '/core/lib/expensereport.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/price.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/modules/expensereport/modules_expensereport.php'; require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php'; +require_once DOL_DOCUMENT_ROOT . '/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT . '/core/class/doleditor.class.php'; $langs->load("trips"); +$langs->load("bills"); $action=GETPOST('action'); $cancel=GETPOST('cancel'); @@ -1391,13 +1393,13 @@ else $linkback = ''.$langs->trans("BackToList").''; // Ref - print ''.$langs->trans("Ref").''; + print ''.$langs->trans("Ref").''; print $form->showrefnav($object, 'ref', $linkback, 1, 'ref', 'ref', ''); print ''; print ''; print ''.$langs->trans("Period").''; - print ''; + print ''; print get_date_range($object->date_debut,$object->date_fin,'',$langs,0); print ''; print ''; @@ -1405,25 +1407,90 @@ else { print ''; print ''.$langs->trans("ModePaiement").''; - print ''.$object->libelle_paiement.''; + print ''.$object->libelle_paiement.''; print ''; } // Status print ''; print ''.$langs->trans("Statut").''; - print ''.$object->getLibStatut(4).''; + print ''.$object->getLibStatut(4).''; print ''; print ''; print ''.$langs->trans("NotePublic").''; - print ''.$object->note_public.''; + print ''.$object->note_public.''; print ''; print ''; print ''.$langs->trans("NotePrivate").''; - print ''.$object->note_private.''; + print ''.$object->note_private.''; print ''; print ''; print ''.$langs->trans("AmountHT").''; print ''.price($object->total_ht).''; + print ''; + /* + * Payments + */ + $sql = "SELECT p.rowid, p.num_payment, p.datep as dp, p.amount,"; + $sql.= "c.code as type_code,c.libelle as paiement_type"; + $sql.= " FROM ".MAIN_DB_PREFIX."payment_expensereport as p"; + $sql.= ", ".MAIN_DB_PREFIX."c_paiement as c "; + $sql.= ", ".MAIN_DB_PREFIX."expensereport as e"; + $sql.= " WHERE e.rowid = '".$id."'"; + $sql.= " AND p.fk_expensereport = e.rowid"; + $sql.= " AND e.entity = ".$conf->entity; + $sql.= " AND p.fk_typepayment = c.id"; + $sql.= " ORDER BY dp"; + + //print $sql; + $resql = $db->query($sql); + if ($resql) + { + $num = $db->num_rows($resql); + $i = 0; $total = 0; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + $var=True; + while ($i < $num) + { + $objp = $db->fetch_object($resql); + $var=!$var; + print "'; + print '\n"; + $labeltype=$langs->trans("PaymentType".$object->type_code)!=("PaymentType".$object->type_code)?$langs->trans("PaymentType".$object->type_code):$object->paiement_type; + print "\n"; + print '\n"; + print ""; + $totalpaid += $objp->total_ttc; + $i++; + } + + if ($object->paid == 0) + { + print "\n"; + print "\n"; + + $remaintopay = $object->total_ttc - $totalpaid; + + print ""; + print "\n"; + } + print "
'.$langs->trans("RefPayment").''.$langs->trans("Date").''.$langs->trans("Type").''.$langs->trans("Amount").' 
"; + print ''.img_object($langs->trans("Payment"),"payment").' '.$objp->rowid.''.dol_print_date($db->jdate($objp->dp),'day')."".$labeltype.' '.$object->num_payment."'.price($objp->total_ttc)." ".$langs->trans("Currency".$conf->currency)."
".$langs->trans("AlreadyPaid")." :".price($totalpaid)." ".$langs->trans("Currency".$conf->currency)."
".$langs->trans("AmountExpected")." :".price($object->amount)." ".$langs->trans("Currency".$conf->currency)."
".$langs->trans("RemainderToPay")." :".price($remaintopay)." ".$langs->trans("Currency".$conf->currency)."
"; + $db->free($resql); + } + else + { + dol_print_error($db); + } + print ""; + print ''; print ''; print ''.$langs->trans("AmountVAT").''; @@ -1643,7 +1710,7 @@ else { //modif ligne!!!!! print ''; - // Sélection date + // Select date print ''; $form->select_date($objp->date,'date'); print ''; @@ -1872,9 +1939,9 @@ if ($action != 'create' && $action != 'edit') /* Si l'état est "En attente d'approbation" * ET user à droit de "approve" - * ET fk_user_validator == user courant - * Afficher : "Valider" / "Refuser" / "Supprimer" - */ + * ET fk_user_validator == user courant + * Afficher : "Valider" / "Refuser" / "Supprimer" + */ if ($object->fk_statut == 2) { if ($object->fk_user_author == $user->id) @@ -1906,14 +1973,22 @@ if ($action != 'create' && $action != 'edit') print 'id.'">'.$langs->trans('Delete').''; } } - + /* Si l'état est "A payer" * ET user à droit de "to_paid" - * Afficher : "Annuler" / "Payer" / "Supprimer" - */ - if ($user->rights->expensereport->to_paid && $object->fk_statut == 5) + * Afficher : "Annuler" / "Payer" / "Supprimer" + */ + if ($user->rights->expensereport->approve && $user->rights->expensereport->to_paid && round($remaintopay) == 0 && $object->paid == 0 && $object->fk_statut == 5) { // Pay + if ($remaintopay == 0) + { + print '
' . $langs->trans('DoPayment') . '
'; + } + else + { + print '
' . $langs->trans('DoPayment') . '
'; + } print 'id.'">'.$langs->trans('TO_PAID').''; // Cancel @@ -1931,9 +2006,9 @@ if ($action != 'create' && $action != 'edit') /* Si l'état est "Payée" * ET user à droit "approve" - * ET user à droit "to_paid" - * Afficher : "Annuler" - */ + * ET user à droit "to_paid" + * Afficher : "Annuler" + */ if ($user->rights->expensereport->approve && $user->rights->expensereport->to_paid && $object->fk_statut==6) { // Cancel