mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Mayyyyyyyyyyyyybe?
This commit is contained in:
parent
5f9758e85f
commit
aae1400929
@ -9,7 +9,7 @@ from __future__ import unicode_literals
|
|||||||
import os
|
import os
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.utils import IntegrityError
|
from django.db.utils import IntegrityError, OperationalError
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
|
||||||
import djmoney.settings
|
import djmoney.settings
|
||||||
@ -17,7 +17,6 @@ from djmoney.models.fields import MoneyField
|
|||||||
from djmoney.contrib.exchange.models import convert_money
|
from djmoney.contrib.exchange.models import convert_money
|
||||||
from djmoney.contrib.exchange.exceptions import MissingRate
|
from djmoney.contrib.exchange.exceptions import MissingRate
|
||||||
|
|
||||||
from django.db.utils import OperationalError
|
|
||||||
from django.utils.translation import ugettext as _
|
from django.utils.translation import ugettext as _
|
||||||
from django.core.validators import MinValueValidator
|
from django.core.validators import MinValueValidator
|
||||||
from django.core.exceptions import ValidationError
|
from django.core.exceptions import ValidationError
|
||||||
@ -284,16 +283,18 @@ class InvenTreeSetting(models.Model):
|
|||||||
setting = InvenTreeSetting.objects.filter(key__iexact=key).first()
|
setting = InvenTreeSetting.objects.filter(key__iexact=key).first()
|
||||||
except (ValueError, InvenTreeSetting.DoesNotExist):
|
except (ValueError, InvenTreeSetting.DoesNotExist):
|
||||||
setting = None
|
setting = None
|
||||||
except (IntegrityError):
|
except (IntegrityError, OperationalError):
|
||||||
setting = None
|
setting = None
|
||||||
|
|
||||||
|
# Setting does not exist! (Try to create it)
|
||||||
if not setting:
|
if not setting:
|
||||||
# Return a new setting object if it does not already exist
|
try:
|
||||||
# Do not save it to the database, though
|
# Attempt to create a new settin object
|
||||||
setting = InvenTreeSetting(
|
setting = InvenTreeSetting.objects.create(key=key, value=InvenTreeSetting.get_setting_default(key))
|
||||||
key=key,
|
except (IntegrityError, OperationalError):
|
||||||
value=InvenTreeSetting.get_setting_default(key)
|
# It might be the case that the database isn't created yet
|
||||||
)
|
# In such a case, return the object (but do not save it!)
|
||||||
|
setting = InvenTreeSetting(key=key, value=InvenTreeSetting.get_setting_default(key))
|
||||||
|
|
||||||
return setting
|
return setting
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ class SettingsViewTest(TestCase):
|
|||||||
|
|
||||||
url = self.get_url(setting.pk)
|
url = self.get_url(setting.pk)
|
||||||
|
|
||||||
response = self.get(url)
|
self.get(url)
|
||||||
|
|
||||||
new_name = 'A new instance name!'
|
new_name = 'A new instance name!'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user