diff --git a/.travis.yml b/.travis.yml
index 22d4b2b0827..df6e24a7e02 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,9 @@ dist: xenial
language: php
+git:
+ depth: 1
+
# Start on every boot
services:
- memcached
@@ -264,24 +267,27 @@ script:
echo
- |
- echo "Checking PHP syntax errors"
+ echo "Checking PHP syntax errors (only 1 version to not overload travis and avoid duplicate tests)"
# Ensure we catch errors
set -e
#parallel-lint --exclude htdocs/includes --blame .
- parallel-lint --exclude dev/tools/test/namespacemig --exclude htdocs/includes/composer --exclude htdocs/includes/myclabs --exclude htdocs/includes/phpspec --exclude dev/initdata/dbf/includes \
- --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian \
- --exclude htdocs/includes/squizlabs/php_codesniffer --exclude htdocs/includes/jakub-onderka --exclude htdocs/includes/php-parallel-lint --exclude htdocs/includes/symfony \
- --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/maximebf \
- --exclude htdocs/includes/phpunit/ --exclude htdocs/includes/tecnickcom/tcpdf/include/barcodes --exclude htdocs/includes/webmozart --blame .
+ # Exclusions are defined in the ruleset.xml file
+ if [ "$TRAVIS_PHP_VERSION" = "7.4" ]; then
+ parallel-lint -e php --exclude dev/tools/test/namespacemig --exclude htdocs/includes/composer --exclude htdocs/includes/myclabs --exclude htdocs/includes/phpspec --exclude dev/initdata/dbf/includes \
+ --exclude htdocs/includes/sabre --exclude htdocs/includes/phpoffice/PhpSpreadsheet --exclude htdocs/includes/sebastian \
+ --exclude htdocs/includes/squizlabs/php_codesniffer --exclude htdocs/includes/jakub-onderka --exclude htdocs/includes/php-parallel-lint --exclude htdocs/includes/symfony \
+ --exclude htdocs/includes/mike42/escpos-php/example --exclude htdocs/includes/maximebf \
+ --exclude htdocs/includes/phpunit/ --exclude htdocs/includes/tecnickcom/tcpdf/include/barcodes --exclude htdocs/includes/webmozart --blame .
+ fi
set +e
echo
- |
- echo "Checking coding style (excluding Pull Requests builds to not overload travis, excluding also some jobs to avoid duplicate tests)"
+ echo "Checking coding style (only for Pull Requests builds and 1 version to not overload travis and avoid duplicate tests)"
# Ensure we catch errors
set -e
# Exclusions are defined in the ruleset.xml file
- if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_PHP_VERSION" = "7.4" ] && [ "$DB" = "mysql" ]; then
+ if [ "$TRAVIS_PULL_REQUEST" = "false" ] && [ "$TRAVIS_PHP_VERSION" = "7.4" ]; then
phpcs -s -p -d memory_limit=-1 --extensions=php --colors --tab-width=4 --standard=dev/setup/codesniffer/ruleset.xml --encoding=utf-8 --runtime-set ignore_warnings_on_exit true .;
fi
set +e
@@ -401,8 +407,12 @@ script:
php upgrade.php 13.0.0 14.0.0 ignoredbversion > $TRAVIS_BUILD_DIR/upgrade13001400.log
php upgrade2.php 13.0.0 14.0.0 > $TRAVIS_BUILD_DIR/upgrade13001400-2.log
php step5.php 13.0.0 14.0.0 > $TRAVIS_BUILD_DIR/upgrade13001400-3.log
+ ls -alrt $TRAVIS_BUILD_DIR/
+- |
+ echo "Enabling new modules"
# Enable modules not enabled into original dump
+ cd htdocs/install
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_API,MAIN_MODULE_PRODUCTBATCH,MAIN_MODULE_SUPPLIERPROPOSAL,MAIN_MODULE_STRIPE > $TRAVIS_BUILD_DIR/enablemodule.log
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_WEBSITE,MAIN_MODULE_TICKET,MAIN_MODULE_ACCOUNTING,MAIN_MODULE_MRP >> $TRAVIS_BUILD_DIR/enablemodule.log
php upgrade2.php 0.0.0 0.0.0 MAIN_MODULE_RECEPTION,MAIN_MODULE_RECRUITMENT >> $TRAVIS_BUILD_DIR/enablemodule.log
diff --git a/ChangeLog b/ChangeLog
index 95a4a7a3ae6..98c22d90bf7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -10,29 +10,16 @@ For users:
NEW: Module Recruitement to follow application to job positions is now stable.
NEW: Feature to make Stock Inventories
NEW: Several security issues after a second private bug hunting campaign.
-NEW: Add a security center page with all information and advices related to the security of your instance
-NEW: Add a performance center page with all information and advices related to the performance of your instance
NEW: A lot of fix into english text after a small proofreading campaign (still not perfect, but really better)
NEW: All main menu entries are using the picto of the module
NEW: Add a copy to clipboard button on some fields
NEW: Add an example of scheduled job to send email reminder for unpaid invoices
-NEW: Accountancy - Add FEC import
-NEW: Accountancy - Add a confirmation form with options on export
-NEW: Accountancy - Add select date from/to in already bind customer and supplier list
-NEW: Accountancy - Format FEC - Add new field DateLimitReglmt
-NEW: Accountancy - In ledger & journals, show link on bank transaction
-NEW: Accountancy - Possibility to filter on journals in balance
-NEW: Accountancy - Add a page to list subledger accounts
-NEW: add the Channel column into the list of orders
-NEW: Add a check to avoid an invoice date in the future
NEW: Add some color and picto for the direction of movement
+NEW: add the column "Channel" into the list of orders
NEW: Add the column "alias" of company in the list of proposal, order, invoice
NEW: Add the column "Office phone" and "User mobile" in user list
-NEW: Add the column "Price level"in thirdparty list
+NEW: Add the column "Price level" in thirdparty list
NEW: Add some company information in the dropdown login menu
-NEW: Add constant MAIN_BUGTRACK_URL to set a custom url to redirect to when clicking on link "declare a bug"
-NEW: Add contact tag and bulk email status on the thirdparty + contact create form
-NEW: Support down payment on supplier invoice (& somes ajustments)
NEW: Add edit/delete action icons on categories list pages
NEW: Add hidden option to auto load input line extrafield into new lines
NEW: Add import profile to import BOM
@@ -40,29 +27,21 @@ NEW: Add link picto to the stock movement on the detail of production
NEW: Add mass action "Set tag" for product/service, user, thirdparty, warehouse, project, bank account, members
NEW: Add bulk action Validate and Set to billed on order list.
NEW: Add possibility to exports userGroups fields on user exports
-NEW: Add price min and price min including tax into product export
NEW: Can search on lots or serials into the quick search bar
NEW: Add support for Friday as a non working day
-NEW: Add a total in page of margin by user
-NEW: Add the total of margin in invoice list
NEW: auto notification with module Notification can use templated emails
-NEW: Bank Entries : display user linked to a salary or a taxes
NEW: Can clone a cron job
NEW: Can create a lot from the list view (Look and feel standardization).
NEW: Can filter on extrafields date on lists
NEW: Can filter on rowid in list of blocked logs
NEW: Can hide columns "time consumed" on timesheet per week
NEW: Can set an employee on each social contribution
-NEW: Can set a percentage when creating an invoice from another object
NEW: Can set order of execution of hooks
-NEW: Can show the leave dates/holidays on the agenda view
NEW: Can toggle FCKeditor on public/private notes
NEW: Check update availability for externals modules using a button on module page
NEW: Choose lines to use while creating intervention card from origin
NEW: Columns shipment method, payment mode, payment term in proposal and order list
NEW: Conf for default actioncomm status
-NEW: customer ref for product customer prices
-NEW: date and user signature on proposal (Issue 16062) #16980
NEW: Dictionary for availability - Add a column position
NEW: Can set a user related to a social contribution
NEW: ICS Direct debit can be set with a different value for each bank account
@@ -70,18 +49,13 @@ NEW: LDAP: usergroup search can be filtered
NEW: Make public bookmarks editable by admin users only
NEW: If main logo not defined, can use the squarred logo on login page
NEW: The manifest file can use the squared image if available
-NEW: Add bulk actions for Bank Transfer
NEW: Enhance the multicurrency rate editor
-NEW: Multiselect ledger account code filter on book keeping list
NEW: Normalyse Type company field with ajax combobox
NEW: preload product description on selection for customer propal/order/invoice
-NEW: Add a ref in product customer price
NEW: Search usergroups & resources
-NEW: Set status of all variants when changing status of parent
NEW: Setup Page for module creation with module builder enhancement #FoundationFunding
NEW: Show picto of module into the list of dictionaries
NEW: Show the total of payment on the payment confirmation page
-NEW: Support color for types of event
NEW: The global setup for Mandatory fields can now be done on combo list too.
NEW: translate in "en_US" to complete PR 16980
NEW: Update the list of taxes available by default for France
@@ -89,26 +63,63 @@ NEW: Salary payment request and Salary payment are 2 different steps in workflow
NEW: VAT payment request and VAT payment are now 2 different steps in workflow on VAT payment recording
NEW: VAT report - Optimisation & collapse by rate
NEW: When a doc file is shared, link is visible from the main page of doc.
-NEW: #16378 More E-Mail Contact substitution Values for better salutation
-NEW: option to keep the "Automatically create a total payment" checkbox empty on the tax creation page
+NEW: #16378 more E-Mail Contact substitution Values for better salutation
+NEW: option to keep the "Automatically create the payment" checkbox empty on the tax creation page
+
+ Accountancy
+NEW: Accountancy - Add FEC import
+NEW: Accountancy - Add a confirmation form with options on export
+NEW: Accountancy - Add select date from/to in already bind customer and supplier list
+NEW: Accountancy - Format FEC - Add new field DateLimitReglmt
+NEW: Accountancy - In ledger & journals, show link on bank transaction
+NEW: Accountancy - Possibility to filter on journals in balance
+NEW: Accountancy - Add a page to list subledger accounts
+NEW: Multiselect ledger account code filter on book keeping list
+
+ Agenda
+NEW: add support for Friday as a non working day
+NEW: can show the leave dates/holidays on the agenda view
+NEW: Support color for types of event
+
+ Bank
+NEW: Bank Entries : display user linked to a salary or a taxes
+NEW: Add bulk actions for Bank Transfer
ECM/GED
-NEW: Add db fields note_public and note_private for ECM module
-NEW: Can filter files in GED on status Shared/Not shared
+NEW: add DB fields note_public and note_private for ECM module
+NEW: can filter files in ECM/GED on status Shared / Not shared
+
+ Invoices
+NEW: add a check to avoid an invoice date in the future
+NEW: add the total of margin in invoice list
+NEW: can set a percentage when creating an invoice from another object
+NEW: Support down payment on supplier invoice (& somes ajustments)
+
+ Margin
+NEW: add the total of margin in invoice list
+NEW: add the total of margin in page by user
Members
NEW: #17292 default subscription amount by adherent type
-NEW: Option to automatically create a login/user when a new subscription of a member is done online
+NEW: option to automatically create a login/user when a new subscription of a member is done online
NEW: option to select membership type on the online payment page for membership subscription or renewal
+ Products
+NEW: Add price min and price min including tax into product export
+NEW: Add a ref in product customer price
+NEW: customer ref for product customer prices
+NEW: Set status of all variants when changing status of parent
+
Projects/Tasks
NEW: option to automatically close an open project when all its tasks are done (=progress 100%)
NEW: can show the project ref into PDF documents
NEW: when we add contacts/users to a project, ask to also affect them on tasks
+NEW: Can hide columns "time consumed" on timesheet per week
Proposals
NEW: add bulk action to set a commercial proposal to status "Refused"
NEW: can set a warehouse in a proposal
+NEW: date and user signature on proposal (Issue 16062) #16980
Shipment
NEW: add option in Workflow module to set a shipment as closed
@@ -121,18 +132,20 @@ NEW: edit sales lines rights in TakePOS
NEW: option for TakePOS to show the total price without tax
NEW: more permissions in TakePOS (can edit added line, can modify once order sent to kitchen)
- Third-Parties
-NEW: Can set a Warehouse on a Thirdparty
+ Third Party / Contacts
+NEW: add contact tag and bulk email status on the thirdparty + contact create form
+NEW: can set a warehouse on a thirdparty
Tickets
NEW: can use captcha on public page to create a ticket #16347
NEW: can set if a ticket group is visible on public interface or not
- Warehouse
-NEW: Can make massive stock transfers from a CSV file
-NEW: Stock movement list - Add more complete date field
-NEW: Can set a Warehouse on a Thirdparty
+ Warehouse/Stock
+NEW: Feature to make Stock Inventories
+NEW: can make massive stock transfers from a CSV file
+NEW: Stock movement list - add more complete date field
NEW: can set a warehouse in a proposal
+NEW: can set a warehouse on a thirdparty
Website Module
NEW: #17113 Can upload a favicon in website module
@@ -140,49 +153,63 @@ NEW: add a new permission "Export website"
NEW: add last date of modification for website pages in the list of pages
NEW: Save old page with .old extension on disk when editing a website page
- new Modules
+ Workflows
+NEW: add option in Workflow module to set a shipment as closed
+
+
+ for Admins
+NEW: Add a security center page with all information and advices related to the security of your instance
+NEW: Add a performance center page with all information and advices related to the performance of your instance
+
+ Modules
+NEW: Module Recruitement is now stable
NEW: start new experimental module Event Organization Management
NEW: start new experimental module Partnership Management
NEW: start new experimental module Knowledge Management
NEW: start new experimental module Workstations Management
+NEW: Check update availability for externals modules using a button on module page
+Module SimplePOS is deprecated - TakePOS is recommended for the future
new Options
-NEW: Add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared
-NEW: Add option SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared
-NEW: Add option MAIN_SECURITY_ANTI_SSRF_SERVER_IP to define list of IPs that are local IPs
-NEW: Add option SOCIETE_DISABLE_WORKFORCE to hide staff field
+NEW: add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared
+NEW: add option SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared
+NEW: add option MAIN_SECURITY_ANTI_SSRF_SERVER_IP to define list of IPs that are local IPs
+NEW: add option SOCIETE_DISABLE_WORKFORCE to hide staff field
+NEW: add constant MAIN_BUGTRACK_URL to set a custom url to redirect to when clicking on link "declare a bug"
For developers:
---------------
NEW: Can edit an object property in module builder
-NEW: hook printFieldListTitle for cabyprodserv.php
-NEW: Hook to allow external modules to add their own shortlist of recent objects
-NEW: SQL-altering hooks in the turnover by product report
NEW: Add data-eec=1 for EEC countries on select for js interaction
NEW: Add experimental repair script to switch to dynamic row format and utf8mb4 encoding
-NEW: add form confirm hook on company card
NEW: Add function showValueWithClipboardCPButton() to add a copy/paste
-NEW: Add hook addSectionECMAuto method to add custom diretory into ECM auto files
-NEW: Add native compression in rest apis
-NEW: Product Variants API, add variant stock to response by parameter
NEW: Upgrade Stripe PHP lib to 7.67.0
-NEW: Add link to OpenAPI specifications xml file in REST API module setup: swagger.json file can be included into external tools like redoc
NEW: Support sepa_debit in stripe paymentmethods list
NEW: Update doleditor.class.php for easily activate SCAYT
NEW: Add triggers in the function add_object_linked(), updateObjectLinked() and deleteObjectLinked()
NEW: Add triggers OBJECT_LINK_INSERT, OBJECT_LINK_UPDATE et OBJECT_LINK_DELETE in the function add_object_linked(), updateObjectLinked() and deleteObjectLinked()
-NEW: Can set a target image in dolcropresize function.
-NEW: Can set a label as placeholder for combo lists.
+NEW: can set a target image in dolcropresize function
+NEW: can set a label as placeholder for combo lists
NEW: Add pagination on Get Products response API
NEW: Add the DefaultValues CRUD class
NEW: Extrafields of documents lines are inside the lines, not any more on separate TR
NEW: unit selection on object edit line
-NEW: #13739 #17390 Product API route added to get product stock and product with or without variants
APIs
-NEW: API Add option $includeifobjectisused to get a product
-NEW: API Get the list of product ids only
+NEW: API add option $includeifobjectisused to get a product
+NEW: API get the list of product ids only
+NEW: add link to OpenAPI specifications XML file in REST API module setup: swagger.json file can be included into external tools like redoc
+NEW: add native compression in REST APIs
+NEW: Product Variants API, add variant stock to response by parameter
+NEW: Product API route added to get product stock and product with or without variants #13739 #17390
+
+ Hooks
+NEW: hook printFieldListTitle for cabyprodserv.php
+NEW: hook to allow external modules to add their own shortlist of recent objects
+NEW: SQL-altering hooks in the turnover by product report
+NEW: add form confirm hook on company card
+NEW: add hook addSectionECMAuto method to add custom diretory into ECM auto files
WARNING:
@@ -198,6 +225,7 @@ Following changes may create regressions for some external modules, but were nec
* If your database is MySQL or MariaDB, you need at least version 5.1
* Function set_price_level() has been renamed into setPriceLevel() to follow camelcase rules
* removed deprecated subtituion key __REFCLIENT__ (replaced with __REF_CLIENT__)
+* Removed constant MAIN_COUNTRIES_IN_EEC. You can now set if country is in Europe or not from the dictionary of countries.
***** ChangeLog for 13.0.3 compared to 13.0.2 *****
@@ -209,6 +237,8 @@ FIX: #17060
FIX: #17192 - With tz < 0, event is show in bad day on calendar views
FIX: #17363
FIX: #17476 releve.php: Fix SQL statement
+FIX: #17967
+Fix: #17906 : fix access denied
FIX: Accountancy - Import in general ledger
FIX: Accountancy - Quadra export - wrong data on credit
FIX: Accountancy - Warning on the pages of the preparatory statements of accounting entries
@@ -255,7 +285,6 @@ FIX: test must be === and not ==
FIX: test on link type
FIX: type link extrafield case for advanced target emailing
FIX: Write right on document
->>>>>>> branch '13.0' of git@github.com:Dolibarr/dolibarr.git
***** ChangeLog for 13.0.2 compared to 13.0.1 *****
diff --git a/README.md b/README.md
index ad349f713c1..7878f6270a7 100644
--- a/README.md
+++ b/README.md
@@ -202,9 +202,12 @@ See the [ChangeLog](https://github.com/Dolibarr/dolibarr/blob/develop/ChangeLog)
### System Environment / Requirements
-- Works with PHP 5.6+ and MariaDB 5.0.3+, MySQL 5.0.3+ or PostgreSQL 8.1.4+ (See requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite))
+- PHP
+- MariaDB, MySQL or PostgreSQL
- Compatible with all Cloud solutions that match PHP & MySQL or PostgreSQL prerequisites.
+See exact requirements on the [Wiki](https://wiki.dolibarr.org/index.php/Prerequisite)
+
### Extending
diff --git a/htdocs/accountancy/bookkeeping/balance.php b/htdocs/accountancy/bookkeeping/balance.php
index 7d6d71d49a8..b84fe255760 100644
--- a/htdocs/accountancy/bookkeeping/balance.php
+++ b/htdocs/accountancy/bookkeeping/balance.php
@@ -388,7 +388,7 @@ if ($action != 'export_csv') {
} elseif (empty($tmparrayforrootaccount['label'])) {
// $tmparrayforrootaccount['label'] not defined = the account has not parent with a parent.
// This is useless, we should not create a new account when an account has no parent, we must edit it to fix its parent.
- // BUG 1: Accounts on level root or level 1 must not have a parent 2 level higher, so shoule not show a link to create another account.
+ // BUG 1: Accounts on level root or level 1 must not have a parent 2 level higher, so should not show a link to create another account.
// BUG 2: Adding a link to create a new accounting account here is useless because it is not add as parent of the orphelin.
//$link = '' . img_edit_add() . '';
}
@@ -429,7 +429,7 @@ if ($action != 'export_csv') {
print '
';
print '
'.$accounting_account.'
';
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
- print '
'.price($opening_balance).'
';
+ print '
'.price($opening_balance).'
';
}
$urlzoom = '';
@@ -466,7 +466,7 @@ if ($action != 'export_csv') {
if (!empty($show_subgroup)) {
print '
'.$langs->trans("SubTotal").':
';
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
- print '
';
if (!empty($conf->global->LDAP_ADMIN_PASS)) {
print ''; // je le met en visible pour test
diff --git a/htdocs/admin/ldap_contacts.php b/htdocs/admin/ldap_contacts.php
index d21c95405a2..4fb58898a07 100644
--- a/htdocs/admin/ldap_contacts.php
+++ b/htdocs/admin/ldap_contacts.php
@@ -155,14 +155,16 @@ print '
'.$langs->trans("LDAPSynchronizeContacts").'
';
print "
\n";
// DN Pour les contacts
-print '
'.$langs->trans("LDAPContactDn").'
';
+print '';
+print '
'.$langs->trans("LDAPContactDn").'
';
print '';
print '
'.$langs->trans("LDAPContactDnExample").'
';
print '
';
print '
';
// List of object class used to define attributes in structure
-print '