mirror of
https://github.com/inventree/InvenTree
synced 2024-08-30 18:33:04 +00:00
Merge remote-tracking branch 'inventree/master'
This commit is contained in:
commit
2d08fe1903
@ -155,6 +155,8 @@ INSTALLED_APPS = [
|
|||||||
'markdownify', # Markdown template rendering
|
'markdownify', # Markdown template rendering
|
||||||
'django_tex', # LaTeX output
|
'django_tex', # LaTeX output
|
||||||
'django_admin_shell', # Python shell for the admin interface
|
'django_admin_shell', # Python shell for the admin interface
|
||||||
|
'error_report', # Error reporting in the admin interface
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
||||||
LOGGING = {
|
LOGGING = {
|
||||||
@ -181,6 +183,9 @@ MIDDLEWARE = CONFIG.get('middleware', [
|
|||||||
'InvenTree.middleware.AuthRequiredMiddleware'
|
'InvenTree.middleware.AuthRequiredMiddleware'
|
||||||
])
|
])
|
||||||
|
|
||||||
|
# Error reporting middleware
|
||||||
|
MIDDLEWARE.append('error_report.middleware.ExceptionProcessor')
|
||||||
|
|
||||||
AUTHENTICATION_BACKENDS = CONFIG.get('authentication_backends', [
|
AUTHENTICATION_BACKENDS = CONFIG.get('authentication_backends', [
|
||||||
'django.contrib.auth.backends.ModelBackend'
|
'django.contrib.auth.backends.ModelBackend'
|
||||||
])
|
])
|
||||||
|
@ -126,6 +126,7 @@ urlpatterns = [
|
|||||||
url(r'^edit-user/', EditUserView.as_view(), name='edit-user'),
|
url(r'^edit-user/', EditUserView.as_view(), name='edit-user'),
|
||||||
url(r'^set-password/', SetPasswordView.as_view(), name='set-password'),
|
url(r'^set-password/', SetPasswordView.as_view(), name='set-password'),
|
||||||
|
|
||||||
|
url(r'^admin/error_log/', include('error_report.urls')),
|
||||||
url(r'^admin/shell/', include('django_admin_shell.urls')),
|
url(r'^admin/shell/', include('django_admin_shell.urls')),
|
||||||
url(r'^admin/', admin.site.urls, name='inventree-admin'),
|
url(r'^admin/', admin.site.urls, name='inventree-admin'),
|
||||||
|
|
||||||
|
@ -571,7 +571,8 @@ class Part(MPTTModel):
|
|||||||
super().clean()
|
super().clean()
|
||||||
|
|
||||||
if self.trackable:
|
if self.trackable:
|
||||||
for parent_part in self.used_in.all():
|
for item in self.used_in.all():
|
||||||
|
parent_part = item.part
|
||||||
if not parent_part.trackable:
|
if not parent_part.trackable:
|
||||||
parent_part.trackable = True
|
parent_part.trackable = True
|
||||||
parent_part.clean()
|
parent_part.clean()
|
||||||
@ -1041,8 +1042,16 @@ class Part(MPTTModel):
|
|||||||
- Exclude parts which this part is in the BOM for
|
- Exclude parts which this part is in the BOM for
|
||||||
"""
|
"""
|
||||||
|
|
||||||
parts = Part.objects.filter(component=True).exclude(id=self.id)
|
# Start with a list of all parts designated as 'sub components'
|
||||||
parts = parts.exclude(id__in=[part.id for part in self.used_in.all()])
|
parts = Part.objects.filter(component=True)
|
||||||
|
|
||||||
|
# Exclude this part
|
||||||
|
parts = parts.exclude(id=self.id)
|
||||||
|
|
||||||
|
# Exclude any parts that this part is used *in* (to prevent recursive BOMs)
|
||||||
|
used_in = self.used_in.all()
|
||||||
|
|
||||||
|
parts = parts.exclude(id__in=[item.part.id for item in used_in])
|
||||||
|
|
||||||
return parts
|
return parts
|
||||||
|
|
||||||
|
@ -109,6 +109,9 @@ class RuleSet(models.Model):
|
|||||||
'report_reportasset',
|
'report_reportasset',
|
||||||
'report_testreport',
|
'report_testreport',
|
||||||
'part_partstar',
|
'part_partstar',
|
||||||
|
|
||||||
|
# Third-party tables
|
||||||
|
'error_report_error',
|
||||||
]
|
]
|
||||||
|
|
||||||
RULE_OPTIONS = [
|
RULE_OPTIONS = [
|
||||||
|
@ -26,5 +26,6 @@ django-tex==1.1.7 # LaTeX PDF export
|
|||||||
django-weasyprint==1.0.1 # HTML PDF export
|
django-weasyprint==1.0.1 # HTML PDF export
|
||||||
django-debug-toolbar==2.2 # Debug / profiling toolbar
|
django-debug-toolbar==2.2 # Debug / profiling toolbar
|
||||||
django-admin-shell==0.1.2 # Python shell for the admin interface
|
django-admin-shell==0.1.2 # Python shell for the admin interface
|
||||||
|
django-error-report==0.2.0 # Error report viewer for the admin interface
|
||||||
|
|
||||||
inventree # Install the latest version of the InvenTree API python library
|
inventree # Install the latest version of the InvenTree API python library
|
Loading…
Reference in New Issue
Block a user