diff --git a/htdocs/comm/action/index.php b/htdocs/comm/action/index.php
index a73731699f2..f6b000dd838 100644
--- a/htdocs/comm/action/index.php
+++ b/htdocs/comm/action/index.php
@@ -1009,6 +1009,11 @@ if (! empty($hookmanager->resArray['eventarray'])) {
}
}
+// Sort events
+foreach($eventarray as $keyDate => &$dateeventarray)
+{
+ usort($dateeventarray, 'sort_events_by_date');
+}
$maxnbofchar=0;
@@ -1703,3 +1708,22 @@ function dol_color_minus($color, $minus, $minusunit = 16)
}
return $newcolor;
}
+
+
+/**
+ * Sort events by date
+ *
+ * @param object $a Event A
+ * @param object $b Event B
+ * @return int < 0 if event A should be before event B, > 0 otherwise, 0 if they have the exact same time slot
+ */
+function sort_events_by_date($a, $b)
+{
+ if($a->datep != $b->datep)
+ {
+ return $a->datep - $b->datep;
+ }
+
+ // If both events have the same start time, longest first
+ return $b->datef - $a->datef;
+}
diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php
index dd9de10b970..ebc4695dde8 100644
--- a/htdocs/compta/facture/card.php
+++ b/htdocs/compta/facture/card.php
@@ -1540,14 +1540,16 @@ if (empty($reshook))
$datefacture = dol_mktime(12, 0, 0, $_POST['remonth'], $_POST['reday'], $_POST['reyear']);
if (empty($datefacture)) {
$error++;
- $mesg = '
' . $langs->trans("ErrorFieldRequired", $langs->trans("Date")) . '
';
+ $mesg = $langs->trans("ErrorFieldRequired", $langs->trans("Date"));
+ setEventMessages($mesg, null, 'errors');
}
$date_pointoftax = dol_mktime(12, 0, 0, $_POST['date_pointoftaxmonth'], $_POST['date_pointoftaxday'], $_POST['date_pointoftaxyear']);
if (!($_POST['situations'] > 0)) {
$error++;
- $mesg = '' . $langs->trans("ErrorFieldRequired", $langs->trans("InvoiceSituation")) . '
';
+ $mesg = $langs->trans("ErrorFieldRequired", $langs->trans("InvoiceSituation"));
+ setEventMessages($mesg, null, 'errors');
}
if (!$error) {
@@ -2275,11 +2277,13 @@ if (empty($reshook))
if (!$object->fetch($id) > 0) dol_print_error($db);
if (!is_null(GETPOST('all_progress')) && GETPOST('all_progress') != "")
{
+ $all_progress = GETPOST('all_progress', 'int');
foreach ($object->lines as $line)
{
$percent = $line->get_prev_progress($object->id);
- if (GETPOST('all_progress') < $percent) {
- $mesg = '' . $langs->trans("CantBeLessThanMinPercent") . '
';
+ if (floatval($all_progress) < floatval($percent)) {
+ $mesg = $langs->trans("Line") . ' ' . $i . ' '. $line->ref .' : ' . $langs->trans("CantBeLessThanMinPercent");
+ setEventMessages($mesg, null, 'warnings');
$result = -1;
} else
$object->update_percent($line, $_POST['all_progress']);