diff --git a/InvenTree/InvenTree/settings.py b/InvenTree/InvenTree/settings.py index e82f33ee65..49f81d453d 100644 --- a/InvenTree/InvenTree/settings.py +++ b/InvenTree/InvenTree/settings.py @@ -12,7 +12,7 @@ https://docs.djangoproject.com/en/1.10/ref/settings/ import os import logging -import logging.config + # Build paths inside the project like this: os.path.join(BASE_DIR, ...) BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) @@ -32,8 +32,8 @@ ALLOWED_HOSTS = [] if DEBUG: # will output to your console logging.basicConfig( - level = logging.DEBUG, - format = '%(asctime)s %(levelname)s %(message)s', + level=logging.DEBUG, + format='%(asctime)s %(levelname)s %(message)s', ) # Application definition diff --git a/InvenTree/InvenTree/views.py b/InvenTree/InvenTree/views.py index dea46a7e54..ee09b6698a 100644 --- a/InvenTree/InvenTree/views.py +++ b/InvenTree/InvenTree/views.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals from django.template.loader import render_to_string from django.http import JsonResponse -from django.shortcuts import get_object_or_404 from django.views.generic import UpdateView, CreateView, DeleteView @@ -20,11 +19,10 @@ class AjaxView(object): else: return self.template_name - def renderJsonResponse(self, request, form, data={}): context = {'form': form - } + } data['title'] = self.ajax_form_title @@ -52,7 +50,7 @@ class AjaxCreateView(AjaxView, CreateView): obj = form.save() # Return the PK of the newly-created object - data['pk'] = obj.pk + data['pk'] = obj.pk data['url'] = obj.get_absolute_url() @@ -100,7 +98,7 @@ class AjaxUpdateView(AjaxView, UpdateView): response = super(UpdateView, self).get(request, *args, **kwargs) if request.is_ajax(): - form = self.form_class(instance = self.get_object()) + form = self.form_class(instance=self.get_object()) return self.renderJsonResponse(request, form) @@ -137,7 +135,7 @@ class AjaxDeleteView(AjaxView, DeleteView): 'html_data': render_to_string(self.getAjaxTemplate(), self.get_context_data(), request=request) - } + } return JsonResponse(data) diff --git a/InvenTree/build/forms.py b/InvenTree/build/forms.py index 81e472bc63..8eaadc9a5f 100644 --- a/InvenTree/build/forms.py +++ b/InvenTree/build/forms.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals from django import forms from crispy_forms.helper import FormHelper -from crispy_forms.layout import Submit from .models import Build diff --git a/InvenTree/build/views.py b/InvenTree/build/views.py index 8220752f5b..e02a4a5e42 100644 --- a/InvenTree/build/views.py +++ b/InvenTree/build/views.py @@ -4,7 +4,6 @@ from __future__ import unicode_literals from django.shortcuts import get_object_or_404 from django.views.generic import DetailView, ListView -from django.views.generic.edit import UpdateView, CreateView from part.models import Part from .models import Build @@ -13,6 +12,7 @@ from .forms import EditBuildForm from InvenTree.views import AjaxUpdateView, AjaxCreateView + class BuildIndex(ListView): model = Build template_name = 'build/index.html' diff --git a/InvenTree/company/forms.py b/InvenTree/company/forms.py index c7a4066ccd..9a1a49df06 100644 --- a/InvenTree/company/forms.py +++ b/InvenTree/company/forms.py @@ -1,6 +1,5 @@ from django import forms from crispy_forms.helper import FormHelper -from crispy_forms.layout import Submit from .models import Company diff --git a/InvenTree/company/views.py b/InvenTree/company/views.py index 0dea73854c..ab2f15d912 100644 --- a/InvenTree/company/views.py +++ b/InvenTree/company/views.py @@ -1,10 +1,7 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.http import HttpResponseRedirect - from django.views.generic import DetailView, ListView -from django.views.generic.edit import UpdateView, DeleteView, CreateView from InvenTree.views import AjaxCreateView, AjaxUpdateView, AjaxDeleteView diff --git a/InvenTree/part/forms.py b/InvenTree/part/forms.py index d1986baf11..00d82ddd60 100644 --- a/InvenTree/part/forms.py +++ b/InvenTree/part/forms.py @@ -1,6 +1,5 @@ from django import forms from crispy_forms.helper import FormHelper -from crispy_forms.layout import Submit from .models import Part, PartCategory, BomItem from .models import SupplierPart @@ -39,11 +38,7 @@ class EditCategoryForm(forms.ModelForm): super(EditCategoryForm, self).__init__(*args, **kwargs) self.helper = FormHelper() - #self.helper.form_id = 'id-edit-part-form' - #self.helper.form_method = 'post' - self.helper.form_tag = False - #self.helper.add_input(Submit('submit', 'Submit')) class Meta: model = PartCategory @@ -60,11 +55,9 @@ class EditBomItemForm(forms.ModelForm): super(EditBomItemForm, self).__init__(*args, **kwargs) self.helper = FormHelper() - #self.helper.form_id = 'id-edit-part-form' self.helper.form_method = 'post' self.helper.form_tag = False - #self.helper.add_input(Submit('submit', 'Submit')) class Meta: model = BomItem diff --git a/InvenTree/part/views.py b/InvenTree/part/views.py index 1b3ec0708b..ee28b15c1b 100644 --- a/InvenTree/part/views.py +++ b/InvenTree/part/views.py @@ -2,12 +2,10 @@ from __future__ import unicode_literals from django.shortcuts import get_object_or_404 -from django.http import HttpResponseRedirect from django.urls import reverse_lazy from django.views.generic import DetailView, ListView -from django.views.generic.edit import UpdateView, DeleteView, CreateView from company.models import Company from .models import PartCategory, Part, BomItem @@ -21,6 +19,7 @@ from .forms import EditSupplierPartForm from InvenTree.views import AjaxCreateView, AjaxUpdateView, AjaxDeleteView + class PartIndex(ListView): model = Part template_name = 'part/index.html' @@ -207,15 +206,6 @@ class BomItemDelete(AjaxDeleteView): context_object_name = 'item' ajax_form_title = 'Confim BOM item deletion' - #success_url = '/part' - - """ - def post(self, request, *args, **kwargs): - if 'confirm' in request.POST: - return super(BomItemDelete, self).post(request, *args, **kwargs) - else: - return HttpResponseRedirect(self.get_object().get_absolute_url()) - """ class SupplierPartDetail(DetailView): model = SupplierPart @@ -238,7 +228,7 @@ class SupplierPartCreate(AjaxCreateView): form_class = EditSupplierPartForm ajax_template_name = 'modal_form.html' ajax_form_title = 'Create new Supplier Part' - #template_name = 'company/partcreate.html' + template_name = 'company/partcreate.html' context_object_name = 'part' def get_initial(self): diff --git a/InvenTree/stock/forms.py b/InvenTree/stock/forms.py index 68e2c9b080..1b49b8e223 100644 --- a/InvenTree/stock/forms.py +++ b/InvenTree/stock/forms.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals from django import forms from crispy_forms.helper import FormHelper -from crispy_forms.layout import Submit from .models import StockLocation, StockItem diff --git a/InvenTree/stock/models.py b/InvenTree/stock/models.py index 1c765180c1..e2a3dc4f82 100644 --- a/InvenTree/stock/models.py +++ b/InvenTree/stock/models.py @@ -59,24 +59,20 @@ class StockItem(models.Model): def clean(self): - # The 'supplier_part' field must point to the same part! try: if self.supplier_part is not None: if not self.supplier_part.part == self.part: - raise ValidationError({ - 'supplier_part': _( - "Part type ('{pf}') must be {pe}").format( - pf=str(self.supplier_part.part), - pe=str(self.part) - ) - }) + raise ValidationError({'supplier_part': _("Part type ('{pf}') must be {pe}").format( + pf=str(self.supplier_part.part), + pe=str(self.part)) + }) + except Part.DoesNotExist: # This gets thrown if self.supplier_part is null # TODO - Find a test than can be perfomed... pass - def get_absolute_url(self): return '/stock/item/{id}/'.format(id=self.id) @@ -205,7 +201,7 @@ class StockItem(models.Model): def __str__(self): s = '{n} x {part}'.format( - n=self.quantity, + n=self.quantity, part=self.part.name) if self.location: diff --git a/InvenTree/stock/views.py b/InvenTree/stock/views.py index 0022feab25..de2f923f1d 100644 --- a/InvenTree/stock/views.py +++ b/InvenTree/stock/views.py @@ -1,8 +1,9 @@ +# -*- coding: utf-8 -*- +from __future__ import unicode_literals + from django.shortcuts import get_object_or_404 -from django.http import HttpResponseRedirect from django.views.generic import DetailView, ListView -from django.views.generic.edit import UpdateView, DeleteView, CreateView from InvenTree.views import AjaxUpdateView, AjaxDeleteView, AjaxCreateView