add material category

v1-0-stable
Christian Merten 8 years ago
parent 1b8e952866
commit 555c1dc20f

@ -4,10 +4,14 @@ from django.contrib.admin import SimpleListFilter
from django.db import models from django.db import models
from django import forms from django import forms
from .models import MaterialPart, Ownership from .models import MaterialPart, Ownership, MaterialCategory
from easy_select2 import apply_select2 from easy_select2 import apply_select2
class MaterialCategoryAdmin(admin.ModelAdmin):
fields = ['name']
# Register your models here. # Register your models here.
class OwnershipInline(admin.TabularInline): class OwnershipInline(admin.TabularInline):
""" """
@ -45,10 +49,14 @@ class MaterialAdmin(admin.ModelAdmin):
'ownership_overview', 'buy_date', 'ownership_overview', 'buy_date',
'lifetime', 'not_too_old', 'admin_thumbnail') 'lifetime', 'not_too_old', 'admin_thumbnail')
inlines = [OwnershipInline] inlines = [OwnershipInline]
list_filter = (NotTooOldFilter,) list_filter = (NotTooOldFilter, 'material_cat')
formfield_overrides = {
models.ManyToManyField: {'widget': forms.CheckboxSelectMultiple}
}
class Media: class Media:
css = {'all': ('admin/css/tabular_hide_original.css',)} css = {'all': ('admin/css/tabular_hide_original.css',)}
admin.site.register(MaterialCategory, MaterialCategoryAdmin)
admin.site.register(MaterialPart, MaterialAdmin) admin.site.register(MaterialPart, MaterialAdmin)

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-05 19:07+0200\n" "POT-Creation-Date: 2017-10-11 13:02+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -18,15 +18,15 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: admin.py:25 #: admin.py:29
msgid "Age" msgid "Age"
msgstr "Alter" msgstr "Alter"
#: admin.py:30 #: admin.py:34
msgid "Not too old" msgid "Not too old"
msgstr "Nicht zu alt" msgstr "Nicht zu alt"
#: admin.py:31 #: admin.py:35
msgid "Too old" msgid "Too old"
msgstr "Zu alt" msgstr "Zu alt"
@ -34,66 +34,82 @@ msgstr "Zu alt"
msgid "material" msgid "material"
msgstr "Material" msgstr "Material"
#: models.py:17 #: models.py:15
msgid "Name"
msgstr "Name"
#: models.py:16
msgid "Description"
msgstr "Beschreibung"
#: models.py:22 models.py:39
msgid "Material category"
msgstr "Materialart"
#: models.py:23
msgid "Material categories"
msgstr "Materialarten"
#: models.py:32
msgid "name" msgid "name"
msgstr "Name" msgstr "Name"
#: models.py:18 #: models.py:33
msgid "description" msgid "description"
msgstr "Beschreibung" msgstr "Beschreibung"
#: models.py:19 #: models.py:34
msgid "quantity" msgid "quantity"
msgstr "Anzahl" msgstr "Anzahl"
#: models.py:20 #: models.py:35
msgid "purchase date" msgid "purchase date"
msgstr "Kaufdatum" msgstr "Kaufdatum"
#: models.py:21 #: models.py:36
msgid "lifetime (years)" msgid "lifetime (years)"
msgstr "Lebenszeit (Jahre)" msgstr "Lebenszeit (Jahre)"
#: models.py:22 #: models.py:37
msgid "photo" msgid "photo"
msgstr "Bild" msgstr "Bild"
#: models.py:33 #: models.py:50
msgid "Quantity" msgid "Quantity"
msgstr "Anzahl" msgstr "Anzahl"
#: models.py:40 #: models.py:57
msgid "Thumbnail" msgid "Thumbnail"
msgstr "Bild" msgstr "Bild"
#: models.py:49 #: models.py:66
msgid "Owners" msgid "Owners"
msgstr "Verantwortliche" msgstr "Verantwortliche"
#: models.py:59 #: models.py:76
msgid "Not too old?" msgid "Not too old?"
msgstr "Nicht zu alt?" msgstr "Nicht zu alt?"
#: models.py:62 #: models.py:79
msgid "material part" msgid "material part"
msgstr "Materialteil" msgstr "Materialteil"
#: models.py:63 #: models.py:80
msgid "material parts" msgid "material parts"
msgstr "Materialteile" msgstr "Materialteile"
#: models.py:69 #: models.py:86
msgid "owner" msgid "owner"
msgstr "Besitzer" msgstr "Besitzer"
#: models.py:70 #: models.py:87
msgid "count" msgid "count"
msgstr "Anzahl" msgstr "Anzahl"
#: models.py:77 #: models.py:94
msgid "ownership" msgid "ownership"
msgstr "Besitzer" msgstr "Besitzer"
#: models.py:78 #: models.py:95
msgid "ownerships" msgid "ownerships"
msgstr "Verantwortliche" msgstr "Verantwortliche"

@ -8,6 +8,20 @@ from django.utils.translation import ugettext_lazy as _
MAX_TIME_MATERIAL = 5 MAX_TIME_MATERIAL = 5
class MaterialCategory(models.Model):
"""
Describes one kind of material
"""
name = models.CharField(max_length=40, verbose_name=_('Name'))
def __str__(self):
return self.name
class Meta:
verbose_name = _('Material category')
verbose_name_plural = _('Material categories')
# Create your models here. # Create your models here.
class MaterialPart(models.Model): class MaterialPart(models.Model):
""" """
@ -20,6 +34,8 @@ class MaterialPart(models.Model):
buy_date = models.DateField(_('purchase date'), editable=True) buy_date = models.DateField(_('purchase date'), editable=True)
lifetime = models.DecimalField(_('lifetime (years)'), decimal_places=0, max_digits=3) lifetime = models.DecimalField(_('lifetime (years)'), decimal_places=0, max_digits=3)
photo = models.ImageField(_('photo'), upload_to='images', blank=True) photo = models.ImageField(_('photo'), upload_to='images', blank=True)
material_cat = models.ManyToManyField(MaterialCategory, default=None,
verbose_name=_('Material category'))
def __str__(self): def __str__(self):
"""String representation""" """String representation"""

Loading…
Cancel
Save