Added 'Currencies' settings view in global settings

This commit is contained in:
eeintech 2021-05-19 17:06:41 -04:00
parent 34ded08ee7
commit 6d5b2d3227
6 changed files with 66 additions and 4 deletions

View File

@ -175,9 +175,9 @@ def update_exchange_rates():
# Get backend
if 'InvenTreeManualExchangeBackend' in settings.EXCHANGE_BACKEND:
backend = InvenTreeFixerExchangeBackend()
else:
backend = InvenTreeManualExchangeBackend()
else:
backend = InvenTreeFixerExchangeBackend()
# Update rates
backend.update_rates()

View File

@ -41,6 +41,7 @@ from .views import IndexView, SearchView, DatabaseStatsView
from .views import SettingsView, EditUserView, SetPasswordView
from .views import AppearanceSelectView, SettingCategorySelectView
from .views import DynamicJsView
from .views import ExchangeRatesView
from common.views import SettingEdit
@ -90,6 +91,8 @@ settings_urls = [
url(r'^build/?', SettingsView.as_view(template_name='InvenTree/settings/build.html'), name='settings-build'),
url(r'^purchase-order/?', SettingsView.as_view(template_name='InvenTree/settings/po.html'), name='settings-po'),
url(r'^sales-order/?', SettingsView.as_view(template_name='InvenTree/settings/so.html'), name='settings-so'),
url(r'^currencies/?', SettingsView.as_view(template_name='InvenTree/settings/currencies.html'), name='settings-currencies'),
url(r'^echange-rates/?', ExchangeRatesView.as_view(), name='refresh-exchange-rates'),
url(r'^(?P<pk>\d+)/edit/', SettingEdit.as_view(), name='setting-edit'),

View File

@ -27,6 +27,7 @@ from users.models import check_user_role, RuleSet
from .forms import DeleteForm, EditUserForm, SetPasswordForm
from .forms import ColorThemeSelectForm, SettingCategorySelectForm
from .helpers import str2bool
from .tasks import update_exchange_rates
from rest_framework import views
@ -908,3 +909,17 @@ class DatabaseStatsView(AjaxView):
"""
return ctx
class ExchangeRatesView(SettingsView):
success_url = reverse_lazy('settings-currencies')
def post(self, request, *args, **kwargs):
# Process exchange rates
update_exchange_rates()
# TODO: Update context
return HttpResponseRedirect(self.success_url)

View File

@ -0,0 +1,43 @@
{% extends "InvenTree/settings/settings.html" %}
{% load i18n %}
{% load inventree_extras %}
{% block tabs %}
{% include "InvenTree/settings/tabs.html" with tab='currencies' %}
{% endblock %}
{% block subtitle %}
{% trans "Currency Settings" %}
{% endblock %}
{% block settings %}
<table class='table table-striped table-condensed'>
{% include "InvenTree/settings/header.html" %}
<tbody>
{% include "InvenTree/settings/setting.html" with key="INVENTREE_DEFAULT_CURRENCY" icon="fa-dollar-sign" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_FIXER_API_KEY" icon="fa-key" %}
</tbody>
</table>
<div class='row'>
<div class='col-sm-6'>
<h4>{% trans "Exchange Rates" %}</h4>
</div>
</div>
<table class='table table-striped table-condensed' id='exchange-rates'>
</table>
<form action="{% url 'refresh-exchange-rates' %}" method="post">
{% csrf_token %}
<button type="submit" class='btn btn-primary'>{% trans "Refresh Exchange Rates" %}</button>
</form>
{% endblock %}
{% block js_ready %}
{{ block.super }}
{% comment %} TODO: Update exchange-rates table! {% endcomment %}
{% comment %} Or do it using context instead of JS? {% endcomment %}
{% endblock %}

View File

@ -19,8 +19,6 @@
{% include "InvenTree/settings/setting.html" with key="INVENTREE_INSTANCE_TITLE" icon="fa-info-circle" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_BASE_URL" icon="fa-globe" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_COMPANY_NAME" icon="fa-building" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_DEFAULT_CURRENCY" icon="fa-dollar-sign" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_FIXER_API_KEY" icon="fa-key" %}
{% include "InvenTree/settings/setting.html" with key="INVENTREE_DOWNLOAD_FROM_URL" icon="fa-cloud-download-alt" %}
</tbody>
</table>

View File

@ -36,5 +36,8 @@
<li {% if tab == 'so' %} class='active'{% endif %}>
<a href="{% url 'settings-so' %}"><span class='fas fa-truck'></span> {% trans "Sales Orders" %}</a>
</li>
<li {% if tab == 'currencies' %} class='active'{% endif %}>
<a href="{% url 'settings-currencies' %}"><span class='fas fa-dollar-sign'></span> {% trans "Currencies" %}</a>
</li>
</ul>
{% endif %}