Merge branch 'develop' of github.com:Dolibarr/dolibarr into develop#1

This commit is contained in:
lmarcouiller 2021-05-07 15:22:10 +02:00
commit bf64bde571
14 changed files with 176 additions and 18 deletions

146
ChangeLog
View File

@ -12,14 +12,150 @@ NEW: Several security issues after a second private bug bounty 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: Accountancy - Add closure menu
NEW: Accountancy - Add FEC import
NEW: Accountancy - Add formconfirm 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 on product/company
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 "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 some company information in the dropdown login menu
NEW: Add constant MAIN_BUGTRACK_URL to set url to redirect to on link "declare a bug"
NEW: Add contact tag and bulk email status on the thirparty+contact create form
NEW: Add db fields note_public note_private for ECM module
NEW: Manage deposit 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
NEW: Add last date of modification for website pages in the list of pages
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 Mass action order validate and set to billed
NEW: add massActions to set a commercial proposal to status "Refused"
NEW: Add option CONTRACT_ALLOW_EXTERNAL_DOWNLOAD and SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD
NEW: Add option MAIN_SECURITY_ANTI_SSRF_SERVER_IP
NEW: Add option SOCIETE_DISABLE_WORKFORCE to hide staff field
NEW: Add pagination at Get Products response
NEW: Add new permission "Export website"
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 agent margin & uniformize code
NEW: add total margin in invoice list
NEW: Can set a Warehouse on Thirparty
NEW: auto notification with module Notification can use templated emails
NEW: Bank Entries : add verif fk_user addPaymentToBank Social Contribution
NEW: Bank Entries : display user linked to a salary or a taxes
NEW: better date_valid on invoice
NEW: Can ask the warehouse in proposal
NEW: Can clone a cron job.
NEW: Can create a lot from list
NEW: Can edit object in module builder
NEW: Can filter files in GED on status Shared/Not shared
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 if a ticket group is visible on public interface or not.
NEW: Can set order of execution of hooks
NEW: Can show the holidays on the agenda view.
NEW: Can show the project ref or label into PDF documents
NEW: Can toggle FCKeditor on public/private notes
NEW: Can use captcha on public page to create a ticket
NEW: Check update for externals modules using button on module page
NEW: choose lines while creating intervention card from origin
NEW: Column shippement method, payment mode, payment term in propal and order list
NEW: Conf for default actiomm status when created from card
NEW: Conf for default actiomm status when created from card (and DefaultValues CRUD class)
NEW: customer price customer ref: push back to v14
NEW: customer ref for product customer prices
NEW: date and user signature on proposal (Issue 16062)
NEW: Dictionary for availability - Add column position
NEW: TAKEPOS delayed payment in TakePOS
NEW: TAKEPOS display date range if exist in TakePOS
NEW: TAKEPOS display resiliate status in TakePOS for member
NEW: TAKEPOS Edit sales lines rights in TakePOS
NEW: Extrafields of documents lines are inside the lines, not any more on separate TR
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
NEW: LDAP: usergroup search can be filtered
NEW: Make public bookmarks editable by admin users only
NEW: If no logo defined, can use the squarred logo on login page
NEW: The manifest file can use the squared image if available
NEW: Add buld actions for Bank Transfer
NEW: Enhance the multicurrency rate editor
NEW: migration script
NEW: More permission in TakePOS (Can edit added line, can modify once order sent to kitchen)
NEW: Multiselect ledger account code filter on book keeping list
NEW: Normalyse Type company field with ajax combobox
NEW: TAKEPOS: option for Takepos to show the total price without tax
NEW: option to automatically close an open project when all its tasks are done (=progress 100%)
NEW: option to select membership type on the online payment page for membership subscription or renewal
NEW: preload product description on selection for customer propal/order/invoice
NEW: Add a ref in product customer price
NEW: Save old page with .old extension on disk when editing a website page
NEW: Search usergroups & resources
NEW: Set status of all variant when setting status of parent
NEW: Setup Page for module create with module builder enhancement #FoundationFunding
NEW: Show picto of module into the list of dictionaries
NEW: Show the total of payment on the payment confirm page
NEW: Stock movement list - Add more complete date field
NEW: Support color for types of event
NEW: The setup for Mandatory field can now be done on combo list too.
NEW: translate in "en_US" to complete PR 16980
NEW: unit selection on object edit line
NEW: Update the list of taxes available by default for France
NEW: Add captcha on public page to create a ticket
NEW: Salary payment request and Salary payment are 2 different steps in workflow on Salary payment recording
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 we add contacts/users to Project, ask to also affect them on project tasks
NEW: When a doc file is shared, link is visible from the main page of doc.
NEW: Workflow to set a shipment as closed.
NEW: Option to automatically create a login/user when a new subscription of a member is done online
NEW: #16378 More E-Mail Contact substitution Values for better salutation
NEW: #13739 #17390 Product API route added to get product stock and product with or without variants
NEW: option to leave the "Automatically create a total payment" checkbox empty on the tax creation page
NEW: #17113 Can upload a favicon in website module
NEW: #17292 default subscription amount by adherent type
For developers:
---------------
* start new module Event Organization Management
* start new module Partnership Management
* start new module Knowledge Management
NEW: start new module Event Organization Management
NEW: start new module Partnership Management
NEW: start new module Knowledge Management
NEW: start new module Workstations management
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 function showValueWithCopyAndPasteButton() 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: API Add option $includeifobjectisused to get a product
NEW: API Get the list of product ids only
NEW: Can set a target image in dolcropresize function.
NEW: Can set a label as placeholder for combo lists.
WARNING:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 443 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 2.1 KiB

BIN
doc/images/appicon_32.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 693 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -403,7 +403,7 @@ print '</tr>';
// Show bugtrack link
print '<tr class="oddeven"><td>'.$langs->trans("ShowBugTrackLink", $langs->transnoentitiesnoconv("FindBug")).'</td><td>';
print '<input type="text" name="MAIN_BUGTRACK_ENABLELINK" size="32" value="'.(isset($conf->global->MAIN_BUGTRACK_ENABLELINK) ? $conf->global->MAIN_BUGTRACK_ENABLELINK : '').'">';
print '<input type="text" name="MAIN_BUGTRACK_ENABLELINK" value="'.(empty($conf->global->MAIN_BUGTRACK_ENABLELINK) ? '' : $conf->global->MAIN_BUGTRACK_ENABLELINK).'">';
print '</td>';
print '<td width="20">&nbsp;</td>';
print '</tr>';

View File

@ -8384,12 +8384,12 @@ function complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type,
// No need to make a return $head. Var is modified as a reference
if (!empty($hookmanager)) {
$parameters = array('object' => $object, 'mode' => $mode, 'head' => $head);
$parameters = array('object' => $object, 'mode' => $mode, 'head' => &$head);
$reshook = $hookmanager->executeHooks('completeTabsHead', $parameters);
if ($reshook > 0) {
$head = $hookmanager->resArray;
$h = count($head);
}
$h = count($head);
}
}

View File

@ -101,18 +101,20 @@ class Partnership extends CommonObject
* @var array Array with all fields and their property. Do not use it as a static var. It may be modified by constructor.
*/
public $fields=array();
/**
* @var int rowid
* @deprecated
* @see id
*/
public $rowid;
public $ref;
public $fk_soc;
public $note_public;
public $note_private;
public $date_creation;
public $tms;
public $fk_user_creat;
public $fk_user_modif;
public $last_main_doc;
public $import_key;
public $model_pdf;
public $status;
public $fk_member;
public $date_partnership_start;

View File

@ -154,6 +154,7 @@ $search_email = GETPOST('search_email', 'alpha');
$search_api_key = GETPOST('search_api_key', 'alphanohtml');
$search_statut = GETPOST('search_statut', 'intcomma');
$search_thirdparty = GETPOST('search_thirdparty', 'alpha');
$search_warehouse = GETPOST('search_warehouse', 'alpha');
$search_supervisor = GETPOST('search_supervisor', 'intcomma');
$optioncss = GETPOST('optioncss', 'alpha');
$search_categ = GETPOST("search_categ", 'int');
@ -230,6 +231,7 @@ if (empty($reshook)) {
$search_email = "";
$search_statut = "";
$search_thirdparty = "";
$search_warehouse = "";
$search_supervisor = "";
$search_api_key = "";
$search_datelastlogin = "";
@ -369,6 +371,9 @@ if ($search_supervisor > 0) {
if ($search_thirdparty != '') {
$sql .= natural_search(array('s.nom'), $search_thirdparty);
}
if ($search_warehouse != '') {
$sql .= natural_search(array('u.fk_warehouse'), $search_warehouse);
}
if ($search_login != '') {
$sql .= natural_search("u.login", $search_login);
}
@ -417,6 +422,9 @@ if ($search_categ > 0) {
if ($search_categ == -2) {
$sql .= " AND cu.fk_categorie IS NULL";
}
if ($search_warehouse > 0) {
$sql .= " AND u.fk_warehouse = ".$db->escape($search_warehouse);
}
if ($mode == 'employee' && empty($user->rights->salaries->readall)) {
$sql .= " AND u.rowid IN (".$db->sanitize(join(',', $childids)).")";
}
@ -524,7 +532,10 @@ if ($mode != '') {
$param .= '&amp;mode='.urlencode($mode);
}
if ($search_categ > 0) {
$param .= "&amp;search_categ=".urlencode($search_categ);
$param .= '&amp;search_categ='.urlencode($search_categ);
}
if ($search_warehouse > 0) {
$param .= '&amp;search_warehouse='.urlencode($search_warehouse);
}
// Add $param from extra fields
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_list_search_param.tpl.php';
@ -602,8 +613,17 @@ $moreforfilter = '';
// Filter on categories
if (!empty($conf->categorie->enabled) && $user->rights->categorie->lire) {
$moreforfilter .= '<div class="divsearchfield">';
$moreforfilter .= img_picto($langs->trans("Category"), 'category', 'class="paddingright"');
$moreforfilter .= $formother->select_categories(Categorie::TYPE_USER, $search_categ, 'search_categ', 1);
$tmptitle = $langs->trans('Category');
$moreforfilter .= img_picto($langs->trans("Category"), 'category', 'class="pictofixedwidth"').$formother->select_categories(Categorie::TYPE_USER, $search_categ, 'search_categ', 1, $tmptitle);
$moreforfilter .= '</div>';
}
// Filter on warehouse
if (!empty($conf->stock->enabled) && !empty($conf->global->MAIN_DEFAULT_WAREHOUSE_USER)) {
require_once DOL_DOCUMENT_ROOT.'/product/class/html.formproduct.class.php';
$formproduct = new FormProduct($db);
$moreforfilter .= '<div class="divsearchfield">';
$tmptitle = $langs->trans('Warehouse');
$moreforfilter .= img_picto($tmptitle, 'stock', 'class="pictofixedwidth"').$formproduct->selectWarehouses($search_warehouse, 'search_warehouse', '', $tmptitle, 0, 0, $tmptitle);
$moreforfilter .= '</div>';
}