diff --git a/ChangeLog b/ChangeLog
index 268c8cc5b2ce8..b27d787d51c46 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -3,6 +3,77 @@ English Dolibarr ChangeLog
--------------------------------------------------------------
+***** ChangeLog for 19.0.3 compared to 19.0.2 *****
+FIX: #29403 HRM - Unable to delete a skill in a job Profile (#29779)
+FIX: #29439 incomplete API return (#29796)
+FIX: #29756 Sql error on comment search (#29761)
+FIX: #29780 Restore filtes when using "back to list"
+FIX: #30010 : Use conf TICKET_MESSAGE_MAIL_INTRO instead of translation key (#30081)
+FIX: #30274 : Add the include before executing dolibarr_set_const (#30320)
+FIX: #30467
+FIX: #30576 - Salary payment - Date of the payment is not displayed (#30592)
+FIX: Accountancy - Avoid space on FEC name file (#29716)
+FIX: Accountancy - Generate entries of expense report with localtax (#30411)
+FIX: ASSET: annual depreciation starting year (Again ;-)) #26084 (#30040)
+FIX: Backport page inventory.php from v18 to fix pagination bugs causing data loss (#29688)
+FIX: back to page on error in contact card (#29627)
+FIX: Bad calculation of $nbtotalofrecord (#30183)
+FIX: Bad count of total of supplie rinvoice into the list
+FIX: Better compatibility when objectdesc is not valid, and warnings
+FIX: broken pdf preview when multicompany sharing (#30188)
+FIX: compatibility with MULTICOMPANY_TRANSVERSE_MODE (#30599)
+FIX: Conflict with autoload (#30399)
+FIX: Display the real_PMP on inventory when its value is equal to 0 (#22291)
+FIX: Error mesg show untranslated extrafield name (#30227)
+FIX: executeHooks $object default value (#29647)
+FIX: expedition PDF models using units labels (#30358)
+FIX: Extrafield intshowzero in list (#29789)
+FIX: Extrafields always been delete and re insert for categories (#29781)
+FIX: extrafields on Organized events was broken
+FIX: fatal error on loading pictures in attached documents of an event (#30553)
+FIX: for country type (#29745)
+FIX: group by qty in product margin tab (#29853)
+FIX: init total amounts in margin module (#29854)
+FIX: issue to get the right files exported in Quadratrus export.php (#30004)
+FIX: lang output for sales representative on PDF (#30469)
+FIX: langs in common docgenerator (#29774)
+FIX: langs overwrite (#29630)
+FIX: lettering (auto) for invoice deposit with company discount (#29633)
+FIX: missing $object and $action for hook parameters (#30484)
+FIX: Missing $param in hook call for list
+FIX: Missing expense report picto in list (#29917)
+FIX: Missing expense report picto in menu (#29908)
+FIX: Missing the description in tooltip when option show in tooltip on
+FIX: mo cloning (#29686)
+FIX: modification date from label in accounting bookkeeping list (#30038)
+FIX: move porpale ref pdf cornas (#29989)
+FIX: Not qualified lines for reception (#29473)
+FIX: on change ref for bank account attachement are lost (#30529)
+FIX: orders to bill menu (#30179)
+FIX: Page expands when ticket messages are too long (#29785)
+FIX: parameter name (#29666)
+FIX: PHP8 warning if $conf->reception is checked the old fashion way (#29697)
+FIX: PHP 8 warning on output of successful cronjob (#29922)
+FIX: PHP exception on getSpecialCode (#29646)
+FIX: php warning if cookie doesn’t exist (#29723)
+FIX: pos: invoice date incorrectly set beacause of timezome mismatches (reverts #36e91da) (#30184)
+FIX: public project form return an error if SOCIETE_EMAIL_UNIQUE (#29942)
+FIX: REPLENISH MANY FOURN WHEN ORDER ALREADY CREATE (#29710)
+FIX: Supplier Order search on date valid (#30448)
+FIX: Ternary operator condition is always true/false (#29649)
+FIX: to avoid error during upgrade with pgsql (#30443)
+FIX: transfer in accountancy for expense reports.
+FIX: unitialised var (#29728)
+FIX: - Unknown Character on HTML (#30257)
+FIX: Unsigned propal having signing date (#29825)
+FIX: Update asset.class.php
+FIX: update date_echeance of supplier invoices when we update invoice date in the past (#29886)
+FIX: User List - Function is show in wrong column when module HRM enabled (#30186)
+FIX: var name error and remove useless code (#30601)
+FIX: Warning: Undefined property: PropaleLigne::$situation_percent in /home/httpd/vhosts/aflac.fr/domains/dol190.aflac.fr/httpdocs/core/lib/pdf.lib.php on line 2442 (#30033)
+FIX: wrong value for duration unit (#30261)
+FIX: ZAR currency must show the R before the amount
+
***** ChangeLog for 19.0.2 compared to 19.0.1 *****
FIX: $object->oldcopy may be a stdClass and not original object
FIX: 16.0 - parent company gets emptied when updating a third party from the card in edit mode (#28269)
@@ -13,7 +84,7 @@ FIX: #24265 regression cannot see all product on takepos (#28753)
FIX: #26015
FIX: #28205
FIX: #28251 Fixing subpermission name on api_multicurrencies.class.php (#28252)
-FIX: #28347 FIX: #28962 FIX: #29224 FIX: #29035 (#29303)
+FIX: #28347 FIX: occurred#28962 FIX: #29224 FIX: #29035 (#29303)
FIX: #28369
FIX: #28429
FIX: #28491 (#28522)
@@ -37,7 +108,7 @@ FIX: Adding the dependencies list feature for extrafields "select" (#28549)
FIX: Add new hidden conf "DISABLE_QTY_OVERWRITTEN" (#28523)
FIX: Amount of localtaxes in foreign currency was wrong on screen and PDF
FIX: an error in a complex else condition
-FIX: an error occured when doing a mass vat change de 0% on supplier invoice (#29417)
+FIX: an error occurred when doing a mass vat change de 0% on supplier invoice (#29417)
FIX: avoid error "Column 'entity' in where clause is ambiguous" (#28270)
FIX: avoid php warnings (#29247)
FIX: avoid to delete "lock" and "unlock" files
@@ -50,7 +121,7 @@ FIX: Bad CRLF when sending text only content. Fix dol_htmlwithnojs()
FIX: Bad management on error creation of bookkeeping
FIX: Bad picto on list of permission of a user when user not admin
FIX: bad search on _ char in like when Debugbar is on
-FIX: bad timzeone for the start/end date of an event
+FIX: bad timezone for the start/end date of an event
FIX: Better test on validity of compute field syntax with parenthesis
FIX: Blank list when contract was checked in list of tickets (#29528)
FIX: Button for disabled modules must not appear.
@@ -63,7 +134,7 @@ FIX: Count of virtual stock at Services and MoLine with disabled stock change (#
FIX: css of background of modules that was black
FIX: default workstation on BOM
FIX: disabled pito of menu must be greyed.
-FIX: Display the date according to user language on subsitutions (#29510)
+FIX: Display the date according to user language on substitutions (#29510)
FIX: Don't display column when it's out of date (#28271)
FIX: duplicate error check (#29433)
FIX: duplicate with lines: 414-416 (#28358)
@@ -73,7 +144,7 @@ FIX: Ergonomic fail part02 (#29373)
FIX: Error When cloning fourn price no default value for tva_tx (#28368)
FIX: Error when updating user (#29304)
FIX: fatal error Unsupported operand types when recording load payment
-FIX: Fix create shipping with product who have negative stocks on warehouse but the negative stock transfert is allowed (#26217)
+FIX: Fix create shipping with product who have negative stocks on warehouse but the negative stock transfer is allowed (#26217)
FIX: Fix save directory for invoice ODT and multientities
FIX: hasRight function
FIX: Hide number beside select contract & added langs to translate c… (#29529)
@@ -152,7 +223,7 @@ FIX: Undefined array key default on fields (#29243)
FIX: upload odt files should not start/end with space
FIX: use $conf->browser->os instead
FIX: used hasRight function
-FIX: Value of field int = 0 from modulebuilder must nto be set to null
+FIX: Value of field int = 0 from modulebuilder must not be set to null
FIX: We should be able to add a workstation on bom lines (#29361 #29360)
fix: when invoice is created by WORKFLOW_ORDER_AUTOCREATE_INVOICE on ORDER_NEW, the invoice must have the default bank account of the thirdparty is it's empty on order
FIX: wrong array key (#29317)
@@ -2389,7 +2460,7 @@ FIX: Button text on proposal card for create a invoice
FIX: calculateCosts of BOM must not be included into fetch
FIX: calculation of balance in conciliation page on desc sorting.
FIX: card.php
-FIX: Change date format of the inventorycode to be equal as mass stock transfert
+FIX: Change date format of the inventorycode to be equal as mass stock transfer
FIX: check if greater 0
FIX: close cash with some terminals in TakePOS
FIX: compatibility with Multicompany
@@ -7171,7 +7242,7 @@ FIX: #6253 Supplier invoice list filter does not respect "thirdparty" filter
FIX: #6277
FIX: project list and ajax completion return wrong list.
FIX: bug margin calculation by user with multicompany
-FIX: Can make a stock transfert on product not on sale/purchase.
+FIX: Can make a stock transfer on product not on sale/purchase.
FIX: extrafield input for varchar was not working with special char within (ie double quotes)
FIX: javascript error
FIX: link for not found photo when using gravatar. Must use external url.
@@ -7651,7 +7722,7 @@ FIX: Check of EAN13 barcode when mask was set to use 13 digits instead of 12
FIX: correct display of minimum buying price
FIX: Creation of thumb image for size "small" was not done.
FIX: Damn, where was the project ref ?
-FIX: Default vat is not set correctly when an error occured and we use VAT identified by a code.
+FIX: Default vat is not set correctly when an error occurred and we use VAT identified by a code.
FIX: dont retrieve new buying price on margin display
FIX: Duplicate records into export
FIX: Each time we edit a line, we loose the unit price.
@@ -10410,7 +10481,7 @@ For developers:
- Can protect a module to not being enabled if javascript disabled.
- If module numberwords is installed, code can use langs->getLabelFromNumber
to get value of an amount in text.
-- A module can add subsitution keys in makesubsitutions() functions.
+- A module can add substitution keys in makesubsitutions() functions.
- Add $conf->browser->phone defined to optimise code for smartphone browsers.
- All external libs are now in same directory /includes.
- All install files are now in same directory /install.
diff --git a/build/generate_filelist_xml.php b/build/generate_filelist_xml.php
index d86b652ccb603..e08db3c0ccb7d 100755
--- a/build/generate_filelist_xml.php
+++ b/build/generate_filelist_xml.php
@@ -33,7 +33,7 @@
// Test if batch mode
if (substr($sapi_type, 0, 3) == 'cgi') {
echo "Error: You are using PHP for CGI. To execute ".$script_file." from command line, you must use PHP for CLI mode.\n";
- exit;
+ exit(1);
}
require_once $path."../htdocs/master.inc.php";
@@ -51,7 +51,7 @@
if (empty($argv[1])) {
print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value] [buildzip=1]\n";
print "Example: ".$script_file." release=6.0.0 includecustom=1 includeconstant=FR:INVOICE_CAN_ALWAYS_BE_REMOVED:0 includeconstant=all:MAILING_NO_USING_PHPMAIL:1\n";
- exit -1;
+ exit(1);
}
@@ -87,7 +87,7 @@
if (empty($release)) {
print "Error: Missing release parameter\n";
print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value]\n";
- exit -1;
+ exit(2);
}
$savrelease = $release;
@@ -107,21 +107,21 @@
if (DOL_VERSION != $tmpverbis[0] && $savrelease != 'auto') {
print 'Error: When parameter "includecustom" is not set and there is no suffix in release parameter, version declared into filefunc.in.php ('.DOL_VERSION.') must be exact same value than "release" parameter ('.$tmpverbis[0].')'."\n";
print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value]\n";
- exit -1;
+ exit(3);
}
} else {
$tmpverter = explode('-', DOL_VERSION, 2);
if ($tmpverter[0] != $tmpverbis[0]) {
print 'Error: When parameter "includecustom" is not set, version declared into filefunc.in.php ('.DOL_VERSION.') must have value without prefix ('.$tmpverter[0].') that is exact same value than "release" parameter ('.$tmpverbis[0].')'."\n";
print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value]\n";
- exit -1;
+ exit(4);
}
}
} else {
if (!preg_match('/'.preg_quote(DOL_VERSION, '/').'-/', $release)) {
print 'Error: When parameter "includecustom" is set, version declared into filefunc.inc.php ('.DOL_VERSION.') must be used with a suffix into "release" parameter (ex: '.DOL_VERSION.'-mydistrib).'."\n";
print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value]\n";
- exit -1;
+ exit(5);
}
}
@@ -147,7 +147,7 @@
$fp = fopen($outputfile, 'w');
if (empty($fp)) {
print 'Failed to open file '.$outputfile."\n";
- exit(-1);
+ exit(6);
}
fputs($fp, ''."\n");
diff --git a/dev/initdemo/mysqldump_dolibarr_19.0.0.sql b/dev/initdemo/mysqldump_dolibarr_19.0.0.sql
index 83d4645572ac0..1c3b3457fb097 100644
--- a/dev/initdemo/mysqldump_dolibarr_19.0.0.sql
+++ b/dev/initdemo/mysqldump_dolibarr_19.0.0.sql
@@ -2999,7 +2999,7 @@ DROP TABLE IF EXISTS `llx_c_type_contact`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `llx_c_type_contact` (
- `rowid` int(11) NOT NULL,
+ `rowid` int(11) NOT NULL AUTO_INCREMENT,
`element` varchar(30) NOT NULL,
`source` varchar(8) NOT NULL DEFAULT 'external',
`code` varchar(32) NOT NULL,
diff --git a/dev/resources/iso-normes/qr-bar-codes/QR code for invoices.txt b/dev/resources/iso-normes/qr-bar-codes/QR code for invoices.txt
index a749aa293308f..4030cfda6e3ea 100644
--- a/dev/resources/iso-normes/qr-bar-codes/QR code for invoices.txt
+++ b/dev/resources/iso-normes/qr-bar-codes/QR code for invoices.txt
@@ -23,6 +23,7 @@ Method to encode/decode ZATCA string is available in test/phpunit/BarcodeTest.ph
* FOR QR-Bill in switzerland - Facture-QR
+-----------------------------------------
Syntax of QR Code - See file ig-qr-bill-v2.2-fr.pdf (more doc on https://www.swiss-qr-invoice.org/downloads/)
-Syntax of complentary field named "structured information of invoice S1": https://www.swiss-qr-invoice.org/downloads/qr-bill-s1-syntax-fr.pdf
+Syntax of complementary field named "structured information of invoice S1": https://www.swiss-qr-invoice.org/downloads/qr-bill-s1-syntax-fr.pdf
To test/validate: https://www.swiss-qr-invoice.org/validator/
diff --git a/htdocs/accountancy/bookkeeping/export.php b/htdocs/accountancy/bookkeeping/export.php
index ede15e0fc2d6f..b2924a7c18699 100644
--- a/htdocs/accountancy/bookkeeping/export.php
+++ b/htdocs/accountancy/bookkeeping/export.php
@@ -1196,7 +1196,6 @@
require_once DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php';
$objectstatic = new Facture($db);
$objectstatic->fetch($line->fk_doc);
- //$modulepart = 'facture';
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->facture->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
@@ -1208,11 +1207,10 @@
require_once DOL_DOCUMENT_ROOT.'/fourn/class/fournisseur.facture.class.php';
$objectstatic = new FactureFournisseur($db);
$objectstatic->fetch($line->fk_doc);
- //$modulepart = 'invoice_supplier';
$filename = dol_sanitizeFileName($line->doc_ref);
- $filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
- $subdir = get_exdir($objectstatic->id, 2, 0, 0, $objectstatic, $modulepart).dol_sanitizeFileName($line->doc_ref);
+ $filedir = $conf->fournisseur->facture->dir_output.'/'.get_exdir($line->fk_doc, 2, 0, 0, $objectstatic, $objectstatic->element).dol_sanitizeFileName($line->doc_ref);
+ $subdir = get_exdir($objectstatic->id, 2, 0, 0, $objectstatic, $objectstatic->element).dol_sanitizeFileName($line->doc_ref);
$documentlink = $formfile->getDocumentsLink($objectstatic->element, $subdir, $filedir);
} elseif ($line->doc_type == 'expense_report') {
$langs->loadLangs(array('trips'));
@@ -1220,7 +1218,6 @@
require_once DOL_DOCUMENT_ROOT.'/expensereport/class/expensereport.class.php';
$objectstatic = new ExpenseReport($db);
$objectstatic->fetch($line->fk_doc);
- //$modulepart = 'expensereport';
$filename = dol_sanitizeFileName($line->doc_ref);
$filedir = $conf->expensereport->dir_output.'/'.dol_sanitizeFileName($line->doc_ref);
diff --git a/htdocs/accountancy/bookkeeping/list.php b/htdocs/accountancy/bookkeeping/list.php
index c72eb9266da44..cabb61e9f30ad 100644
--- a/htdocs/accountancy/bookkeeping/list.php
+++ b/htdocs/accountancy/bookkeeping/list.php
@@ -938,7 +938,7 @@
print $form->selectDate($search_date_modification_start, 'search_date_modification_start', 0, 0, 1, '', 1, 0, 0, '', '', '', '', 1, '', $langs->trans("From"));
print '';
print '
';
+} elseif (!empty($user->entity) && !getDolGlobalInt('MULTICOMPANY_TRANSVERSE_MODE')) { // Should not be accessible if the option to centralize users on the main entity is not activated
+ $langs->load("errors");
+ $multicompanyList .= ' '.$langs->trans("ErrorForbidden").'';
+ $multicompanyList .= '
';
foreach ($listofentities as $entityid => $entitycursor) {
+ // Check if the user has the right to access the entity
+ if (getDolGlobalInt('MULTICOMPANY_TRANSVERSE_MODE') && !empty($user->entity) && $mc->checkRight($user->id, $entityid) < 0) {
+ continue;
+ }
$url = DOL_URL_ROOT.'/core/multicompany_page.php?action=switchentity&token='.newToken().'&entity='.((int) $entityid).($backtourl ? '&backtourl='.urlencode($backtourl) : '');
$multicompanyList .= '