';
@@ -2867,6 +2828,8 @@ if ($action == 'create' && $usercancreate) {
print '';
+ include DOL_DOCUMENT_ROOT.'/core/tpl/object_currency_amount.tpl.php';
+
$alert = '';
if (getDolGlobalString('ORDER_MANAGE_MIN_AMOUNT') && $object->total_ht < $object->thirdparty->order_min_amount) {
$alert = ' ' . img_warning($langs->trans('OrderMinAmount') . ': ' . price($object->thirdparty->order_min_amount));
diff --git a/htdocs/compta/facture/card-rec.php b/htdocs/compta/facture/card-rec.php
index 1ad5e3fcc81..9bd0bc7f0ac 100644
--- a/htdocs/compta/facture/card-rec.php
+++ b/htdocs/compta/facture/card-rec.php
@@ -1396,52 +1396,6 @@ if ($action == 'create') {
}
print '';
- // Multicurrency
- if (isModEnabled('multicurrency')) {
- // Multicurrency code
- print '';
- print '| ';
- print '';
- print ' | ';
- $htmlname = (($usercancreate && $action == 'editmulticurrencycode') ? 'multicurrency_code' : 'none');
- $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, $htmlname);
- print ' | ';
-
- // Multicurrency rate
- if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) {
- print '';
- print '';
- print '| ';
- print $form->editfieldkey('CurrencyRate', 'multicurrency_tx', '', $object, 0);
- print ' | ';
- if ($usercancreate && $action != 'editmulticurrencyrate' && $object->suspended == $object::STATUS_SUSPENDED && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
- print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).' | ';
- }
- print ' ';
- print ' | ';
- if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') {
- if ($action == 'actualizemulticurrencyrate') {
- list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code);
- }
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, ($usercancreate ? 'multicurrency_tx' : 'none'), $object->multicurrency_code);
- } else {
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'none', $object->multicurrency_code);
- if ($object->statut == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
- print '';
- }
- }
- print ' | ';
- }
- }
-
// Help of substitution key
$dateexample = dol_now();
if (!empty($object->frequency) && !empty($object->date_when)) {
@@ -1553,6 +1507,8 @@ if ($action == 'create') {
print '';
+ include DOL_DOCUMENT_ROOT.'/core/tpl/object_currency_amount.tpl.php';
+
print '| '.img_picto('', 'recurring', 'class="pictofixedwidth"').$title.' | ';
// if "frequency" is empty or = 0, the recurrence is disabled
diff --git a/htdocs/compta/facture/card.php b/htdocs/compta/facture/card.php
index b9625644c02..73372a409b2 100644
--- a/htdocs/compta/facture/card.php
+++ b/htdocs/compta/facture/card.php
@@ -4849,52 +4849,6 @@ if ($action == 'create') {
}
print '';
- // Multicurrency
- if (isModEnabled('multicurrency')) {
- // Multicurrency code
- print '';
- print '| ';
- print '';
- print ' | ';
- $htmlname = (($usercancreate && $action == 'editmulticurrencycode') ? 'multicurrency_code' : 'none');
- $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, $htmlname);
- print ' | ';
-
- // Multicurrency rate
- if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) {
- print '';
- print '';
- print '| ';
- print $form->editfieldkey('CurrencyRate', 'multicurrency_tx', '', $object, 0);
- print ' | ';
- if ($usercancreate && $action != 'editmulticurrencyrate' && $object->status == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
- print 'id.'">'.img_edit($langs->transnoentitiesnoconv('SetMultiCurrencyCode'), 1).' | ';
- }
- print ' ';
- print ' | ';
- if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') {
- if ($action == 'actualizemulticurrencyrate') {
- list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code);
- }
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, ($usercancreate ? 'multicurrency_tx' : 'none'), $object->multicurrency_code);
- } else {
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'none', $object->multicurrency_code);
- if ($object->status == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
- print '';
- }
- }
- print ' | ';
- }
- }
-
// Bank Account
if (isModEnabled("bank")) {
print '';
@@ -5053,6 +5007,8 @@ if ($action == 'create') {
print '';
+ include DOL_DOCUMENT_ROOT.'/core/tpl/object_currency_amount.tpl.php';
+
$sign = 1;
if (getDolGlobalString('INVOICE_POSITIVE_CREDIT_NOTE_SCREEN') && $object->type == $object::TYPE_CREDIT_NOTE) {
$sign = -1; // We invert sign for output
@@ -5069,7 +5025,7 @@ if ($action == 'create') {
print '';
// Amount VAT
- print '| ' . $langs->trans('AmountVAT') . ' | ';
+ print '' . $langs->trans('AmountVAT') . ' | ';
print '' . price($sign * $object->total_tva, 0, $langs, 0, -1, -1, $conf->currency) . ' | ';
if (isModEnabled("multicurrency") && ($object->multicurrency_code && $object->multicurrency_code != $conf->currency)) {
// Multicurrency Amount VAT
diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index 8ab62d55d6b..18a69ba44e5 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -6267,18 +6267,19 @@ class Form
print '';
} else {
if (!empty($rate)) {
print price($rate, 1, $langs, 0, 0);
if ($currency && $rate != 1) {
- print ' (' . price($rate, 1, $langs, 0, 0) . ' ' . $currency . ' = 1 ' . $conf->currency . ')';
+ print ' (' . price($rate, 1, $langs, 0, 0) . ' ' . $currency . ' = 1 ' . $conf->currency . ')';
}
} else {
print 1;
diff --git a/htdocs/core/tpl/object_currency_amount.tpl.php b/htdocs/core/tpl/object_currency_amount.tpl.php
new file mode 100644
index 00000000000..f423340320a
--- /dev/null
+++ b/htdocs/core/tpl/object_currency_amount.tpl.php
@@ -0,0 +1,85 @@
+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ *
+ * Needs the following variables defined:
+ * $object Proposal, order, invoice (including supplier versions)
+ * $usercancreate Permission to edit object
+ * $action
+ * $form
+ * $conf
+ * $langs
+ */
+
+print ''."\n";
+
+// Multicurrency
+if (isModEnabled('multicurrency')) {
+ $colspan = 1;
+ if (isModEnabled("multicurrency") && ($object->multicurrency_code && $object->multicurrency_code != $conf->currency)) {
+ $colspan = 2;
+ }
+ if ($object instanceof FactureFournisseurRec || $object instanceof FactureRec) {
+ $currencyIsEditable = ($object->suspended == $object::STATUS_SUSPENDED);
+ $colspan = 1;
+ } else {
+ $currencyIsEditable = ($object->status == $object::STATUS_DRAFT);
+ }
+
+ // Multicurrency code
+ print ' ';
+ print '| ';
+ print '';
+ print ' | ';
+ $htmlname = (($usercancreate && $action == 'editmulticurrencycode' && $currencyIsEditable) ? 'multicurrency_code' : 'none');
+ $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, $htmlname);
+ print ' | ';
+
+ // Multicurrency rate
+ if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) {
+ print '';
+ print '| ';
+ print '';
+ print ' | ';
+ if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') {
+ if ($action == 'actualizemulticurrencyrate') {
+ list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code);
+ }
+ $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, ($usercancreate ? 'multicurrency_tx' : 'none'), $object->multicurrency_code);
+ } else {
+ $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'none', $object->multicurrency_code);
+ if ($object->status == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
+ print '';
+ }
+ }
+ print ' | ';
+ }
+}
+
+print '';
diff --git a/htdocs/fourn/commande/card.php b/htdocs/fourn/commande/card.php
index 6caa162c1b3..6aaea69b048 100644
--- a/htdocs/fourn/commande/card.php
+++ b/htdocs/fourn/commande/card.php
@@ -2180,56 +2180,6 @@ if ($action == 'create') {
}
print '';
- // Multicurrency
- if (isModEnabled("multicurrency")) {
- // Multicurrency code
- print '';
- print '| ';
- print '';
- print ' | ';
- if ($action == 'editmulticurrencycode') {
- $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, 'multicurrency_code');
- } else {
- $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, 'none');
- }
- print ' | ';
-
- // Multicurrency rate
- if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) {
- print '';
- print '| ';
- print '';
- print ' | ';
- if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') {
- if ($action == 'actualizemulticurrencyrate') {
- list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code);
- }
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'multicurrency_tx', $object->multicurrency_code);
- } else {
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'none', $object->multicurrency_code);
- if ($object->statut == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
- print '';
- }
- }
- print ' | ';
- }
- }
-
// Bank Account
if (getDolGlobalString('BANK_ASK_PAYMENT_BANK_DURING_SUPPLIER_ORDER') && isModEnabled("bank")) {
print '';
@@ -2322,6 +2272,8 @@ if ($action == 'create') {
print '';
+ include DOL_DOCUMENT_ROOT.'/core/tpl/object_currency_amount.tpl.php';
+
print '';
// Amount HT
print '| ' . $langs->trans('AmountHT') . ' | ';
diff --git a/htdocs/fourn/facture/card-rec.php b/htdocs/fourn/facture/card-rec.php
index 7759e176ea5..1f08e652c56 100644
--- a/htdocs/fourn/facture/card-rec.php
+++ b/htdocs/fourn/facture/card-rec.php
@@ -1288,52 +1288,6 @@ if ($action == 'create') {
}
print ' ';
- // Multicurrency
- if (isModEnabled("multicurrency")) {
- // Multicurrency code
- print '';
- print '| ';
- print '';
- print ' | ';
- $htmlname = (($usercancreate && $action == 'editmulticurrencycode') ? 'multicurrency_code' : 'none');
- $form->form_multicurrency_code($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->multicurrency_code, $htmlname);
- print ' | ';
-
- // Multicurrency rate
- if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) {
- print '';
- print '| ';
- print '';
- print ' | ';
- if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') {
- if ($action == 'actualizemulticurrencyrate') {
- list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code);
- }
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->multicurrency_tx, ($usercancreate ? 'multicurrency_tx' : 'none'), $object->multicurrency_code);
- } else {
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'] . '?id=' . $object->id, $object->multicurrency_tx, 'none', $object->multicurrency_code);
- if ($object->statut == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
- print '';
- }
- }
- print ' | ';
- }
- }
-
// Help of substitution key
$dateexample = dol_now();
if (!empty($object->frequency) && !empty($object->date_when)) {
@@ -1443,6 +1397,8 @@ if ($action == 'create') {
print '';
+ include DOL_DOCUMENT_ROOT.'/core/tpl/object_currency_amount.tpl.php';
+
print '| ' . img_picto('', 'recurring', 'class="pictofixedwidth"') . $title . ' | ';
// if "frequency" is empty or = 0, the recurrence is disabled
diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php
index 68eb03a5a9d..c3721117578 100644
--- a/htdocs/fourn/facture/card.php
+++ b/htdocs/fourn/facture/card.php
@@ -3411,55 +3411,6 @@ if ($action == 'create') {
}
print '';
- // Multicurrency
- if (isModEnabled("multicurrency")) {
- // Multicurrency code
- print '';
- print '| ';
- print '';
- print ' | ';
- if ($action == 'editmulticurrencycode') {
- $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, 'multicurrency_code');
- } else {
- $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, 'none');
- }
- print ' | ';
-
- // Multicurrency rate
- if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) {
- print '';
- print '| ';
- print '';
- print ' | ';
- if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') {
- if ($action == 'actualizemulticurrencyrate') {
- list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code);
- }
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'multicurrency_tx', $object->multicurrency_code);
- } else {
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'none', $object->multicurrency_code);
- if ($object->status == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
- print '';
- }
- }
- print ' | ';
- }
- }
-
// Bank Account
if (isModEnabled("bank")) {
print '';
@@ -3566,6 +3517,8 @@ if ($action == 'create') {
print '';
+ include DOL_DOCUMENT_ROOT.'/core/tpl/object_currency_amount.tpl.php';
+
print '';
print '| ' . $langs->trans('AmountHT') . ' | ';
print '' . price($object->total_ht, 0, $langs, 0, -1, -1, $conf->currency) . ' | ';
diff --git a/htdocs/langs/en_US/main.lang b/htdocs/langs/en_US/main.lang
index 4409c1da534..cb0a0f0d4c3 100644
--- a/htdocs/langs/en_US/main.lang
+++ b/htdocs/langs/en_US/main.lang
@@ -966,7 +966,7 @@ PrivateDownloadLinkDesc=You need to be logged and you need permissions to view o
Download=Download
DownloadDocument=Download document
DownloadSignedDocument=Download signed document
-ActualizeCurrency=Update currency rate
+ActualizeCurrency=Use last known rate
Fiscalyear=Fiscal year
ModuleBuilder=Module and Application Builder
SetMultiCurrencyCode=Set currency
diff --git a/htdocs/supplier_proposal/card.php b/htdocs/supplier_proposal/card.php
index b8a45ab941a..a3d739f5bd0 100644
--- a/htdocs/supplier_proposal/card.php
+++ b/htdocs/supplier_proposal/card.php
@@ -1746,55 +1746,6 @@ if ($action == 'create') {
}
print ' ';
- // Multicurrency
- if (isModEnabled("multicurrency")) {
- // Multicurrency code
- print '';
- print '| ';
- print '';
- print ' | ';
- if ($action == 'editmulticurrencycode') {
- $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, 'multicurrency_code');
- } else {
- $form->form_multicurrency_code($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_code, 'none');
- }
- print ' | ';
-
- // Multicurrency rate
- if ($object->multicurrency_code != $conf->currency || $object->multicurrency_tx != 1) {
- print '';
- print '| ';
- print '';
- print ' | ';
- if ($action == 'editmulticurrencyrate' || $action == 'actualizemulticurrencyrate') {
- if ($action == 'actualizemulticurrencyrate') {
- list($object->fk_multicurrency, $object->multicurrency_tx) = MultiCurrency::getIdAndTxFromCode($object->db, $object->multicurrency_code);
- }
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'multicurrency_tx', $object->multicurrency_code);
- } else {
- $form->form_multicurrency_rate($_SERVER['PHP_SELF'].'?id='.$object->id, $object->multicurrency_tx, 'none', $object->multicurrency_code);
- if ($object->statut == $object::STATUS_DRAFT && $object->multicurrency_code && $object->multicurrency_code != $conf->currency) {
- print '';
- }
- }
- print ' | ';
- }
- }
-
/* Not for supplier proposals
if ($soc->outstanding_limit) {
// Outstanding Bill
@@ -1839,6 +1790,8 @@ if ($action == 'create') {
print '';
+ include DOL_DOCUMENT_ROOT.'/core/tpl/object_currency_amount.tpl.php';
+
print '';
// Amount HT
print '| ' . $langs->trans('AmountHT') . ' | ';
| | | |