mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
Merge branch 'develop' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
daff2c25f7
25
ChangeLog
25
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:
|
||||
|
|
|
|||
|
|
@ -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 = '<a href="' . DOL_URL_ROOT . '/accountancy/admin/card.php?action=create&token=' . newToken() . '&accountingaccount=' . length_accountg($line->numero_compte) . '">' . img_edit_add() . '</a>';
|
||||
}
|
||||
|
|
@ -429,7 +429,7 @@ if ($action != 'export_csv') {
|
|||
print '<tr class="oddeven">';
|
||||
print '<td>'.$accounting_account.'</td>';
|
||||
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||
print '<td class="nowraponall right">'.price($opening_balance).'</td>';
|
||||
print '<td class="right nowraponall amount">'.price($opening_balance).'</td>';
|
||||
}
|
||||
|
||||
$urlzoom = '';
|
||||
|
|
@ -466,7 +466,7 @@ if ($action != 'export_csv') {
|
|||
if (!empty($show_subgroup)) {
|
||||
print '<tr class="liste_total"><td class="right">'.$langs->trans("SubTotal").':</td>';
|
||||
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||
print '<td class="nowrap right">'.price($sous_total_opening_balance).'</td>';
|
||||
print '<td class="right nowraponall amount">'.price($sous_total_opening_balance).'</td>';
|
||||
}
|
||||
print '<td class="right nowraponall amount">'.price($sous_total_debit).'</td>';
|
||||
print '<td class="right nowraponall amount">'.price($sous_total_credit).'</td>';
|
||||
|
|
@ -486,9 +486,9 @@ if ($action != 'export_csv') {
|
|||
print '<td class="right nowraponall amount">'.price($total_debit).'</td>';
|
||||
print '<td class="right nowraponall amount">'.price($total_credit).'</td>';
|
||||
if (!empty($conf->global->ACCOUNTANCY_SHOW_OPENING_BALANCE)) {
|
||||
print '<td class="nowrap right">' . price(price2num($total_opening_balance + $total_debit - $total_credit, 'MT')) . '</td>';
|
||||
print '<td class="right nowraponall amount">' . price(price2num($total_opening_balance + $total_debit - $total_credit, 'MT')) . '</td>';
|
||||
} else {
|
||||
print '<td class="nowrap right">' . price(price2num($total_debit - $total_credit, 'MT')) . '</td>';
|
||||
print '<td class="right nowraponall amount">' . price(price2num($total_debit - $total_credit, 'MT')) . '</td>';
|
||||
}
|
||||
print "<td></td>\n";
|
||||
print '</tr>';
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user