Merge branch 'develop' of github.com:Dolibarr/dolibarr into develop#1
146
ChangeLog
@ -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:
|
||||
|
||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 443 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 412 B After Width: | Height: | Size: 2.1 KiB |
BIN
doc/images/appicon_32.ico
Normal file
|
After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 693 B After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@ -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"> </td>';
|
||||
print '</tr>';
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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 .= '&mode='.urlencode($mode);
|
||||
}
|
||||
if ($search_categ > 0) {
|
||||
$param .= "&search_categ=".urlencode($search_categ);
|
||||
$param .= '&search_categ='.urlencode($search_categ);
|
||||
}
|
||||
if ($search_warehouse > 0) {
|
||||
$param .= '&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>';
|
||||
}
|
||||
|
||||
|
||||