diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php
index 29191fce68a..d9990ef7525 100644
--- a/htdocs/comm/action/index.php
+++ b/htdocs/comm/action/index.php
@@ -48,7 +48,7 @@ $filtert = GETPOST("usertodo","int",3)?GETPOST("usertodo","int",3):GETPOST("filt
$usergroup = GETPOST("usergroup","int",3);
$showbirthday = empty($conf->use_javascript_ajax)?GETPOST("showbirthday","int"):1;
-// If not choice done on calendar owner, we filter on user.
+// If not choice done on calendar owner (like on left menu link "Agenda"), we filter on user.
if (empty($filtert) && empty($conf->global->AGENDA_ALL_CALENDARS))
{
$filtert=$user->id;
diff --git a/htdocs/comm/remx.php b/htdocs/comm/remx.php
index 07989b457de..a4aff6d71c1 100644
--- a/htdocs/comm/remx.php
+++ b/htdocs/comm/remx.php
@@ -341,22 +341,22 @@ if ($socid > 0)
$var = !$var;
print "
';
}
else
diff --git a/htdocs/commande/card.php b/htdocs/commande/card.php
index 08ca0e6b067..36b87d680d4 100644
--- a/htdocs/commande/card.php
+++ b/htdocs/commande/card.php
@@ -2017,8 +2017,8 @@ if ($action == 'create' && $user->rights->commande->creer)
// invoice
$filtercreditnote = "fk_facture_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
} else {
- $filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')";
- $filtercreditnote = "fk_facture_source IS NOT NULL AND description <> '(DEPOSIT)'";
+ $filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description LIKE '(DEPOSIT)%')";
+ $filtercreditnote = "fk_facture_source IS NOT NULL AND description NOT LIKE '(DEPOSIT)%'";
}
$addrelativediscount = 'id . '">' . $langs->trans("EditRelativeDiscounts") . '';
diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php
index 385dc6dcd4c..962570f55fa 100644
--- a/htdocs/compta/facture.php
+++ b/htdocs/compta/facture.php
@@ -2711,8 +2711,8 @@ else if ($id > 0 || ! empty($ref))
$filterabsolutediscount = "fk_facture_source IS NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
$filtercreditnote = "fk_facture_source IS NOT NULL"; // If we want deposit to be substracted to payments only and not to total of final invoice
} else {
- $filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')";
- $filtercreditnote = "fk_facture_source IS NOT NULL AND description <> '(DEPOSIT)'";
+ $filterabsolutediscount = "fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description LIKE '(DEPOSIT)%')";
+ $filtercreditnote = "fk_facture_source IS NOT NULL AND description NOT LIKE '(DEPOSIT)%'";
}
$absolute_discount = $soc->getAvailableDiscounts('', $filterabsolutediscount);
@@ -3130,9 +3130,9 @@ else if ($id > 0 || ! empty($ref))
// Remise dispo de type avoir
if (! $absolute_discount)
print ' ';
- // $form->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote,
- // $filtercreditnote, $resteapayer);
- $form->form_remise_dispo($_SERVER["PHP_SELF"] . '?facid=' . $object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, 0); // We allow credit note even if amount is higher
+ // $form->form_remise_dispo($_SERVER["PHP_SELF"].'?facid='.$object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, $resteapayer
+ $more=' ('.$addcreditnote.')';
+ $form->form_remise_dispo($_SERVER["PHP_SELF"] . '?facid=' . $object->id, 0, 'remise_id_for_payment', $soc->id, $absolute_creditnote, $filtercreditnote, 0, $more); // We allow credit note even if amount is higher
}
}
if (! $absolute_discount && ! $absolute_creditnote) {
diff --git a/htdocs/contrat/card.php b/htdocs/contrat/card.php
index 0a34723e2ce..5a87d3b3d51 100644
--- a/htdocs/contrat/card.php
+++ b/htdocs/contrat/card.php
@@ -1060,7 +1060,7 @@ if ($action == 'create')
$projectid = (!empty($objectsrc->fk_project)?$objectsrc->fk_project:'');
- $soc = $objectsrc->client;
+ $soc = $objectsrc->thirdparty;
$note_private = (! empty($objectsrc->note_private) ? $objectsrc->note_private : '');
$note_public = (! empty($objectsrc->note_public) ? $objectsrc->note_public : '');
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index f56b9dbc7ef..64d1538578b 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -1137,8 +1137,8 @@ class Form
{
$obj = $this->db->fetch_object($resql);
$desc=dol_trunc($obj->description,40);
- if ($desc=='(CREDIT_NOTE)') $desc=$langs->trans("CreditNote");
- if ($desc=='(DEPOSIT)') $desc=$langs->trans("Deposit");
+ if (preg_match('/\(CREDIT_NOTE\)/', $desc)) $desc=preg_replace('/\(CREDIT_NOTE\)/', $langs->trans("CreditNote"), $desc);
+ if (preg_match('/\(DEPOSIT\)/', $desc)) $desc=preg_replace('/\(DEPOSIT\)/', $langs->trans("Deposit"), $desc);
$selectstring='';
if ($selected > 0 && $selected == $obj->rowid) $selectstring=' selected';
@@ -3894,7 +3894,7 @@ class Form
}
else
{
- if (! $filter || $filter=="fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description='(DEPOSIT)')") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
+ if (! $filter || $filter=="fk_facture_source IS NULL OR (fk_facture_source IS NOT NULL AND description LIKE '(DEPOSIT)%')") print $langs->trans("CompanyHasAbsoluteDiscount",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
else print $langs->trans("CompanyHasCreditNote",price($amount,0,$langs,0,0,-1,$conf->currency)).': ';
}
$newfilter='fk_facture IS NULL AND fk_facture_line IS NULL'; // Remises disponibles
@@ -3905,7 +3905,7 @@ class Form
if ($nbqualifiedlines > 0)
{
print ' ';
}
if ($more) print $more;
diff --git a/htdocs/core/lib/treeview.lib.php b/htdocs/core/lib/treeview.lib.php
index e900931037e..225568fd776 100644
--- a/htdocs/core/lib/treeview.lib.php
+++ b/htdocs/core/lib/treeview.lib.php
@@ -113,7 +113,11 @@ function tree_showpad(&$fulltree,$key,$silent=0)
*/
function tree_recur($tab, $pere, $rang, $iddivjstree='iddivjstree')
{
- if (empty($pere['rowid']))
+ global $tree_recur_alreadyadded;
+
+ if ($rang == 0) $tree_recur_alreadyadded=array();
+
+ if (empty($pere['rowid']))
{
// Test also done with jstree and dynatree (not able to have inside label)
print '