+ Implemented inventarization
+ minor translation fixes
This commit is contained in:
parent
e0b98dabce
commit
5877b83424
10 changed files with 121 additions and 185 deletions
|
|
@ -3,7 +3,7 @@ from .models import Object
|
|||
|
||||
|
||||
class ObjectAdmin(admin.ModelAdmin):
|
||||
pass
|
||||
list_display = ('title', 'ammout', 'uuid', 'img')
|
||||
|
||||
|
||||
# Register your models here.
|
||||
|
|
|
|||
12
invsystem/object_adder/forms.py
Normal file
12
invsystem/object_adder/forms.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
from django.forms import ModelForm, TextInput
|
||||
|
||||
from .models import Object
|
||||
|
||||
|
||||
class ObjectForm(ModelForm):
|
||||
class Meta:
|
||||
model = Object
|
||||
fields = ('ammout', 'title', 'img', 'description')
|
||||
widgets = {
|
||||
'title': TextInput(),
|
||||
}
|
||||
|
|
@ -6,10 +6,11 @@ from django.contrib.auth.models import User
|
|||
# Create your models here.
|
||||
|
||||
class Object(models.Model):
|
||||
title = models.TextField(max_length=100, default=None)
|
||||
img = models.ImageField(default=None)
|
||||
ammout = models.PositiveIntegerField(default=1, blank=False)
|
||||
title = models.TextField(max_length=100, default=None, blank=False)
|
||||
img = models.ImageField(default=None, blank=True)
|
||||
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
|
||||
inventarized_date = models.DateTimeField()
|
||||
description = models.TextField(max_length=500)
|
||||
removed_date = models.DateTimeField()
|
||||
user_added = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
inventarized_date = models.DateTimeField(blank=False, null=True)
|
||||
description = models.TextField(max_length=500, blank=True)
|
||||
removed_date = models.DateTimeField(blank=True, default=None, null=True)
|
||||
user_added = models.ForeignKey(User, on_delete=models.CASCADE, blank=False, null=True)
|
||||
|
|
|
|||
|
|
@ -1,11 +1,33 @@
|
|||
from django.shortcuts import render
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from .forms import ObjectForm
|
||||
from django.utils import timezone
|
||||
|
||||
|
||||
# Create your views here.
|
||||
|
||||
@login_required
|
||||
def add(request):
|
||||
context = {'title': 'Objekt inventarisieren'}
|
||||
if request.method == 'POST':
|
||||
form = ObjectForm(request.POST)
|
||||
|
||||
return render(request, 'object_adder/index.html', context)
|
||||
if form.is_valid():
|
||||
try:
|
||||
obj = form.save(commit=True)
|
||||
except OverflowError:
|
||||
context = {'title': 'Fehler!',
|
||||
'error': 'Weder in den Chemieraum noch in eine Variable des Datentypes SQLite INTEGER passen mehr als 9223372036854775807 Objekte. Bitte inventarisieren sie das Objekt neu.'}
|
||||
return render(request, 'object_adder/error.html', context)
|
||||
|
||||
obj.inventarized_date = timezone.now()
|
||||
obj.removed_date = None
|
||||
obj.user_added = request.user
|
||||
obj.save()
|
||||
|
||||
context = {'title': 'Objekt inventarisieren', 'form': ObjectForm,
|
||||
'obj_name': form.cleaned_data.get('title')}
|
||||
return render(request, 'object_adder/index.html', context)
|
||||
|
||||
else:
|
||||
context = {'title': 'Objekt inventarisieren', 'form': ObjectForm}
|
||||
return render(request, 'object_adder/index.html', context)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue