Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • AlekSIS/onboarding/AlekSIS-App-Exlibris
1 result
Show changes
Commits on Source (3)
...@@ -8,14 +8,16 @@ msgstr "" ...@@ -8,14 +8,16 @@ msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-02 13:14+0000\n" "POT-Creation-Date: 2019-09-02 13:14+0000\n"
"PO-Revision-Date: 2019-08-26 00:28+0200\n" "PO-Revision-Date: 2019-09-02 14:11+0000\n"
"Last-Translator: Tom Teichler <tom.teichler@teckids.org>\n" "Last-Translator: Dominik George <dominik.george@teckids.org>\n"
"Language-Team: \n" "Language-Team: German <https://translate.edugit.org/projects/biscuit-sis/"
"biscuit-app-exlibris/de/>\n"
"Language: de_DE\n" "Language: de_DE\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.2.3\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.8\n"
#: apps.py:7 #: apps.py:7
msgid "BiscuIT - Exlibris (School books)" msgid "BiscuIT - Exlibris (School books)"
...@@ -27,13 +29,11 @@ msgstr "Anzahl der Exemplare" ...@@ -27,13 +29,11 @@ msgstr "Anzahl der Exemplare"
#: forms.py:55 #: forms.py:55
msgid "Person" msgid "Person"
msgstr "" msgstr "Person"
#: forms.py:56 #: forms.py:56
#, fuzzy
#| msgid "Barcode"
msgid "Barcodes" msgid "Barcodes"
msgstr "Strichcode" msgstr "Strichcodes"
#: menus.py:6 templates/exlibris/books.html:5 #: menus.py:6 templates/exlibris/books.html:5
msgid "Books" msgid "Books"
...@@ -52,10 +52,8 @@ msgid "Open copy" ...@@ -52,10 +52,8 @@ msgid "Open copy"
msgstr "Exemplar öffnen" msgstr "Exemplar öffnen"
#: menus.py:27 #: menus.py:27
#, fuzzy
#| msgid "Number of borrowings"
msgid "Person borrowing" msgid "Person borrowing"
msgstr "Anzahl der Ausleihen" msgstr "Personen-Ausleihe"
#: models.py:12 #: models.py:12
msgid "Book title" msgid "Book title"
...@@ -119,7 +117,7 @@ msgstr "Zustand" ...@@ -119,7 +117,7 @@ msgstr "Zustand"
#: models.py:68 #: models.py:68
msgid "Remarks" msgid "Remarks"
msgstr "Anmerkung" msgstr "Bemerkungen"
#: models.py:71 #: models.py:71
msgid "Barcode" msgid "Barcode"
...@@ -158,10 +156,8 @@ msgid "of" ...@@ -158,10 +156,8 @@ msgid "of"
msgstr "von" msgstr "von"
#: templates/exlibris/person_borrow.html:5 #: templates/exlibris/person_borrow.html:5
#, fuzzy
#| msgid "Number of borrowings"
msgid "Person batch borrowing" msgid "Person batch borrowing"
msgstr "Anzahl der Ausleihen" msgstr "Massenausleihe an Person"
#: views.py:76 #: views.py:76
msgid "Information found for this ISBN was pre-filled." msgid "Information found for this ISBN was pre-filled."
...@@ -210,9 +206,9 @@ msgstr "Exemplarnummer: %d" ...@@ -210,9 +206,9 @@ msgstr "Exemplarnummer: %d"
#: views.py:273 #: views.py:273
#, python-format #, python-format
msgid "Barcode %(barcode)s is invalid." msgid "Barcode %(barcode)s is invalid."
msgstr "" msgstr "Der Strichcode %(barcode)s ist ungültig."
#: views.py:280 #: views.py:280
#, python-format #, python-format
msgid "Book %(title)s borrowed to %(person)s." msgid "Book %(title)s borrowed to %(person)s."
msgstr "" msgstr "Buch %(title)s an %(person)s ausgeliehen."
...@@ -18,14 +18,18 @@ class Migration(migrations.Migration): ...@@ -18,14 +18,18 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='Book', name='Book',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True,
primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=50, verbose_name='Book title')), ('title', models.CharField(max_length=50, verbose_name='Book title')),
('author', models.CharField(blank=True, max_length=50, verbose_name='Author name')), ('author', models.CharField(blank=True, max_length=50, verbose_name='Author name')),
('publisher', models.CharField(blank=True, max_length=50, verbose_name='Publishing company')), ('publisher', models.CharField(blank=True, max_length=50, verbose_name='Publishing company')),
('edition', models.PositiveSmallIntegerField(null=True, verbose_name='Number of edition')), ('edition', models.PositiveSmallIntegerField(
null=True, verbose_name='Number of edition')),
('year', models.PositiveSmallIntegerField(null=True, verbose_name='Publishing year')), ('year', models.PositiveSmallIntegerField(null=True, verbose_name='Publishing year')),
('isbn', isbn_field.fields.ISBNField(max_length=28, unique=True, validators=[isbn_field.validators.ISBNValidator], verbose_name='ISBN number')), ('isbn', isbn_field.fields.ISBNField(max_length=28, unique=True, validators=[
('cover', models.ImageField(blank=True, null=True, upload_to='', verbose_name='Photo of cover')), isbn_field.validators.ISBNValidator], verbose_name='ISBN number')),
('cover', models.ImageField(blank=True, null=True,
upload_to='', verbose_name='Photo of cover')),
], ],
options={ options={
'unique_together': {('title', 'author', 'edition', 'year')}, 'unique_together': {('title', 'author', 'edition', 'year')},
...@@ -34,10 +38,13 @@ class Migration(migrations.Migration): ...@@ -34,10 +38,13 @@ class Migration(migrations.Migration):
migrations.CreateModel( migrations.CreateModel(
name='BookCopy', name='BookCopy',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True,
primary_key=True, serialize=False, verbose_name='ID')),
('barcode', models.CharField(max_length=20, unique=True, verbose_name='Barcode')), ('barcode', models.CharField(max_length=20, unique=True, verbose_name='Barcode')),
('book', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='copies', to='exlibris.Book')), ('book', models.ForeignKey(blank=True, null=True,
('borrower', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='books', to='core.Person')), on_delete=django.db.models.deletion.CASCADE, related_name='copies', to='exlibris.Book')),
('borrower', models.ForeignKey(blank=True, null=True,
on_delete=django.db.models.deletion.CASCADE, related_name='books', to='core.Person')),
], ],
), ),
] ]
...@@ -13,11 +13,13 @@ class Migration(migrations.Migration): ...@@ -13,11 +13,13 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name='book', model_name='book',
name='edition', name='edition',
field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Number of edition'), field=models.PositiveSmallIntegerField(
blank=True, null=True, verbose_name='Number of edition'),
), ),
migrations.AlterField( migrations.AlterField(
model_name='book', model_name='book',
name='year', name='year',
field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Publishing year'), field=models.PositiveSmallIntegerField(
blank=True, null=True, verbose_name='Publishing year'),
), ),
] ]
...@@ -18,7 +18,8 @@ class Migration(migrations.Migration): ...@@ -18,7 +18,8 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='bookcopy', model_name='bookcopy',
name='condition', name='condition',
field=models.CharField(blank=True, choices=[('U', 'New, unused'), ('N', 'New, used'), ('S', 'Slightly worn'), ('H', 'Heavily worn')], max_length=1, verbose_name='Condition'), field=models.CharField(blank=True, choices=[('U', 'New, unused'), ('N', 'New, used'), (
'S', 'Slightly worn'), ('H', 'Heavily worn')], max_length=1, verbose_name='Condition'),
), ),
migrations.AddField( migrations.AddField(
model_name='bookcopy', model_name='bookcopy',
......
...@@ -13,6 +13,7 @@ class Migration(migrations.Migration): ...@@ -13,6 +13,7 @@ class Migration(migrations.Migration):
migrations.AddField( migrations.AddField(
model_name='bookcopy', model_name='bookcopy',
name='copy_num', name='copy_num',
field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Current number of copy'), field=models.PositiveSmallIntegerField(
blank=True, null=True, verbose_name='Current number of copy'),
), ),
] ]
...@@ -13,6 +13,7 @@ class Migration(migrations.Migration): ...@@ -13,6 +13,7 @@ class Migration(migrations.Migration):
migrations.AlterField( migrations.AlterField(
model_name='bookcopy', model_name='bookcopy',
name='borrow_count', name='borrow_count',
field=models.PositiveSmallIntegerField(blank=True, null=True, verbose_name='Number of borrowings'), field=models.PositiveSmallIntegerField(
blank=True, null=True, verbose_name='Number of borrowings'),
), ),
] ]
...@@ -196,11 +196,11 @@ def book_copies_labels(request: HttpRequest, id_: int) -> HttpResponse: ...@@ -196,11 +196,11 @@ def book_copies_labels(request: HttpRequest, id_: int) -> HttpResponse:
with TemporaryDirectory() as temp_dir: with TemporaryDirectory() as temp_dir:
def draw_label(label, width, height, obj): def draw_label(label, width, height, obj):
title = shapes.String(0, height-10, obj.book.title, fontSize=10) title = shapes.String(0, height - 10, obj.book.title, fontSize=10)
label.add(title) label.add(title)
copy_desc = shapes.String( copy_desc = shapes.String(
0, height-20, _('Copy number: %d') % obj.copy_num, fontSize=8) 0, height - 20, _('Copy number: %d') % obj.copy_num, fontSize=8)
label.add(copy_desc) label.add(copy_desc)
barcode_raw = barcode.createBarcodeImageInMemory( barcode_raw = barcode.createBarcodeImageInMemory(
...@@ -266,18 +266,20 @@ def person_borrow(request: HttpRequest) -> HttpResponse: ...@@ -266,18 +266,20 @@ def person_borrow(request: HttpRequest) -> HttpResponse:
if person_borrow_form.is_valid(): if person_borrow_form.is_valid():
person = person_borrow_form.cleaned_data['borrower'] person = person_borrow_form.cleaned_data['borrower']
for barcode in person_borrow_form.cleaned_data['barcodes'].splitlines(): for barcode_line in person_borrow_form.cleaned_data['barcodes'].splitlines():
try: try:
book_copy = BookCopy.objects.get(barcode=barcode) book_copy = BookCopy.objects.get(barcode=barcode_line)
except BookCopy.DoesNotExist: except BookCopy.DoesNotExist:
messages.error(request, _('Barcode %(barcode)s is invalid.') % {'barcode': barcode}) messages.error(request, _('Barcode %(barcode)s is invalid.') %
{'barcode': barcode_line})
continue continue
book_copy.borrower = person book_copy.borrower = person
book_copy.borrow_count = book_copy.borrow_count + 1 book_copy.borrow_count = book_copy.borrow_count + 1
book_copy.save() book_copy.save()
messages.success(request, _('Book %(title)s borrowed to %(person)s.') % {'title': book_copy.book.title, 'person': person}) messages.success(request, _('Book %(title)s borrowed to %(person)s.') %
{'title': book_copy.book.title, 'person': person})
person_borrow_form = PersonBorrowForm() person_borrow_form = PersonBorrowForm()
......