Merge branch '16.0' of git@github.com:Dolibarr/dolibarr.git into develop
This commit is contained in:
commit
43f9ac59d9
42
ChangeLog
42
ChangeLog
@ -32,6 +32,48 @@ Following changes may create regressions for some external modules, but were nec
|
|||||||
* Tables llx_prelevement_facture and llx_prelevement_facture_demande have been renamed into llx_prelevement and llx_prelevement_demande.
|
* Tables llx_prelevement_facture and llx_prelevement_facture_demande have been renamed into llx_prelevement and llx_prelevement_demande.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
***** ChangeLog for 16.0.2 compared to 16.0.1 *****
|
||||||
|
|
||||||
|
FIX: 16.0 - computed extrafields are not displayed if the object has no other extrafields
|
||||||
|
FIX: #22538
|
||||||
|
FIX: Accountancy - Review of Winfic - eWinfic - Winsis compta export format
|
||||||
|
FIX: add loadRoleMode on getlinearray
|
||||||
|
FIX: Autosearch on takepos was broken
|
||||||
|
FIX: avoid access forbidden with numeric ref
|
||||||
|
FIX: avoid error, check of product fetch is already check before
|
||||||
|
FIX: avoid error, fetch of product is mandatory (by id or by ref)
|
||||||
|
FIX: avoid unnecessary multiple calculation (#22637)
|
||||||
|
FIX: bug on selected value for select_bom() function
|
||||||
|
FIX: can not set prospect status "Do not contact"
|
||||||
|
FIX: change in the communication status of the prospect
|
||||||
|
FIX: check $id, already checked before
|
||||||
|
FIX: closed warehouse for shipping
|
||||||
|
FIX: extrafields_add tpl for stock movement
|
||||||
|
FIX: the request SQL for transversal user, the join on usergroup table must be with getEntity('usergroup')
|
||||||
|
FIX: Import of contact when there is duplicate thirdparties
|
||||||
|
FIX: Import of socialnetwork field
|
||||||
|
FIX: input selector is wrong with PRODUCT_LOAD_EXTRAFIELD_INTO_OBJECTLINES usage
|
||||||
|
FIX: install wizard error management
|
||||||
|
FIX: just add integer
|
||||||
|
FIX: Missing $object for online signature link build
|
||||||
|
FIX: missing quote
|
||||||
|
FIX: only modify hidden checkbox/multislected extrafields on update if they are provided in request
|
||||||
|
FIX: php doc
|
||||||
|
FIX: private message ticket become public if edit action
|
||||||
|
FIX: remove > 0 and -1
|
||||||
|
FIX: remove db object to avoid error with postgresql
|
||||||
|
FIX: Search ambigous field on MO list
|
||||||
|
FIX: Search on social networks
|
||||||
|
FIX: Subscription must be stopped when max of attendees reached.
|
||||||
|
FIX: supplier price update: missing error reporting
|
||||||
|
FIX: travis & stickler feedbacks
|
||||||
|
FIX: we must be able to select only bom of a specific product + several fixes on select_bom() function
|
||||||
|
FIX: wrong perm check
|
||||||
|
FIX: wrong typo, remove quote
|
||||||
|
FIX: wrong var typo
|
||||||
|
|
||||||
|
|
||||||
***** ChangeLog for 16.0.1 compared to 16.0.0 *****
|
***** ChangeLog for 16.0.1 compared to 16.0.0 *****
|
||||||
|
|
||||||
FIX: #16476 on massaction the pdf generation is not using the t…
|
FIX: #16476 on massaction the pdf generation is not using the t…
|
||||||
|
|||||||
@ -113,15 +113,17 @@ if (!empty($conf->global->INVOICE_USE_SITUATION) && $conf->global->INVOICE_USE_S
|
|||||||
</script>';
|
</script>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
print load_fiche_titre($langs->trans("AccountancyArea"), $resultboxes['selectboxlist'], 'accountancy', 0, '', '', $showtutorial);
|
print load_fiche_titre($langs->trans("AccountancyArea"), $resultboxes['selectboxlist'], 'accountancy', 0, '', '', $showtutorial);
|
||||||
|
|
||||||
|
if (!empty($conf->global->INVOICE_USE_SITUATION) && $conf->global->INVOICE_USE_SITUATION == 1) {
|
||||||
|
print info_admin($langs->trans("SorryThisModuleIsNotCompatibleWithTheExperimentalFeatureOfSituationInvoices"));
|
||||||
|
print "<br>";
|
||||||
|
}
|
||||||
|
|
||||||
print '<div class="'.($helpisexpanded ? '' : 'hideobject').'" id="idfaq">'; // hideobject is to start hidden
|
print '<div class="'.($helpisexpanded ? '' : 'hideobject').'" id="idfaq">'; // hideobject is to start hidden
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
print '<span class="opacitymedium">'.$langs->trans("AccountancyAreaDescIntro")."</span><br>\n";
|
print '<span class="opacitymedium">'.$langs->trans("AccountancyAreaDescIntro")."</span><br>\n";
|
||||||
if ($user->hasRight('accounting', 'chartofaccount')) {
|
if ($user->hasRight('accounting', 'chartofaccount')) {
|
||||||
print "<br>\n"; print "<br>\n";
|
|
||||||
|
|
||||||
print load_fiche_titre('<span class="fa fa-calendar-check-o"></span> '.$langs->trans("AccountancyAreaDescActionOnce"), '', '')."\n";
|
print load_fiche_titre('<span class="fa fa-calendar-check-o"></span> '.$langs->trans("AccountancyAreaDescActionOnce"), '', '')."\n";
|
||||||
print '<hr>';
|
print '<hr>';
|
||||||
print "<br>\n";
|
print "<br>\n";
|
||||||
|
|||||||
@ -173,6 +173,7 @@ class Utils
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($count > 0) {
|
if ($count > 0) {
|
||||||
|
$langs->load("admin");
|
||||||
$this->output = $langs->trans("PurgeNDirectoriesDeleted", $countdeleted);
|
$this->output = $langs->trans("PurgeNDirectoriesDeleted", $countdeleted);
|
||||||
if ($count > $countdeleted) {
|
if ($count > $countdeleted) {
|
||||||
$this->output .= '<br>'.$langs->trans("PurgeNDirectoriesFailed", ($count - $countdeleted));
|
$this->output .= '<br>'.$langs->trans("PurgeNDirectoriesFailed", ($count - $countdeleted));
|
||||||
|
|||||||
@ -59,7 +59,7 @@ function showOnlineSignatureUrl($type, $ref)
|
|||||||
*/
|
*/
|
||||||
function getOnlineSignatureUrl($mode, $type, $ref = '', $localorexternal = 1)
|
function getOnlineSignatureUrl($mode, $type, $ref = '', $localorexternal = 1)
|
||||||
{
|
{
|
||||||
global $conf, $db, $langs, $dolibarr_main_url_root;
|
global $conf, $object, $dolibarr_main_url_root;
|
||||||
|
|
||||||
$ref = str_replace(' ', '', $ref);
|
$ref = str_replace(' ', '', $ref);
|
||||||
$out = '';
|
$out = '';
|
||||||
|
|||||||
@ -34,7 +34,7 @@ if (!defined('DOL_APPLICATION_TITLE')) {
|
|||||||
define('DOL_APPLICATION_TITLE', 'Dolibarr');
|
define('DOL_APPLICATION_TITLE', 'Dolibarr');
|
||||||
}
|
}
|
||||||
if (!defined('DOL_VERSION')) {
|
if (!defined('DOL_VERSION')) {
|
||||||
define('DOL_VERSION', '17.0.0-alpha'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c
|
define('DOL_VERSION', '17.0.0-beta'); // a.b.c-alpha, a.b.c-beta, a.b.c-rcX or a.b.c
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!defined('EURO')) {
|
if (!defined('EURO')) {
|
||||||
|
|||||||
@ -104,14 +104,16 @@ if ($type == 'global') {
|
|||||||
$errmsg .= $project->error;
|
$errmsg .= $project->error;
|
||||||
$errors = array_merge($errors, $project->errors);
|
$errors = array_merge($errors, $project->errors);
|
||||||
} else {
|
} else {
|
||||||
$sql = "SELECT COUNT(*) as nb FROM ".MAIN_DB_PREFIX."projet";
|
$sql = "SELECT COUNT(*) as nb FROM ".MAIN_DB_PREFIX."eventorganization_conferenceorboothattendee";
|
||||||
$sql .= " WHERE ".MAIN_DB_PREFIX."eventorganization_conferenceorboothattendee = ".((int) $project->id);
|
$sql .= " WHERE fk_project = ".((int) $project->id);
|
||||||
|
|
||||||
$resql = $db->query($resql);
|
$resql = $db->query($sql);
|
||||||
if ($resql) {
|
if ($resql) {
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
if ($obj) {
|
if ($obj) {
|
||||||
$currentnbofattendees = $obj->nb;
|
$currentnbofattendees = $obj->nb;
|
||||||
|
} else {
|
||||||
|
dol_print_error($db);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -163,8 +163,17 @@ if (empty($reshook)) {
|
|||||||
// Le premier contact trouvé est utilisé pour déterminer le contact suivi
|
// Le premier contact trouvé est utilisé pour déterminer le contact suivi
|
||||||
$contacts = $object->searchContactByEmail($origin_email);
|
$contacts = $object->searchContactByEmail($origin_email);
|
||||||
|
|
||||||
|
// Ensure that contact is active and select first active contact
|
||||||
|
$cid = -1;
|
||||||
|
foreach ($contacts as $key => $contact) {
|
||||||
|
if ((int) $contact->statut == 1) {
|
||||||
|
$cid = $key;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Option to require email exists to create ticket
|
// Option to require email exists to create ticket
|
||||||
if (!empty($conf->global->TICKET_EMAIL_MUST_EXISTS) && !$contacts[0]->socid) {
|
if (!empty($conf->global->TICKET_EMAIL_MUST_EXISTS) && ($cid < 0 || empty($contacts[$cid]->socid))) {
|
||||||
$error++;
|
$error++;
|
||||||
array_push($object->errors, $langs->trans("ErrorEmailMustExistToCreateTicket"));
|
array_push($object->errors, $langs->trans("ErrorEmailMustExistToCreateTicket"));
|
||||||
$action = '';
|
$action = '';
|
||||||
@ -314,9 +323,9 @@ if (empty($reshook)) {
|
|||||||
$object->fk_soc = $searched_companies[0]->id;
|
$object->fk_soc = $searched_companies[0]->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (is_array($contacts) && count($contacts) > 0) {
|
if (is_array($contacts) && count($contacts) > 0 && $cid >= 0) {
|
||||||
$object->fk_soc = $contacts[0]->socid;
|
$object->fk_soc = $contacts[$cid]->socid;
|
||||||
$usertoassign = $contacts[0]->id;
|
$usertoassign = $contacts[$cid]->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ret = $extrafields->setOptionalsFromPost(null, $object);
|
$ret = $extrafields->setOptionalsFromPost(null, $object);
|
||||||
|
|||||||
@ -717,6 +717,7 @@ class User extends CommonObject
|
|||||||
'shipping' => 'expedition',
|
'shipping' => 'expedition',
|
||||||
'task' => 'task@projet',
|
'task' => 'task@projet',
|
||||||
'fichinter' => 'ficheinter',
|
'fichinter' => 'ficheinter',
|
||||||
|
'propale' => 'propal',
|
||||||
'inventory' => 'stock',
|
'inventory' => 'stock',
|
||||||
'invoice' => 'facture',
|
'invoice' => 'facture',
|
||||||
'invoice_supplier' => 'fournisseur',
|
'invoice_supplier' => 'fournisseur',
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user