Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
bfdf88ca6c
@ -162,7 +162,7 @@ class box_actions extends ModeleBoxes
|
|||||||
|
|
||||||
$this->info_box_contents[$line][2] = array(
|
$this->info_box_contents[$line][2] = array(
|
||||||
'td' => 'class="center nowraponall"',
|
'td' => 'class="center nowraponall"',
|
||||||
'text' => dol_print_date($datelimite, "dayhour", 'tzuserrel'),
|
'text' => $datelimite ? dol_print_date($datelimite, "dayhour", 'tzuserrel') : '',
|
||||||
'asis' => 1
|
'asis' => 1
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -85,7 +85,7 @@ class box_graph_nb_ticket_last_x_days extends ModeleBoxes
|
|||||||
|
|
||||||
|
|
||||||
$param_day = 'DOLUSERCOOKIE_ticket_last_days';
|
$param_day = 'DOLUSERCOOKIE_ticket_last_days';
|
||||||
if ($_POST[$param_day]) {
|
if (!empty($_POST[$param_day])) {
|
||||||
if ($_POST[$param_day] >= 15) {
|
if ($_POST[$param_day] >= 15) {
|
||||||
$days = 14;
|
$days = 14;
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@ -161,7 +161,7 @@ class box_supplier_orders_awaiting_reception extends ModeleBoxes
|
|||||||
|
|
||||||
$this->info_box_contents[$line][] = array(
|
$this->info_box_contents[$line][] = array(
|
||||||
'td' => 'class="right"',
|
'td' => 'class="right"',
|
||||||
'text' => $delayIcon.'<span class="classfortooltip" title="'.$langs->trans('DateDeliveryPlanned').'"><i class="fa fa-dolly" ></i> '.dol_print_date($delivery_date, 'day', 'tzuserrel').'</span>',
|
'text' => $delayIcon.'<span class="classfortooltip" title="'.$langs->trans('DateDeliveryPlanned').'"><i class="fa fa-dolly" ></i> '.($delivery_date ? dol_print_date($delivery_date, 'day', 'tzuserrel') : '').'</span>',
|
||||||
'asis' => 1
|
'asis' => 1
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -1384,7 +1384,7 @@ class DolGraph
|
|||||||
|
|
||||||
$textoflegend = $arrayofgroupslegend[$i]['legendwithgroup'];
|
$textoflegend = $arrayofgroupslegend[$i]['legendwithgroup'];
|
||||||
} else {
|
} else {
|
||||||
$textoflegend = $this->Legend[$i];
|
$textoflegend = !empty($this->Legend[$i]) ? $this->Legend[$i] : '';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($usecolorvariantforgroupby) {
|
if ($usecolorvariantforgroupby) {
|
||||||
|
|||||||
@ -99,7 +99,7 @@ function bankline_prepare_head($id)
|
|||||||
*/
|
*/
|
||||||
function payment_supplier_prepare_head(Paiement $object)
|
function payment_supplier_prepare_head(Paiement $object)
|
||||||
{
|
{
|
||||||
global $langs, $conf;
|
global $db, $langs, $conf;
|
||||||
|
|
||||||
$h = 0;
|
$h = 0;
|
||||||
$head = array();
|
$head = array();
|
||||||
@ -120,6 +120,19 @@ function payment_supplier_prepare_head(Paiement $object)
|
|||||||
$head[$h][2] = 'info';
|
$head[$h][2] = 'info';
|
||||||
$h++;
|
$h++;
|
||||||
|
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/link.class.php';
|
||||||
|
$upload_dir = $conf->fournisseur->payment->dir_output.'/'.$object->ref;
|
||||||
|
$nbFiles = count(dol_dir_list($upload_dir, 'files', 0, '', '(\.meta|_preview.*\.png)$'));
|
||||||
|
$nbLinks = Link::count($db, $object->element, $object->id);
|
||||||
|
$head[$h][0] = DOL_URL_ROOT.'/fourn/paiement/document.php?id='.$object->id;
|
||||||
|
$head[$h][1] = $langs->trans('Documents');
|
||||||
|
if (($nbFiles + $nbLinks) > 0) {
|
||||||
|
$head[$h][1] .= '<span class="badge marginleftonlyshort">'.($nbFiles + $nbLinks).'</span>';
|
||||||
|
}
|
||||||
|
$head[$h][2] = 'documents';
|
||||||
|
$h++;
|
||||||
|
|
||||||
complete_head_from_modules($conf, $langs, $object, $head, $h, 'payment_supplier', 'remove');
|
complete_head_from_modules($conf, $langs, $object, $head, $h, 'payment_supplier', 'remove');
|
||||||
|
|
||||||
return $head;
|
return $head;
|
||||||
|
|||||||
@ -812,6 +812,25 @@ class pdf_standard extends ModelePDFSuppliersPayments
|
|||||||
$pdf->SetFont('', '', $default_font_size - 1);
|
$pdf->SetFont('', '', $default_font_size - 1);
|
||||||
$pdf->SetXY($posx + 2, $posy);
|
$pdf->SetXY($posx + 2, $posy);
|
||||||
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
|
$pdf->MultiCell($widthrecbox, 4, $carac_client, 0, 'L');
|
||||||
|
|
||||||
|
// Show default IBAN account
|
||||||
|
$sql = "SELECT iban_prefix";
|
||||||
|
$sql .= " FROM ".MAIN_DB_PREFIX."societe_rib as rib";
|
||||||
|
$sql .= " WHERE fk_soc = ".($object->thirdparty->id);
|
||||||
|
$sql .= " AND rib.default_rib = 1";
|
||||||
|
$sql .= " AND rib.type = 'ban'";
|
||||||
|
$sql .= " LIMIT 1";
|
||||||
|
$resql = $this->db->query($sql);
|
||||||
|
if ($resql) {
|
||||||
|
$obj = $this->db->fetch_object($resql);
|
||||||
|
$iban = $obj->iban_prefix;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($iban)) {
|
||||||
|
$pdf->SetFont('', '', $default_font_size - 1);
|
||||||
|
$pdf->SetXY($posx + 2, $posy + 15);
|
||||||
|
$pdf->MultiCell($widthrecbox, 4, $langs->trans("IBAN").': '.$iban, 0, 'L');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -135,6 +135,13 @@ $upload_dir = $conf->fournisseur->payment->dir_output;
|
|||||||
$permissiontoadd = true;
|
$permissiontoadd = true;
|
||||||
include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';
|
include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';
|
||||||
|
|
||||||
|
// Actions to send emails
|
||||||
|
$triggersendname = 'PAYMENTRECEIPT_SENTBYMAIL';
|
||||||
|
$paramname = 'id';
|
||||||
|
$autocopy = 'MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO';
|
||||||
|
$trackid = 'pre'.$object->id;
|
||||||
|
include DOL_DOCUMENT_ROOT.'/core/actions_sendmails.inc.php';
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* View
|
* View
|
||||||
@ -334,6 +341,18 @@ if ($result > 0) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
print '<div class="tabsAction">';
|
print '<div class="tabsAction">';
|
||||||
|
|
||||||
|
// Send by mail
|
||||||
|
if ($user->socid == 0 && $action == '') {
|
||||||
|
$usercansend = (empty($conf->global->MAIN_USE_ADVANCED_PERMS));
|
||||||
|
if ($usercansend) {
|
||||||
|
print '<a class="butAction" href="'.$_SERVER['PHP_SELF'].'?id='.$object->id.'&action=presend&mode=init#formmailbeforetitle">'.$langs->trans('SendMail').'</a>';
|
||||||
|
} else {
|
||||||
|
print '<span class="butActionRefused classfortooltip">'.$langs->trans('SendMail').'</span>';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Payment validation
|
||||||
if (!empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) {
|
if (!empty($conf->global->BILL_ADD_PAYMENT_VALIDATION)) {
|
||||||
if ($user->socid == 0 && $object->statut == 0 && $action == '') {
|
if ($user->socid == 0 && $object->statut == 0 && $action == '') {
|
||||||
if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && (!empty($user->rights->fournisseur->facture->creer) || !empty($user->rights->supplier_invoice->creer)))
|
if ((empty($conf->global->MAIN_USE_ADVANCED_PERMS) && (!empty($user->rights->fournisseur->facture->creer) || !empty($user->rights->supplier_invoice->creer)))
|
||||||
@ -342,6 +361,8 @@ if ($result > 0) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Delete payment
|
||||||
if ($user->socid == 0 && $action == '') {
|
if ($user->socid == 0 && $action == '') {
|
||||||
if ($user->rights->fournisseur->facture->supprimer) {
|
if ($user->rights->fournisseur->facture->supprimer) {
|
||||||
if ($allow_delete) {
|
if ($allow_delete) {
|
||||||
@ -381,6 +402,15 @@ if ($result > 0) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
print '</div></div></div>';
|
print '</div></div></div>';
|
||||||
|
|
||||||
|
// Presend form
|
||||||
|
$modelmail = ''; //TODO: Add new 'payment receipt' model in email models
|
||||||
|
$defaulttopic = 'SendPaymentReceipt';
|
||||||
|
$diroutput = $conf->fournisseur->payment->dir_output;
|
||||||
|
$autocopy = 'MAIN_MAIL_AUTOCOPY_SUPPLIER_INVOICE_TO';
|
||||||
|
$trackid = 'pre'.$object->id;
|
||||||
|
|
||||||
|
include DOL_DOCUMENT_ROOT.'/core/tpl/card_presend.tpl.php';
|
||||||
} else {
|
} else {
|
||||||
$langs->load("errors");
|
$langs->load("errors");
|
||||||
print $langs->trans("ErrorRecordNotFound");
|
print $langs->trans("ErrorRecordNotFound");
|
||||||
|
|||||||
177
htdocs/fourn/paiement/document.php
Normal file
177
htdocs/fourn/paiement/document.php
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2003-2007 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
|
* Copyright (C) 2004-2016 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
|
* Copyright (C) 2005 Marc Barilley / Ocebo <marc@ocebo.com>
|
||||||
|
* Copyright (C) 2005-2012 Regis Houssin <regis.houssin@inodbox.com>
|
||||||
|
* Copyright (C) 2012 Marcos García <marcosgdf@gmail.com>
|
||||||
|
* Copyright (C) 2013 Cédric Salvador <csalvador@gpcsolutions.fr>
|
||||||
|
* Copyright (C) 2017 Ferran Marcet <fmarcet@2byte.es>
|
||||||
|
* Copyright (C) 2021 Jesus Jerez <jesusballesteros@protonmail.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
|
||||||
|
* 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 <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file htdocs/fourn/paiement/document.php
|
||||||
|
* \ingroup facture, fournisseur
|
||||||
|
* \brief Management page of attached documents to a payment
|
||||||
|
*/
|
||||||
|
|
||||||
|
require '../../main.inc.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/fourn/class/paiementfourn.class.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/images.lib.php';
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/core/lib/fourn.lib.php';
|
||||||
|
if (!empty($conf->projet->enabled)) {
|
||||||
|
require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load translation files required by the page
|
||||||
|
$langs->loadLangs(array('bills', 'banks', 'companies', 'suppliers', 'other'));
|
||||||
|
|
||||||
|
$id = GETPOST('id', 'int');
|
||||||
|
$ref = GETPOST('ref', 'alpha');
|
||||||
|
$action = GETPOST('action', 'aZ09');
|
||||||
|
$confirm = GETPOST('confirm', 'alpha');
|
||||||
|
|
||||||
|
// Security check
|
||||||
|
if ($user->socid) {
|
||||||
|
$socid = $user->socid;
|
||||||
|
}
|
||||||
|
$result = restrictedArea($user, $object->element, $object->id, 'paiementfourn', '');
|
||||||
|
|
||||||
|
// Get parameters
|
||||||
|
$limit = GETPOST('limit', 'int') ? GETPOST('limit', 'int') : $conf->liste_limit;
|
||||||
|
$sortfield = GETPOST("sortfield", 'alpha');
|
||||||
|
$sortorder = GETPOST("sortorder", 'alpha');
|
||||||
|
$page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int');
|
||||||
|
if (empty($page) || $page == -1) {
|
||||||
|
$page = 0;
|
||||||
|
} // If $page is not defined, or '' or -1
|
||||||
|
$offset = $limit * $page;
|
||||||
|
$pageprev = $page - 1;
|
||||||
|
$pagenext = $page + 1;
|
||||||
|
if (!$sortorder) {
|
||||||
|
$sortorder = "ASC";
|
||||||
|
}
|
||||||
|
if (!$sortfield) {
|
||||||
|
$sortfield = "name";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Load object
|
||||||
|
$object = new PaiementFourn($db);
|
||||||
|
if ($object->fetch($id, $ref)) {
|
||||||
|
$object->fetch_thirdparty();
|
||||||
|
$ref = dol_sanitizeFileName($object->ref);
|
||||||
|
$upload_dir = $conf->fournisseur->payment->dir_output.'/'.dol_sanitizeFileName($object->ref);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Actions
|
||||||
|
*/
|
||||||
|
|
||||||
|
include DOL_DOCUMENT_ROOT.'/core/actions_linkedfiles.inc.php';
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* View
|
||||||
|
*/
|
||||||
|
|
||||||
|
$form = new Form($db);
|
||||||
|
|
||||||
|
$title = $langs->trans('Payment')." - ".$langs->trans('Documents');
|
||||||
|
llxHeader('', $title);
|
||||||
|
|
||||||
|
if ($object->id > 0) {
|
||||||
|
$head = payment_supplier_prepare_head($object);
|
||||||
|
print dol_get_fiche_head($head, 'documents', $langs->trans("SupplierPayment"), -1, 'payment');
|
||||||
|
|
||||||
|
// Supplier order card
|
||||||
|
$linkback = '<a href="'.DOL_URL_ROOT.'/fourn/paiement/list.php'.(!empty($socid) ? '?socid='.$socid : '').'">'.$langs->trans("BackToList").'</a>';
|
||||||
|
|
||||||
|
$morehtmlref = '<div class="refidno">';
|
||||||
|
|
||||||
|
// Date of payment
|
||||||
|
$morehtmlref .= $form->editfieldkey("Date", 'datep', $object->date, $object, $object->statut == 0 && ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer), 'datehourpicker', '', null, 3).': ';
|
||||||
|
$morehtmlref .= $form->editfieldval("Date", 'datep', $object->date, $object, $object->statut == 0 && ($user->rights->fournisseur->facture->creer || $user->rights->supplier_invoice->creer), 'datehourpicker', '', null, $langs->trans('PaymentDateUpdateSucceeded'));
|
||||||
|
|
||||||
|
// Payment mode
|
||||||
|
$morehtmlref .= '<br>'.$langs->trans('PaymentMode').' : ';
|
||||||
|
$morehtmlref .= $langs->trans("PaymentType".$object->type_code) != ("PaymentType".$object->type_code) ? $langs->trans("PaymentType".$object->type_code) : $object->type_label;
|
||||||
|
$morehtmlref .= $object->num_payment ? ' - '.$object->num_payment : '';
|
||||||
|
|
||||||
|
// Thirdparty
|
||||||
|
$morehtmlref .= '<br>'.$langs->trans('ThirdParty').' : '.$object->thirdparty->getNomUrl(1);
|
||||||
|
|
||||||
|
// Amount
|
||||||
|
$morehtmlref .= '<br>'.$langs->trans('Amount').' : '. price($object->amount, '', $langs, 0, 0, -1, $conf->currency);
|
||||||
|
|
||||||
|
$allow_delete = 1;
|
||||||
|
// Bank account
|
||||||
|
if (!empty($conf->banque->enabled)) {
|
||||||
|
if ($object->fk_account) {
|
||||||
|
$bankline = new AccountLine($db);
|
||||||
|
$bankline->fetch($object->bank_line);
|
||||||
|
if ($bankline->rappro) {
|
||||||
|
$allow_delete = 0;
|
||||||
|
$title_button = dol_escape_htmltag($langs->transnoentitiesnoconv("CantRemoveConciliatedPayment"));
|
||||||
|
}
|
||||||
|
|
||||||
|
$morehtmlref .= '<br>'.$langs->trans('BankAccount').' : ';
|
||||||
|
$accountstatic = new Account($db);
|
||||||
|
$accountstatic->fetch($bankline->fk_account);
|
||||||
|
$morehtmlref .= $accountstatic->getNomUrl(1);
|
||||||
|
|
||||||
|
$morehtmlref .= '<br>'.$langs->trans('BankTransactionLine').' : ';
|
||||||
|
$morehtmlref .= $bankline->getNomUrl(1, 0, 'showconciliated');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
|
||||||
|
|
||||||
|
// Build file list
|
||||||
|
$filearray = dol_dir_list($upload_dir, "files", 0, '', '(\.meta|_preview.*\.png)$', $sortfield, (strtolower($sortorder) == 'desc' ?SORT_DESC:SORT_ASC), 1);
|
||||||
|
$totalsize = 0;
|
||||||
|
foreach ($filearray as $key => $file) {
|
||||||
|
$totalsize += $file['size'];
|
||||||
|
}
|
||||||
|
|
||||||
|
print '<div class="fichecenter">';
|
||||||
|
print '<div class="underbanner clearboth"></div>';
|
||||||
|
|
||||||
|
print '<table class="border tableforfield centpercent">';
|
||||||
|
print '<tr><td class="titlefield">'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
|
||||||
|
print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.dol_print_size($totalsize, 1, 1).'</td></tr>';
|
||||||
|
print "</table>\n";
|
||||||
|
|
||||||
|
print "</div>\n";
|
||||||
|
|
||||||
|
print dol_get_fiche_end();
|
||||||
|
|
||||||
|
$modulepart = 'supplier_payment';
|
||||||
|
// TODO: get the appropriate permission
|
||||||
|
$permissiontoadd = true;
|
||||||
|
$permtoedit = true;
|
||||||
|
$param = '&id='.$object->id;
|
||||||
|
include DOL_DOCUMENT_ROOT.'/core/tpl/document_actions_post_headers.tpl.php';
|
||||||
|
} else {
|
||||||
|
header('Location: index.php');
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
|
||||||
|
// End of page
|
||||||
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
@ -116,7 +116,7 @@ class Evaluation extends CommonObject
|
|||||||
'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',),
|
'fk_user_creat' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserAuthor', 'enabled'=>'1', 'position'=>510, 'notnull'=>1, 'visible'=>-2, 'foreignkey'=>'user.rowid',),
|
||||||
'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,),
|
'fk_user_modif' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'UserModif', 'enabled'=>'1', 'position'=>511, 'notnull'=>-1, 'visible'=>-2,),
|
||||||
'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>1000, 'notnull'=>-1, 'visible'=>-2,),
|
'import_key' => array('type'=>'varchar(14)', 'label'=>'ImportId', 'enabled'=>'1', 'position'=>1000, 'notnull'=>-1, 'visible'=>-2,),
|
||||||
'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'notnull'=>1, 'default'=>0, 'visible'=>5, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Brouillon', '1'=>'Validé'),),
|
'status' => array('type'=>'smallint', 'label'=>'Status', 'enabled'=>'1', 'position'=>1000, 'notnull'=>1, 'default'=>0, 'visible'=>5, 'index'=>1, 'arrayofkeyval'=>array('0'=>'Draft', '1'=>'Validated', '6' => 'Closed'),),
|
||||||
'date_eval' => array('type'=>'date', 'label'=>'DateEval', 'enabled'=>'1', 'position'=>502, 'notnull'=>1, 'visible'=>1,),
|
'date_eval' => array('type'=>'date', 'label'=>'DateEval', 'enabled'=>'1', 'position'=>502, 'notnull'=>1, 'visible'=>1,),
|
||||||
'fk_user' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'User', 'enabled'=>'1', 'position'=>504, 'notnull'=>1, 'visible'=>1,),
|
'fk_user' => array('type'=>'integer:User:user/class/user.class.php', 'label'=>'User', 'enabled'=>'1', 'position'=>504, 'notnull'=>1, 'visible'=>1,),
|
||||||
'fk_job' => array('type'=>'integer:Job:/hrm/class/job.class.php', 'label'=>'Job', 'enabled'=>'1', 'position'=>505, 'notnull'=>1, 'visible'=>1,),
|
'fk_job' => array('type'=>'integer:Job:/hrm/class/job.class.php', 'label'=>'Job', 'enabled'=>'1', 'position'=>505, 'notnull'=>1, 'visible'=>1,),
|
||||||
|
|||||||
@ -296,7 +296,7 @@ foreach ($search as $key => $val) {
|
|||||||
}
|
}
|
||||||
$mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0);
|
$mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0);
|
||||||
if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) {
|
if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) {
|
||||||
if ($search[$key] == '-1' || $search[$key] === '0') {
|
if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) {
|
||||||
$search[$key] = '';
|
$search[$key] = '';
|
||||||
}
|
}
|
||||||
$mode_search = 2;
|
$mode_search = 2;
|
||||||
|
|||||||
@ -296,7 +296,7 @@ foreach ($search as $key => $val) {
|
|||||||
}
|
}
|
||||||
$mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0);
|
$mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0);
|
||||||
if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) {
|
if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) {
|
||||||
if ($search[$key] == '-1' || $search[$key] === '0') {
|
if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) {
|
||||||
$search[$key] = '';
|
$search[$key] = '';
|
||||||
}
|
}
|
||||||
$mode_search = 2;
|
$mode_search = 2;
|
||||||
|
|||||||
@ -296,7 +296,7 @@ foreach ($search as $key => $val) {
|
|||||||
}
|
}
|
||||||
$mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0);
|
$mode_search = (($object->isInt($object->fields[$key]) || $object->isFloat($object->fields[$key])) ? 1 : 0);
|
||||||
if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) {
|
if ((strpos($object->fields[$key]['type'], 'integer:') === 0) || (strpos($object->fields[$key]['type'], 'sellist:') === 0) || !empty($object->fields[$key]['arrayofkeyval'])) {
|
||||||
if ($search[$key] == '-1' || $search[$key] === '0') {
|
if ($search[$key] == '-1' || ($search[$key] === '0' && (empty($object->fields[$key]['arrayofkeyval']) || !array_key_exists('0', $object->fields[$key]['arrayofkeyval'])))) {
|
||||||
$search[$key] = '';
|
$search[$key] = '';
|
||||||
}
|
}
|
||||||
$mode_search = 2;
|
$mode_search = 2;
|
||||||
|
|||||||
@ -249,6 +249,7 @@ EscompteOffered=Discount offered (payment before term)
|
|||||||
EscompteOfferedShort=Discount
|
EscompteOfferedShort=Discount
|
||||||
SendBillRef=Submission of invoice %s
|
SendBillRef=Submission of invoice %s
|
||||||
SendReminderBillRef=Submission of invoice %s (reminder)
|
SendReminderBillRef=Submission of invoice %s (reminder)
|
||||||
|
SendPaymentReceipt=Submission of payment receipt %s
|
||||||
NoDraftBills=No draft invoices
|
NoDraftBills=No draft invoices
|
||||||
NoOtherDraftBills=No other draft invoices
|
NoOtherDraftBills=No other draft invoices
|
||||||
NoDraftInvoices=No draft invoices
|
NoDraftInvoices=No draft invoices
|
||||||
|
|||||||
@ -244,6 +244,7 @@ EscompteOffered=Descuento (Pronto pago)
|
|||||||
EscompteOfferedShort=Descuento
|
EscompteOfferedShort=Descuento
|
||||||
SendBillRef=Envío de la factura %s
|
SendBillRef=Envío de la factura %s
|
||||||
SendReminderBillRef=Envío de la factura %s (recordatorio)
|
SendReminderBillRef=Envío de la factura %s (recordatorio)
|
||||||
|
SendPaymentReceipt=Envío del recibo de pago %s
|
||||||
NoDraftBills=Ninguna factura borrador
|
NoDraftBills=Ninguna factura borrador
|
||||||
NoOtherDraftBills=Ninguna otra factura borrador
|
NoOtherDraftBills=Ninguna otra factura borrador
|
||||||
NoDraftInvoices=Sin facturas borrador
|
NoDraftInvoices=Sin facturas borrador
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user