From e8485794951cfe077a5a46f74ab13c153c10c4a7 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Wed, 16 Jun 2021 06:00:00 +0200 Subject: [PATCH 1/7] Look & feel v14 --- htdocs/accountancy/bookkeeping/balance.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 ''.price($sous_total_opening_balance).''; + print ''.price($sous_total_opening_balance).''; } print ''.price($sous_total_debit).''; print ''.price($sous_total_credit).''; @@ -486,9 +486,9 @@ if ($action != 'export_csv') { print ''.price($total_debit).''; print ''.price($total_credit).''; if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) { - print '' . price(price2num($total_opening_balance + $total_debit - $total_credit, 'MT')) . ''; + print '' . price(price2num($total_opening_balance + $total_debit - $total_credit, 'MT')) . ''; } else { - print '' . price(price2num($total_debit - $total_credit, 'MT')) . ''; + print '' . price(price2num($total_debit - $total_credit, 'MT')) . ''; } print "\n"; print ''; From 7f0d2b009e7af2a71312093bce022725e4b4dd10 Mon Sep 17 00:00:00 2001 From: Alexandre SPANGARO Date: Wed, 16 Jun 2021 06:23:50 +0200 Subject: [PATCH 2/7] FIX SQL Error on automatic binding with functionality "company per entity" activated --- htdocs/accountancy/customer/index.php | 3 +++ htdocs/accountancy/supplier/index.php | 3 +++ 2 files changed, 6 insertions(+) diff --git a/htdocs/accountancy/customer/index.php b/htdocs/accountancy/customer/index.php index 16dea74108e..dde599a1462 100644 --- a/htdocs/accountancy/customer/index.php +++ b/htdocs/accountancy/customer/index.php @@ -141,6 +141,9 @@ if ($action == 'validatehistory') { $sql .= " FROM ".MAIN_DB_PREFIX."facture as f"; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = f.fk_soc"; + if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) { + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int) $conf->entity); + } $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as co ON co.rowid = s.fk_pays "; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."facturedet as l ON f.rowid = l.fk_facture"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = l.fk_product"; diff --git a/htdocs/accountancy/supplier/index.php b/htdocs/accountancy/supplier/index.php index 343eb506408..b5c6804c7d6 100644 --- a/htdocs/accountancy/supplier/index.php +++ b/htdocs/accountancy/supplier/index.php @@ -149,6 +149,9 @@ if ($action == 'validatehistory') { $sql .= " FROM ".MAIN_DB_PREFIX."facture_fourn as f"; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."societe as s ON s.rowid = f.fk_soc"; + if (!empty($conf->global->MAIN_COMPANY_PERENTITY_SHARED)) { + $sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "societe_perentity as spe ON spe.fk_soc = s.rowid AND spe.entity = " . ((int) $conf->entity); + } $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."c_country as co ON co.rowid = s.fk_pays "; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."facture_fourn_det as l ON f.rowid = l.fk_facture_fourn"; $sql .= " LEFT JOIN ".MAIN_DB_PREFIX."product as p ON p.rowid = l.fk_product"; From 4c47c5f2e7ada6216db4f6b6a6a7bff96e2e45c2 Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Wed, 16 Jun 2021 09:27:08 +0200 Subject: [PATCH 3/7] Update ChangeLog --- ChangeLog | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5808fbf313f..6ffeae32ad5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -46,16 +46,13 @@ 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 @@ -65,7 +62,6 @@ 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 @@ -93,11 +89,18 @@ 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: Can show the leave dates/holidays on the agenda view ECM/GED 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: Can set a percentage when creating an invoice from another object + 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 @@ -111,6 +114,7 @@ NEW: when we add contacts/users to a project, ask to also affect them on tasks 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 @@ -130,7 +134,8 @@ NEW: can set a warehouse on a Thirdparty 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 + 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 @@ -143,10 +148,12 @@ 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 +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 new Options NEW: add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD to make generated doc automatically shared @@ -171,20 +178,20 @@ 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: 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: add link to OpenAPI specifications XML file in REST API module setup: swagger.json file can be included into external tools like redoc +NEW: Product API route added to get product stock and product with or without variants #13739 #17390 WARNING: From b8824435d22b7d9d9342c6ebd7a66e4118047ce0 Mon Sep 17 00:00:00 2001 From: UT from dolibit <45215329+dolibit-ut@users.noreply.github.com> Date: Wed, 16 Jun 2021 09:40:45 +0200 Subject: [PATCH 4/7] Update llx_00_c_country.sql MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Taïwan -> Taiwan Tadjikistan -> Tajikistan Tanzanie -> Tanzania Thaïlande -> Thailand Timor Oriental -> East Timor / Timor-Leste Tokélaou -> Tokelau Tonga = Tonga Trinité-et-Tobago -> Trinidad and Tobago Turquie -> Turkey Turkménistan -> Turkmenistan Iles Turks-et-Caicos -> Turks and Caicos Islands Tuvalu = Tuvalu --- .../install/mysql/data/llx_00_c_country.sql | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/htdocs/install/mysql/data/llx_00_c_country.sql b/htdocs/install/mysql/data/llx_00_c_country.sql index 6cf703829a5..7746c91f6ce 100644 --- a/htdocs/install/mysql/data/llx_00_c_country.sql +++ b/htdocs/install/mysql/data/llx_00_c_country.sql @@ -241,17 +241,17 @@ INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (20 INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (210,'SJ','SJM','Svalbard and Jan Mayen',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (211,'SZ','SWZ','Swaziland / Eswatini',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (212,'SY','SYR','Syria',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (213,'TW','TWN','Taïwan',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (214,'TJ','TJK','Tadjikistan',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (215,'TZ','TZA','Tanzanie',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (216,'TH','THA','Thaïlande',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (217,'TL','TLS','Timor Oriental',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (218,'TK','TKL','Tokélaou',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (213,'TW','TWN','Taiwan',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (214,'TJ','TJK','Tajikistan',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (215,'TZ','TZA','Tanzania',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (216,'TH','THA','Thailand',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (217,'TL','TLS','Timor-Leste',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (218,'TK','TKL','Tokelau',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (219,'TO','TON','Tonga',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (220,'TT','TTO','Trinité-et-Tobago',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (221,'TR','TUR','Turquie',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (222,'TM','TKM','Turkménistan',1,0); -INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (223,'TC','TCA','Iles Turks-et-Caicos',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (220,'TT','TTO','Trinidad and Tobago',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (221,'TR','TUR','Turkey',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (222,'TM','TKM','Turkmenistan',1,0); +INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (223,'TC','TCA','Turks and Caicos Islands',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (224,'TV','TUV','Tuvalu',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (225,'UG','UGA','Ouganda',1,0); INSERT INTO llx_c_country (rowid,code,code_iso,label,active,favorite) VALUES (226,'UA','UKR','Ukraine',1,0); From 5d79143401c5c9af2679c1279fd19815f4498284 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 16 Jun 2021 11:50:52 +0200 Subject: [PATCH 5/7] fix php warning --- htdocs/core/lib/company.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/company.lib.php b/htdocs/core/lib/company.lib.php index 5abc6bfc2ac..f6d07e32f01 100644 --- a/htdocs/core/lib/company.lib.php +++ b/htdocs/core/lib/company.lib.php @@ -1616,8 +1616,8 @@ function show_actions_done($conf, $langs, $db, $filterobj, $objcon = '', $noprin 'contact_id'=>$obj->fk_contact, 'socpeopleassigned' => $contactaction->socpeopleassigned, - 'lastname'=>$obj->lastname, - 'firstname'=>$obj->firstname, + 'lastname' => empty($obj->lastname) ? '' : $obj->lastname, + 'firstname' => empty($obj->firstname) ? '' : $obj->firstname, 'fk_element'=>$obj->fk_element, 'elementtype'=>$obj->elementtype, // Type of event From fca75a58424544785a8425909b7c0ccb04ed2852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 16 Jun 2021 11:54:33 +0200 Subject: [PATCH 6/7] fix php warning --- htdocs/product/note.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/htdocs/product/note.php b/htdocs/product/note.php index fad4df3500b..b758f414035 100644 --- a/htdocs/product/note.php +++ b/htdocs/product/note.php @@ -76,23 +76,23 @@ include DOL_DOCUMENT_ROOT.'/core/actions_setnotes.inc.php'; // Must be include, $form = new Form($db); -$helpurl = ''; +$help_url = ''; if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) { - $helpurl = 'EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; + $help_url = 'EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; } if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) { - $helpurl = 'EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + $help_url = 'EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; } $title = $langs->trans('ProductServiceCard'); $shortlabel = dol_trunc($object->label, 16); if (GETPOST("type") == '0' || ($object->type == Product::TYPE_PRODUCT)) { $title = $langs->trans('Product')." ".$shortlabel." - ".$langs->trans('Notes'); - $helpurl = 'EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; + $help_url = 'EN:Module_Products|FR:Module_Produits|ES:Módulo_Productos'; } if (GETPOST("type") == '1' || ($object->type == Product::TYPE_SERVICE)) { $title = $langs->trans('Service')." ".$shortlabel." - ".$langs->trans('Notes'); - $helpurl = 'EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; + $help_url = 'EN:Module_Services_En|FR:Module_Services|ES:Módulo_Servicios'; } llxHeader('', $title, $help_url); From cf9c595568ff2117fa963942bae4011e18d448af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20FRANCE?= Date: Wed, 16 Jun 2021 12:01:52 +0200 Subject: [PATCH 7/7] fix unknown right supprimer doesn't exists --- htdocs/compta/bank/list.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/compta/bank/list.php b/htdocs/compta/bank/list.php index df23b111aa2..0d934b5bced 100644 --- a/htdocs/compta/bank/list.php +++ b/htdocs/compta/bank/list.php @@ -130,7 +130,7 @@ $object->fields = dol_sort_array($object->fields, 'position'); $arrayfields = dol_sort_array($arrayfields, 'position'); $permissiontoadd = $user->rights->banque->modifier; -$permissiontodelete = $user->rights->banque->supprimer; +$permissiontodelete = $user->rights->banque->configurer; /* * Actions