Implement edit componant form and adapt UI
This commit is contained in:
@@ -111,10 +111,10 @@ class EditComponentForm(forms.Form):
|
||||
description = forms.CharField(required=False, widget=forms.Textarea)
|
||||
|
||||
# Look up these fields later. Will be autocompleted in UI
|
||||
manufacturer = forms.CharField(required=False)
|
||||
component_type = forms.CharField(required=False, label='Component Type')
|
||||
pref_distri = forms.CharField(required=False, label='Preferred Distributor')
|
||||
package = forms.CharField(required=False)
|
||||
manufacturer = forms.CharField(required=False, initial='')
|
||||
component_type = forms.CharField(required=False, label='Component Type', initial='')
|
||||
pref_distri = forms.CharField(required=False, label='Preferred Distributor', initial='')
|
||||
package = forms.CharField(required=False, initial='')
|
||||
|
||||
image = forms.ImageField(required=False)
|
||||
|
||||
|
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 3.2.5 on 2021-11-11 19:46
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('parts', '0001_initial'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='componenttype',
|
||||
name='possible_parameter',
|
||||
field=models.ManyToManyField(blank=True, to='parts.ComponentParameterType'),
|
||||
),
|
||||
]
|
@@ -32,7 +32,7 @@ class ComponentType(models.Model):
|
||||
ordering = ['class_name']
|
||||
class_name = models.CharField(max_length=50, unique=True)
|
||||
passive = models.BooleanField()
|
||||
possible_parameter = models.ManyToManyField(ComponentParameterType)
|
||||
possible_parameter = models.ManyToManyField(ComponentParameterType, blank=True)
|
||||
|
||||
def __str__(self):
|
||||
return '[' + self.class_name + ']'
|
||||
|
@@ -15,6 +15,7 @@ from .models import Storage, Stock, Component, Distributor, Manufacturer, Packag
|
||||
from .qr_parser import QrCodeValidator
|
||||
from django.core.paginator import Paginator
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.db import IntegrityError
|
||||
from .forms import MyTestForm, AddSubStorageForm, DeleteStockForm, EditWatermarkForm, EditStockAmountForm, AddStockForm, EditComponentForm
|
||||
from django.db.models import Q
|
||||
from django.db.models.functions import Lower
|
||||
@@ -403,9 +404,15 @@ class ComponentDetailView(LoginRequiredMixin, BaseTemplateMixin, DetailView):
|
||||
|
||||
form = EditComponentForm(instance=self.object, data=request.POST, files=request.FILES)
|
||||
if form.is_valid():
|
||||
form.save()
|
||||
try:
|
||||
form.save()
|
||||
except IntegrityError as ie:
|
||||
form.add_error('name', 'Component name, package, and manufacturer are not unique!')
|
||||
form.add_error('package', 'Component name, package, and manufacturer are not unique!')
|
||||
form.add_error('manufacturer', 'Component name, package, and manufacturer are not unique!')
|
||||
form_error = True
|
||||
self.object = self.get_object()
|
||||
else:
|
||||
print("Error")
|
||||
form_error = True
|
||||
|
||||
context = self.get_context_data(**kwargs)
|
||||
|
Reference in New Issue
Block a user