From 106fe7bde65f4197db7df5ee510f3b1804041a12 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 17 May 2020 15:06:09 +0200 Subject: [PATCH] Clean conflict between direct debit and direct credit orders. --- htdocs/compta/paymentbybanktransfer/index.php | 234 ++++++++++++++++++ htdocs/core/menus/standard/eldy.lib.php | 27 +- .../modPaymentByBankTransfer.class.php | 148 +++++++++++ htdocs/core/modules/modPrelevement.class.php | 17 +- htdocs/langs/en_US/admin.lang | 4 +- htdocs/langs/en_US/banks.lang | 2 + htdocs/langs/en_US/bills.lang | 2 + htdocs/langs/en_US/modulebuilder.lang | 2 +- htdocs/langs/en_US/withdrawals.lang | 6 + htdocs/theme/eldy/global.inc.php | 1 - htdocs/website/index.php | 15 +- 11 files changed, 430 insertions(+), 28 deletions(-) create mode 100644 htdocs/compta/paymentbybanktransfer/index.php create mode 100644 htdocs/core/modules/modPaymentByBankTransfer.class.php diff --git a/htdocs/compta/paymentbybanktransfer/index.php b/htdocs/compta/paymentbybanktransfer/index.php new file mode 100644 index 00000000000..fd87dd5e447 --- /dev/null +++ b/htdocs/compta/paymentbybanktransfer/index.php @@ -0,0 +1,234 @@ + + * Copyright (C) 2005-2020 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2011 Juanjo Menent + * Copyright (C) 2013 Florian Henry + * + * 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 . + */ + +/** + * \file htdocs/compta/paymentbybanktransfer/index.php + * \ingroup paymentbybanktransfer + * \brief Payment by bank transfer index page + */ + + +require '../../main.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/prelevement/class/bonprelevement.class.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'; +require_once DOL_DOCUMENT_ROOT.'/societe/class/societe.class.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/prelevement.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'; + +// Load translation files required by the page +$langs->loadLangs(array('banks', 'categories', 'withdrawals')); + +// Security check +$socid = GETPOST('socid', 'int'); +if ($user->socid) $socid = $user->socid; +$result = restrictedArea($user, 'paymentbybanktransfer', '', ''); + + +/* + * Actions + */ + + + + +/* + * View + */ + +llxHeader('', $langs->trans("SuppliersStandingOrdersArea")); + +if (prelevement_check_config() < 0) +{ + $langs->load("errors"); + setEventMessages($langs->trans("ErrorModuleSetupNotComplete", $langs->transnoentitiesnoconv("Withdraw")), null, 'errors'); +} + +print load_fiche_titre($langs->trans("SuppliersStandingOrdersArea")); + + +print '
'; + + +$thirdpartystatic = new Societe($db); +$invoicestatic = new Facture($db); +$bprev = new BonPrelevement($db); + +print '
'; +print ''; +print ''; + +print ''; +print ''; + +print ''; +print '
'.$langs->trans("Statistics").'
'.$langs->trans("NbOfInvoiceToWithdraw").''; +print ''; +print $bprev->NbFactureAPrelever(); +print ''; +print '
'.$langs->trans("AmountToWithdraw").''; +print price($bprev->SommeAPrelever(), '', '', 1, -1, -1, 'auto'); +print '

'; + + + +/* + * Invoices waiting for withdraw + */ +$sql = "SELECT f.ref, f.rowid, f.total_ttc, f.fk_statut, f.paye, f.type,"; +$sql .= " pfd.date_demande, pfd.amount,"; +$sql .= " s.nom as name, s.rowid as socid"; +$sql .= " FROM ".MAIN_DB_PREFIX."facture as f,"; +$sql .= " ".MAIN_DB_PREFIX."societe as s"; +if (!$user->rights->societe->client->voir && !$socid) $sql .= ", ".MAIN_DB_PREFIX."societe_commerciaux as sc"; +$sql .= " , ".MAIN_DB_PREFIX."prelevement_facture_demande as pfd"; +$sql .= " WHERE s.rowid = f.fk_soc"; +$sql .= " AND f.entity IN (".getEntity('invoice').")"; +$sql .= " AND f.total_ttc > 0"; +if (empty($conf->global->WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS)) +{ + $sql .= " AND f.fk_statut = ".Facture::STATUS_VALIDATED; +} +$sql .= " AND pfd.traite = 0 AND pfd.fk_facture_fourn = f.rowid"; +if (!$user->rights->societe->client->voir && !$socid) $sql .= " AND s.rowid = sc.fk_soc AND sc.fk_user = ".$user->id; +if ($socid) $sql .= " AND f.fk_soc = ".$socid; + +$resql = $db->query($sql); +if ($resql) +{ + $num = $db->num_rows($resql); + $i = 0; + + print '
'; + print ''; + print ''; + print ''; + if ($num) + { + while ($i < $num && $i < 20) + { + $obj = $db->fetch_object($resql); + + $invoicestatic->id = $obj->rowid; + $invoicestatic->ref = $obj->ref; + $invoicestatic->statut = $obj->fk_statut; + $invoicestatic->paye = $obj->paye; + $invoicestatic->type = $obj->type; + $alreadypayed = $invoicestatic->getSommePaiement(); + + + print ''; + + print ''; + + print ''; + + print ''; + + print ''; + print ''; + $i++; + } + } + else + { + print ''; + } + print "
'.$langs->trans("SupplierInvoiceWaitingWithdraw").' ('.$num.')
'; + print $invoicestatic->getNomUrl(1, 'withdraw'); + print ''; + $thirdpartystatic->id = $obj->socid; + $thirdpartystatic->name = $obj->name; + print $thirdpartystatic->getNomUrl(1, 'customer'); + print ''; + print price($obj->amount); + print ''; + print dol_print_date($db->jdate($obj->date_demande), 'day'); + print ''; + print $invoicestatic->getLibStatut(3, $alreadypayed); + print '
'.$langs->trans("NoSupplierInvoiceToWithdraw", $langs->transnoentitiesnoconv("BankTransfer")).'

"; +} +else +{ + dol_print_error($db); +} + + +print '
'; + + +/* + * Withdraw receipts + */ +$limit = 5; +$sql = "SELECT p.rowid, p.ref, p.amount, p.datec, p.statut"; +$sql .= " FROM ".MAIN_DB_PREFIX."prelevement_bons as p"; +$sql .= " ORDER BY datec DESC"; +$sql .= $db->plimit($limit); + +$result = $db->query($sql); +if ($result) +{ + $num = $db->num_rows($result); + $i = 0; + + print"\n\n"; + print '
'; + print ''; + print ''; + print ''; + print ''; + print ''; + print ''; + + while ($i < min($num, $limit)) + { + $obj = $db->fetch_object($result); + + + print ''; + + print "\n"; + print '\n"; + print '\n"; + print '\n"; + + print "\n"; + $i++; + } + print "
'.$langs->trans("LatestBankTransferReceipts", $limit).''.$langs->trans("Date").''.$langs->trans("Amount").''.$langs->trans("Status").'
"; + $bprev->id = $obj->rowid; + $bprev->ref = $obj->ref; + $bprev->statut = $obj->statut; + print $bprev->getNomUrl(1); + print "'.dol_print_date($db->jdate($obj->datec), "dayhour")."'.price($obj->amount)."'.$bprev->getLibStatut(3)."

"; + $db->free($result); +} +else +{ + dol_print_error($db); +} + + +print '
'; + +// End of page +llxFooter(); +$db->close(); diff --git a/htdocs/core/menus/standard/eldy.lib.php b/htdocs/core/menus/standard/eldy.lib.php index cc27a4ae825..3f539260856 100644 --- a/htdocs/core/menus/standard/eldy.lib.php +++ b/htdocs/core/menus/standard/eldy.lib.php @@ -308,8 +308,8 @@ function print_eldy_menu($db, $atarget, $type_user, &$tabMenu, &$menu, $noout = // Bank $tmpentry = array( 'enabled'=>(!empty($conf->banque->enabled) || !empty($conf->prelevement->enabled)), - 'perms'=>(!empty($user->rights->banque->lire) || !empty($user->rights->prelevement->lire)), - 'module'=>'banque|prelevement' + 'perms'=>(!empty($user->rights->banque->lire) || !empty($user->rights->prelevement->lire) || !empty($user->rights->paymentbybanktransfer->read)), + 'module'=>'banque|prelevement|paymentbybanktransfer' ); $menu_arr[] = array( 'name' => 'Bank', @@ -1464,7 +1464,7 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM // Load translation files required by the page $langs->loadLangs(array("withdrawals", "banks", "bills", "categories")); - // Bank-Caisse + // Bank-Cash account if (!empty($conf->banque->enabled)) { $newmenu->add("/compta/bank/list.php?leftmenu=bank&mainmenu=bank", $langs->trans("MenuBankCash"), 0, $user->rights->banque->lire, '', $mainmenu, 'bank'); @@ -1484,14 +1484,12 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM $newmenu->add("/compta/bank/categ.php", $langs->trans("RubriquesTransactions"), 1, $user->rights->categorie->creer, '', $mainmenu, 'tags'); } - // Prelevements + // Direct debit order if (!empty($conf->prelevement->enabled)) { $newmenu->add("/compta/prelevement/index.php?leftmenu=withdraw&mainmenu=bank", $langs->trans("StandingOrders"), 0, $user->rights->prelevement->bons->lire, '', $mainmenu, 'withdraw'); if ($usemenuhider || empty($leftmenu) || $leftmenu == "withdraw") { - //$newmenu->add("/compta/prelevement/demandes.php?status=0&mainmenu=bank",$langs->trans("StandingOrderToProcess"),1,$user->rights->prelevement->bons->lire); - $newmenu->add("/compta/prelevement/create.php?mainmenu=bank", $langs->trans("NewStandingOrder"), 1, $user->rights->prelevement->bons->creer); $newmenu->add("/compta/prelevement/bons.php?mainmenu=bank", $langs->trans("WithdrawalsReceipts"), 1, $user->rights->prelevement->bons->lire); @@ -1503,7 +1501,22 @@ function print_left_eldy_menu($db, $menu_array_before, $menu_array_after, &$tabM } } - // Gestion cheques + // Bank transfer order + if (!empty($conf->paymentbybanktransfer->enabled)) + { + $newmenu->add("/compta/paymentbybanktransfer/index.php?leftmenu=banktransfer&mainmenu=bank", $langs->trans("PaymentByBankTransfer"), 0, $user->rights->paymentbybanktransfer->read, '', $mainmenu, 'banktransfer'); + + if ($usemenuhider || empty($leftmenu) || $leftmenu == "banktransfer") { + $newmenu->add("/compta/paymentbybanktransfer/create.php?mainmenu=bank", $langs->trans("NewPaymentByBankTransfer"), 1, $user->rights->paymentbybanktransfer->create); + + $newmenu->add("/compta/paymentbybanktransfer/bons.php?mainmenu=bank", $langs->trans("PaymentByBankTransferReceipts"), 1, $user->rights->paymentbybanktransfer->read); + $newmenu->add("/compta/paymentbybanktransfer/list.php?mainmenu=bank", $langs->trans("PaymentByBankTransferLines"), 1, $user->rights->paymentbybanktransfer->read); + $newmenu->add("/compta/paymentbybanktransfer/rejets.php?mainmenu=bank", $langs->trans("Rejects"), 1, $user->rights->paymentbybanktransfer->read); + $newmenu->add("/compta/paymentbybanktransfer/stats.php?mainmenu=bank", $langs->trans("Statistics"), 1, $user->rights->paymentbybanktransfer->read); + } + } + + // Management of checks if (empty($conf->global->BANK_DISABLE_CHECK_DEPOSIT) && !empty($conf->banque->enabled) && (!empty($conf->facture->enabled) || !empty($conf->global->MAIN_MENU_CHEQUE_DEPOSIT_ON))) { $newmenu->add("/compta/paiement/cheque/index.php?leftmenu=checks&mainmenu=bank", $langs->trans("MenuChequeDeposits"), 0, $user->rights->banque->cheque, '', $mainmenu, 'checks'); diff --git a/htdocs/core/modules/modPaymentByBankTransfer.class.php b/htdocs/core/modules/modPaymentByBankTransfer.class.php new file mode 100644 index 00000000000..d68274e2dee --- /dev/null +++ b/htdocs/core/modules/modPaymentByBankTransfer.class.php @@ -0,0 +1,148 @@ + + * Copyright (C) 2005-2010 Laurent Destailleur + * Copyright (C) 2005-2009 Regis Houssin + * Copyright (C) 2010-2011 Juanjo Menent + * + * 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 . + */ + +/** + * \defgroup paymentbybanktransfer Module paymentbybanktransfer + * \brief Module to manage payment by bank transfer + * \file htdocs/core/modules/modPaymentByBankTransfer.class.php + * \ingroup paymentbybanktransfer + * \brief File to describe and activate the module PaymentByBankTransfer + */ + +include_once DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'; + + +/** + * Class to describe and enable module of payment by Bank transfer + */ +class modPaymentByBankTransfer extends DolibarrModules +{ + + /** + * Constructor. Define names, constants, directories, boxes, permissions + * + * @param DoliDB $db Database handler + */ + public function __construct($db) + { + global $conf; + + $this->db = $db; + $this->numero = 56; + + $this->family = "financial"; + $this->module_position = '52'; + // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) + $this->name = preg_replace('/^mod/i', '', get_class($this)); + $this->description = "Management of payment by bank transfer"; + + // Possible values for version are: 'development', 'experimental', 'dolibarr' or version + $this->version = 'development'; + + $this->const_name = 'MAIN_MODULE_'.strtoupper($this->name); + // Name of png file (without png) used for this module + $this->picto = 'payment'; + + // Data directories to create when module is enabled + $this->dirs = array("/paymentbybanktransfer/temp", "/paymentbybanktransfer/receipts"); + + // Dependencies + $this->hidden = false; // A condition to hide module + $this->depends = array("modFournisseur", "modBanque"); // List of module class names as string that must be enabled if this module is enabled + $this->requiredby = array(); // List of module ids to disable if this one is disabled + $this->conflictwith = array(); // List of module class names as string this module is in conflict with + $this->phpmin = array(5, 4); // Minimum version of PHP required by module + + // Config pages + $this->config_page_url = array("paymentbybanktransfer.php"); + + // Constants + $this->const = array(); + $r = 0; + + /*$this->const[$r][0] = "BANK_ADDON_PDF"; + $this->const[$r][1] = "chaine"; + $this->const[$r][2] = "sepamandate"; + $this->const[$r][3] = 'Name of manager to generate SEPA mandate'; + $this->const[$r][4] = 0; + $r++;*/ + + + // Boxes + $this->boxes = array(); + + // Permissions + $this->rights = array(); + $this->rights_class = 'paymentbybanktransfer'; + $r = 0; + $r++; + $this->rights[$r][0] = 561; + $this->rights[$r][1] = 'Read bank transfer payment orders'; + $this->rights[$r][2] = 'r'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'read'; + + $r++; + $this->rights[$r][0] = 562; + $this->rights[$r][1] = 'Create/modify a bank transfer payment order'; + $this->rights[$r][2] = 'w'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'create'; + + $r++; + $this->rights[$r][0] = 563; + $this->rights[$r][1] = 'Send/Transmit bank transfer payment order'; + $this->rights[$r][2] = 'a'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'send'; + + $r++; + $this->rights[$r][0] = 564; + $this->rights[$r][1] = 'Record Debits/Rejects of bank transfer payment order'; + $this->rights[$r][2] = 'a'; + $this->rights[$r][3] = 0; + $this->rights[$r][4] = 'debit'; + + // Menus + //------- + $this->menu = 1; // This module add menu entries. They are coded into menu manager. + } + + + /** + * Function called when module is enabled. + * The init function add constants, boxes, permissions and menus (defined in constructor) into Dolibarr database. + * It also creates data directories + * + * @param string $options Options when enabling module ('', 'noboxes') + * @return int 1 if OK, 0 if KO + */ + public function init($options = '') + { + global $conf; + + // Permissions + $this->remove($options); + + $sql = array(); + + return $this->_init($sql, $options); + } +} diff --git a/htdocs/core/modules/modPrelevement.class.php b/htdocs/core/modules/modPrelevement.class.php index 4eb1ce3a171..00259fec22c 100644 --- a/htdocs/core/modules/modPrelevement.class.php +++ b/htdocs/core/modules/modPrelevement.class.php @@ -20,17 +20,17 @@ /** * \defgroup prelevement Module prelevement - * \brief Module de gestion des prelevements bancaires + * \brief Module to manage Direct debit orders * \file htdocs/core/modules/modPrelevement.class.php * \ingroup prelevement - * \brief Fichier de description et activation du module Prelevement + * \brief File to describe and enable the module Prelevement */ include_once DOL_DOCUMENT_ROOT.'/core/modules/DolibarrModules.class.php'; /** - * Class to describe and enable module Prelevement + * Class to describe and enable module of payment by Direct Debit */ class modPrelevement extends DolibarrModules { @@ -51,7 +51,7 @@ class modPrelevement extends DolibarrModules $this->module_position = '52'; // Module label (no space allowed), used if translation string 'ModuleXXXName' not found (where XXX is value of numeric property 'numero' of module) $this->name = preg_replace('/^mod/i', '', get_class($this)); - $this->description = "Gestion des Prelevements"; + $this->description = "Management of Direct Debit orders"; // Possible values for version are: 'development', 'experimental', 'dolibarr' or version $this->version = 'dolibarr'; @@ -124,15 +124,6 @@ class modPrelevement extends DolibarrModules $this->rights[$r][4] = 'bons'; $this->rights[$r][5] = 'credit'; - /* - $this->rights[2][0] = 154; - $this->rights[2][1] = 'Setup withdraw account'; - $this->rights[2][2] = 'w'; - $this->rights[2][3] = 0; - $this->rights[2][4] = 'bons'; - $this->rights[2][5] = 'configurer'; - */ - // Menus //------- $this->menu = 1; // This module add menu entries. They are coded into menu manager. diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang index 6c139a0f10c..5e485c86dbc 100644 --- a/htdocs/langs/en_US/admin.lang +++ b/htdocs/langs/en_US/admin.lang @@ -541,8 +541,8 @@ Module54Name=Contracts/Subscriptions Module54Desc=Management of contracts (services or recurring subscriptions) Module55Name=Barcodes Module55Desc=Barcode management -Module56Name=Telephony -Module56Desc=Telephony integration +Module56Name=Payment by bank transfer +Module56Desc=Management of payment by bank transfer orders. It includes generation of SEPA file for European countries. Module57Name=Bank Direct Debit payments Module57Desc=Management of Direct Debit payment orders. It includes generation of SEPA file for European countries. Module58Name=ClickToDial diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang index e54239e9fb2..48bd2b81c2e 100644 --- a/htdocs/langs/en_US/banks.lang +++ b/htdocs/langs/en_US/banks.lang @@ -37,6 +37,8 @@ IbanValid=BAN valid IbanNotValid=BAN not valid StandingOrders=Direct Debit orders StandingOrder=Direct debit order +PaymentByBankTransfers=Payments by bank transfer +PaymentByBankTransfer=Payment by bank transfer AccountStatement=Account statement AccountStatementShort=Statement AccountStatements=Account statements diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang index 55de1591689..cb592b5e2a5 100644 --- a/htdocs/langs/en_US/bills.lang +++ b/htdocs/langs/en_US/bills.lang @@ -243,6 +243,8 @@ SendBillRef=Submission of invoice %s SendReminderBillRef=Submission of invoice %s (reminder) StandingOrders=Direct debit orders StandingOrder=Direct debit order +PaymentByBankTransfers=Payments by bank transfer +PaymentByBankTransfer=Payment by bank transfer NoDraftBills=No draft invoices NoOtherDraftBills=No other draft invoices NoDraftInvoices=No draft invoices diff --git a/htdocs/langs/en_US/modulebuilder.lang b/htdocs/langs/en_US/modulebuilder.lang index 135ac1ae9ec..b89e1fb0a38 100644 --- a/htdocs/langs/en_US/modulebuilder.lang +++ b/htdocs/langs/en_US/modulebuilder.lang @@ -27,7 +27,7 @@ DangerZone=Danger zone BuildPackage=Build package BuildPackageDesc=You can generate a zip package of your application so your are ready to distribute it on any Dolibarr. You can also distribute it or sell it on marketplace like DoliStore.com. BuildDocumentation=Build documentation -ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here: +ModuleIsNotActive=This module is not activated yet. Go to %s to make it live or click here ModuleIsLive=This module has been activated. Any change may break a current live feature. DescriptionLong=Long description EditorName=Name of editor diff --git a/htdocs/langs/en_US/withdrawals.lang b/htdocs/langs/en_US/withdrawals.lang index b1d6e30e329..ad51b045a37 100644 --- a/htdocs/langs/en_US/withdrawals.lang +++ b/htdocs/langs/en_US/withdrawals.lang @@ -4,9 +4,13 @@ SuppliersStandingOrdersArea=Direct credit payment orders area StandingOrdersPayment=Direct debit payment orders StandingOrderPayment=Direct debit payment order NewStandingOrder=New direct debit order +NewPaymentByBankTransfer=New payment by bank transfer StandingOrderToProcess=To process +PaymentByBankTransferReceipts=Bank transfer orders +PaymentByBankTransferLines=Bank transfer order lines WithdrawalsReceipts=Direct debit orders WithdrawalReceipt=Direct debit order +LatestBankTransferReceipts=Latest %s bank transfer orders LastWithdrawalReceipts=Latest %s direct debit files WithdrawalsLines=Direct debit order lines RequestStandingOrderToTreat=Request for direct debit payment order to process @@ -14,10 +18,12 @@ RequestStandingOrderTreated=Request for direct debit payment order processed NotPossibleForThisStatusOfWithdrawReceiptORLine=Not yet possible. Withdraw status must be set to 'credited' before declaring reject on specific lines. NbOfInvoiceToWithdraw=No. of qualified invoice with waiting direct debit order NbOfInvoiceToWithdrawWithInfo=No. of customer invoice with direct debit payment orders having defined bank account information +SupplierInvoiceWaitingWithdraw=Vendor invoice waiting for payment by bank transfer InvoiceWaitingWithdraw=Invoice waiting for direct debit AmountToWithdraw=Amount to withdraw WithdrawsRefused=Direct debit refused NoInvoiceToWithdraw=No customer invoice with open 'Direct debit requests' is waiting. Go on tab '%s' on invoice card to make a request. +NoSupplierInvoiceToWithdraw=No supplier invoice with open 'Direct credit requests' is waiting. Go on tab '%s' on invoice card to make a request. ResponsibleUser=User Responsible WithdrawalsSetup=Direct debit payment setup WithdrawStatistics=Direct debit payment statistics diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php index 961735f7b99..67114ccae47 100644 --- a/htdocs/theme/eldy/global.inc.php +++ b/htdocs/theme/eldy/global.inc.php @@ -6393,7 +6393,6 @@ div.tabsElem a.tab { word-break: break-word; } .badge { - line-height: 1.2em; min-width: auto; font-size: 12px; } diff --git a/htdocs/website/index.php b/htdocs/website/index.php index 690dc0efe3b..4f7cba09e89 100644 --- a/htdocs/website/index.php +++ b/htdocs/website/index.php @@ -2207,17 +2207,24 @@ if (!GETPOST('hide_websitemenu')) print ''; + $importlabel = $langs->trans("ImportSite"); + $exportlabel = $langs->trans("ExportSite"); + if (! empty($conf->dol_optimize_smallscreen)) { + $importlabel = $langs->trans("Import"); + $exportlabel = $langs->trans("Export"); + } + if ($atleastonepage) { - print ''; + print ''; } else { - print ''; + print ''; } //print ''; - print ''; + print ''; print ''; print ''; @@ -2261,7 +2268,7 @@ if (!GETPOST('hide_websitemenu')) print ''; $linktotestonwebserver = ''; - $linktotestonwebserver .= $langs->trans("TestDeployOnWeb", $virtualurl).' '.img_picto('', 'globe'); + $linktotestonwebserver .= ''.$langs->trans("TestDeployOnWeb", $virtualurl).' '.img_picto('', 'globe'); $linktotestonwebserver .= ''; $htmltext = ''; if (empty($object->fk_default_home))