+ Implemented inventarization

+ minor translation fixes
This commit is contained in:
Clemens-Dautermann 2018-12-19 22:03:01 +01:00
parent e0b98dabce
commit 5877b83424
10 changed files with 121 additions and 185 deletions

View file

@ -3,7 +3,7 @@ from .models import Object
class ObjectAdmin(admin.ModelAdmin):
pass
list_display = ('title', 'ammout', 'uuid', 'img')
# Register your models here.

View 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(),
}

View file

@ -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)

View file

@ -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)