From d87592aedb209e34562c6a443221ddec66673cb2 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 5 Jun 2021 13:22:11 +0200 Subject: [PATCH 1/5] use the default currency in forms --- InvenTree/common/models.py | 2 +- InvenTree/company/forms.py | 5 +++-- InvenTree/order/models.py | 6 ++++-- InvenTree/stock/models.py | 4 +++- 4 files changed, 11 insertions(+), 6 deletions(-) diff --git a/InvenTree/common/models.py b/InvenTree/common/models.py index 236e48770f..ec76475901 100644 --- a/InvenTree/common/models.py +++ b/InvenTree/common/models.py @@ -703,7 +703,7 @@ class PriceBreak(models.Model): price = MoneyField( max_digits=19, decimal_places=4, - default_currency='USD', + default_currency=currency_code_default(), null=True, verbose_name=_('Price'), help_text=_('Unit price at specified quantity'), diff --git a/InvenTree/company/forms.py b/InvenTree/company/forms.py index 62a46fcd6f..fc409b9a77 100644 --- a/InvenTree/company/forms.py +++ b/InvenTree/company/forms.py @@ -15,6 +15,7 @@ import djmoney.settings from djmoney.forms.fields import MoneyField import common.settings +from common.settings import currency_code_default from .models import Company from .models import ManufacturerPart @@ -38,7 +39,7 @@ class EditCompanyForm(HelperForm): label=_('Currency'), help_text=_('Default currency used for this company'), choices=[('', '----------')] + djmoney.settings.CURRENCY_CHOICES, - initial=common.settings.currency_code_default, + initial=currency_code_default, ) class Meta: @@ -116,7 +117,7 @@ class EditSupplierPartForm(HelperForm): single_pricing = MoneyField( label=_('Single Price'), - default_currency='USD', + default_currency=currency_code_default(), help_text=_('Single quantity price'), decimal_places=4, max_digits=19, diff --git a/InvenTree/order/models.py b/InvenTree/order/models.py index fb169e0536..49504b6d89 100644 --- a/InvenTree/order/models.py +++ b/InvenTree/order/models.py @@ -17,6 +17,8 @@ from django.contrib.auth.models import User from django.urls import reverse from django.utils.translation import ugettext_lazy as _ +from common.settings import currency_code_default + from markdownx.models import MarkdownxField from djmoney.models.fields import MoneyField @@ -664,7 +666,7 @@ class PurchaseOrderLineItem(OrderLineItem): purchase_price = MoneyField( max_digits=19, decimal_places=4, - default_currency='USD', + default_currency=currency_code_default(), null=True, blank=True, verbose_name=_('Purchase Price'), help_text=_('Unit purchase price'), @@ -693,7 +695,7 @@ class SalesOrderLineItem(OrderLineItem): sale_price = MoneyField( max_digits=19, decimal_places=4, - default_currency='USD', + default_currency=currency_code_default(), null=True, blank=True, verbose_name=_('Sale Price'), help_text=_('Unit sale price'), diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 88f8dd081c..9786b360d9 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -20,6 +20,8 @@ from django.contrib.auth.models import User from django.db.models.signals import pre_delete from django.dispatch import receiver +from common.settings import currency_code_default + from markdownx.models import MarkdownxField from mptt.models import MPTTModel, TreeForeignKey @@ -534,7 +536,7 @@ class StockItem(MPTTModel): purchase_price = MoneyField( max_digits=19, decimal_places=4, - default_currency='USD', + default_currency=currency_code_default(), blank=True, null=True, verbose_name=_('Purchase Price'), From 691142ea4c539a252bcc468a5cfd704e27ca7687 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 5 Jun 2021 13:27:39 +0200 Subject: [PATCH 2/5] fixing currency display --- InvenTree/part/templates/part/part_pricing.html | 3 ++- InvenTree/templates/price.html | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/templates/part/part_pricing.html b/InvenTree/part/templates/part/part_pricing.html index 49e37fe0ad..cc036a5884 100644 --- a/InvenTree/part/templates/part/part_pricing.html +++ b/InvenTree/part/templates/part/part_pricing.html @@ -1,8 +1,9 @@ {% extends "modal_form.html" %} -{% load i18n %} +{% load i18n inventree_extras %} {% block pre_form_content %} +{% settings_value "INVENTREE_DEFAULT_CURRENCY" as currency %} diff --git a/InvenTree/templates/price.html b/InvenTree/templates/price.html index ef47d5edf2..285f785178 100644 --- a/InvenTree/templates/price.html +++ b/InvenTree/templates/price.html @@ -1 +1,2 @@ -{% if currency %}{{ currency.symbol }}{% endif %}{{ price }}{% if currency %} {{ currency.suffix }}{% endif %} \ No newline at end of file +{% load djmoney %} +{% money_localize price currency %} \ No newline at end of file From 0eff7d000af96d779f88e5e24ec6738b989d4767 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 5 Jun 2021 15:05:05 +0200 Subject: [PATCH 3/5] added tag to replace dynamic setting --- InvenTree/part/templatetags/inventree_extras.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index ceb2d11e31..1c40dae30e 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -18,6 +18,7 @@ from InvenTree import version, settings import InvenTree.helpers from common.models import InvenTreeSetting, ColorTheme +from common.settings import currency_code_default register = template.Library() @@ -161,6 +162,12 @@ def inventree_credits_url(*args, **kwargs): return "https://inventree.readthedocs.io/en/latest/credits/" +@register.simple_tag() +def default_currency(*args, **kwargs): + """ Returns the default currency code """ + return currency_code_default() + + @register.simple_tag() def setting_object(key, *args, **kwargs): """ From 44717b646f48fb60c3f4dd526cfb289e8b883893 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 5 Jun 2021 15:07:42 +0200 Subject: [PATCH 4/5] using new tag for currency --- InvenTree/part/templates/part/order_prices.html | 4 ++-- InvenTree/part/templates/part/part_pricing.html | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/InvenTree/part/templates/part/order_prices.html b/InvenTree/part/templates/part/order_prices.html index 6c5b2173bf..e165ee9c74 100644 --- a/InvenTree/part/templates/part/order_prices.html +++ b/InvenTree/part/templates/part/order_prices.html @@ -13,7 +13,7 @@ {% endblock %} {% block details %} -{% settings_value "INVENTREE_DEFAULT_CURRENCY" as currency %} +{% default_currency as currency %} {% crispy form %} @@ -130,7 +130,7 @@ the part single price shown is the current price for that supplier part"> From 0bac7ebf3e1b0eee48f6fa36005de61238b7b520 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 5 Jun 2021 17:18:46 +0200 Subject: [PATCH 5/5] styling --- InvenTree/company/forms.py | 1 - 1 file changed, 1 deletion(-) diff --git a/InvenTree/company/forms.py b/InvenTree/company/forms.py index fc409b9a77..6ffa94b746 100644 --- a/InvenTree/company/forms.py +++ b/InvenTree/company/forms.py @@ -14,7 +14,6 @@ import django.forms import djmoney.settings from djmoney.forms.fields import MoneyField -import common.settings from common.settings import currency_code_default from .models import Company
{% trans 'Part' %}
{% trans 'Part' %}