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 ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-02 13:14+0000\n"
"PO-Revision-Date: 2019-08-26 00:28+0200\n"
"Last-Translator: Tom Teichler <tom.teichler@teckids.org>\n"
"Language-Team: \n"
"PO-Revision-Date: 2019-09-02 14:11+0000\n"
"Last-Translator: Dominik George <dominik.george@teckids.org>\n"
"Language-Team: German <https://translate.edugit.org/projects/biscuit-sis/"
"biscuit-app-exlibris/de/>\n"
"Language: de_DE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\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
msgid "BiscuIT - Exlibris (School books)"
......@@ -27,13 +29,11 @@ msgstr "Anzahl der Exemplare"
#: forms.py:55
msgid "Person"
msgstr ""
msgstr "Person"
#: forms.py:56
#, fuzzy
#| msgid "Barcode"
msgid "Barcodes"
msgstr "Strichcode"
msgstr "Strichcodes"
#: menus.py:6 templates/exlibris/books.html:5
msgid "Books"
......@@ -52,10 +52,8 @@ msgid "Open copy"
msgstr "Exemplar öffnen"
#: menus.py:27
#, fuzzy
#| msgid "Number of borrowings"
msgid "Person borrowing"
msgstr "Anzahl der Ausleihen"
msgstr "Personen-Ausleihe"
#: models.py:12
msgid "Book title"
......@@ -119,7 +117,7 @@ msgstr "Zustand"
#: models.py:68
msgid "Remarks"
msgstr "Anmerkung"
msgstr "Bemerkungen"
#: models.py:71
msgid "Barcode"
......@@ -158,10 +156,8 @@ msgid "of"
msgstr "von"
#: templates/exlibris/person_borrow.html:5
#, fuzzy
#| msgid "Number of borrowings"
msgid "Person batch borrowing"
msgstr "Anzahl der Ausleihen"
msgstr "Massenausleihe an Person"
#: views.py:76
msgid "Information found for this ISBN was pre-filled."
......@@ -210,9 +206,9 @@ msgstr "Exemplarnummer: %d"
#: views.py:273
#, python-format
msgid "Barcode %(barcode)s is invalid."
msgstr ""
msgstr "Der Strichcode %(barcode)s ist ungültig."
#: views.py:280
#, python-format
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):
migrations.CreateModel(
name='Book',
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')),
('author', models.CharField(blank=True, max_length=50, verbose_name='Author name')),
('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')),
('isbn', isbn_field.fields.ISBNField(max_length=28, unique=True, validators=[isbn_field.validators.ISBNValidator], verbose_name='ISBN number')),
('cover', models.ImageField(blank=True, null=True, upload_to='', verbose_name='Photo of cover')),
('isbn', isbn_field.fields.ISBNField(max_length=28, unique=True, validators=[
isbn_field.validators.ISBNValidator], verbose_name='ISBN number')),
('cover', models.ImageField(blank=True, null=True,
upload_to='', verbose_name='Photo of cover')),
],
options={
'unique_together': {('title', 'author', 'edition', 'year')},
......@@ -34,10 +38,13 @@ class Migration(migrations.Migration):
migrations.CreateModel(
name='BookCopy',
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')),
('book', models.ForeignKey(blank=True, null=True, 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')),
('book', models.ForeignKey(blank=True, null=True,
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):
migrations.AlterField(
model_name='book',
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(
model_name='book',
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):
migrations.AddField(
model_name='bookcopy',
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(
model_name='bookcopy',
......
......@@ -13,6 +13,7 @@ class Migration(migrations.Migration):
migrations.AddField(
model_name='bookcopy',
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):
migrations.AlterField(
model_name='bookcopy',
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:
with TemporaryDirectory() as temp_dir:
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)
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)
barcode_raw = barcode.createBarcodeImageInMemory(
......@@ -266,18 +266,20 @@ def person_borrow(request: HttpRequest) -> HttpResponse:
if person_borrow_form.is_valid():
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:
book_copy = BookCopy.objects.get(barcode=barcode)
book_copy = BookCopy.objects.get(barcode=barcode_line)
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
book_copy.borrower = person
book_copy.borrow_count = book_copy.borrow_count + 1
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()
......