Fundraising in PDF. master
authorRadek Czajka <rczajka@rczajka.pl>
Wed, 10 Apr 2024 11:34:15 +0000 (13:34 +0200)
committerRadek Czajka <rczajka@rczajka.pl>
Wed, 10 Apr 2024 11:34:15 +0000 (13:34 +0200)
555 files changed:
.github/FUNDING.yml
NOTICE
README.md
requirements/requirements.txt
scripts/make-xml-zip.py
src/ajaxable/__init__.py
src/ajaxable/utils.py
src/annoy/models.py
src/annoy/static/annoy/banner.js
src/annoy/templates/annoy/banner_blackout.html [new file with mode: 0644]
src/annoy/templatetags/annoy.py
src/annoy/translation.py
src/api/admin.py
src/api/drf_auth.py
src/api/fields.py
src/api/handlers.py
src/api/locale/de/LC_MESSAGES/django.po
src/api/locale/en/LC_MESSAGES/django.po
src/api/locale/es/LC_MESSAGES/django.po
src/api/locale/fr/LC_MESSAGES/django.po
src/api/locale/it/LC_MESSAGES/django.po
src/api/locale/lt/LC_MESSAGES/django.po
src/api/locale/ru/LC_MESSAGES/django.po
src/api/locale/uk/LC_MESSAGES/django.po
src/api/migrations/0001_initial.py
src/api/migrations/0002_auto_20151221_1225.py
src/api/migrations/0003_bookuserdata.py
src/api/migrations/0004_bookuserdata_last_changed.py
src/api/migrations/0005_consumer_nonce_resource_token.py
src/api/models.py
src/api/renderers.py
src/api/request_validator.py
src/api/serializers.py
src/api/tests/tests.py
src/api/urls.py
src/api/utils.py
src/api/views.py
src/catalogue/__init__.py
src/catalogue/admin.py
src/catalogue/api/fields.py
src/catalogue/api/helpers.py
src/catalogue/api/serializers.py
src/catalogue/api/urls.py
src/catalogue/api/views.py
src/catalogue/apps.py
src/catalogue/constants.py
src/catalogue/feeds.py
src/catalogue/fields.py
src/catalogue/forms.py
src/catalogue/helpers.py
src/catalogue/import_utils.py
src/catalogue/locale/de/LC_MESSAGES/django.po
src/catalogue/locale/en/LC_MESSAGES/django.po
src/catalogue/locale/es/LC_MESSAGES/django.po
src/catalogue/locale/fr/LC_MESSAGES/django.po
src/catalogue/locale/it/LC_MESSAGES/django.po
src/catalogue/locale/lt/LC_MESSAGES/django.po
src/catalogue/locale/ru/LC_MESSAGES/django.po
src/catalogue/locale/uk/LC_MESSAGES/django.po
src/catalogue/management/commands/build_stale.py
src/catalogue/management/commands/checkcovers.py
src/catalogue/management/commands/checkintegrity.py
src/catalogue/management/commands/gencover.py
src/catalogue/management/commands/importbooks.py
src/catalogue/management/commands/load_abstracts.py
src/catalogue/management/commands/pack.py
src/catalogue/management/commands/report_dead_links.py
src/catalogue/management/commands/update_counters.py
src/catalogue/management/commands/update_popularity.py
src/catalogue/management/commands/update_preview_status.py
src/catalogue/management/commands/update_tag_description.py
src/catalogue/migrations/0001_initial.py
src/catalogue/migrations/0002_book_ancestor.py
src/catalogue/migrations/0003_populate_ancestors.py
src/catalogue/migrations/0004_remove_booktags_count_related_info.py
src/catalogue/migrations/0005_auto_20141016_1337.py
src/catalogue/migrations/0006_auto_20141022_1059.py
src/catalogue/migrations/0007_auto_20151123_1529.py
src/catalogue/migrations/0008_auto_20151221_1225.py
src/catalogue/migrations/0009_auto_20160127_1019.py
src/catalogue/migrations/0010_bookpopularity.py
src/catalogue/migrations/0011_auto_20160413_1152.py
src/catalogue/migrations/0012_auto_20161020_1407.py
src/catalogue/migrations/0013_book_print_on_demand.py
src/catalogue/migrations/0014_auto_20170627_1442.py
src/catalogue/migrations/0015_book_recommended.py
src/catalogue/migrations/0016_auto_20171031_1232.py
src/catalogue/migrations/0017_auto_20171214_1746.py
src/catalogue/migrations/0018_auto_20171221_1106.py
src/catalogue/migrations/0019_auto_20171221_1107.py
src/catalogue/migrations/0020_book_cover_api_thumb.py
src/catalogue/migrations/0021_auto_20171222_1404.py
src/catalogue/migrations/0022_auto_20180226_1503.py
src/catalogue/migrations/0023_book_abstract.py
src/catalogue/migrations/0024_auto_20180510_1407.py
src/catalogue/migrations/0024_book_audio_length.py
src/catalogue/migrations/0025_merge.py
src/catalogue/migrations/0026_book_preview_key.py
src/catalogue/models/__init__.py
src/catalogue/models/book.py
src/catalogue/models/bookmedia.py
src/catalogue/models/collection.py
src/catalogue/models/fragment.py
src/catalogue/models/source.py
src/catalogue/models/tag.py
src/catalogue/signals.py
src/catalogue/tasks.py
src/catalogue/templates/catalogue/book_info.html
src/catalogue/templates/catalogue/book_text.html
src/catalogue/templates/catalogue/preview_ad.html
src/catalogue/templates/catalogue/preview_ad_homepage.html
src/catalogue/templates/catalogue/viewer_base.html
src/catalogue/templatetags/catalogue_tags.py
src/catalogue/test_utils.py
src/catalogue/tests/test_book_import.py
src/catalogue/tests/test_bookmedia.py
src/catalogue/tests/test_cover.py
src/catalogue/tests/test_tags.py
src/catalogue/tests/test_templatetags.py
src/catalogue/tests/test_visit.py
src/catalogue/translation.py
src/catalogue/urls.py
src/catalogue/utils.py
src/catalogue/views.py
src/chunks/admin.py
src/chunks/migrations/0001_initial.py
src/chunks/migrations/0002_auto_20140911_1253.py
src/chunks/migrations/0003_auto_20151221_1225.py
src/chunks/models.py
src/chunks/templatetags/chunks.py
src/chunks/translation.py
src/chunks/urls.py
src/club/admin.py
src/club/apps.py
src/club/forms.py
src/club/helpers.py
src/club/locale/de/LC_MESSAGES/django.po
src/club/locale/en/LC_MESSAGES/django.po
src/club/locale/es/LC_MESSAGES/django.po
src/club/locale/fr/LC_MESSAGES/django.po
src/club/locale/it/LC_MESSAGES/django.po
src/club/locale/lt/LC_MESSAGES/django.po
src/club/locale/ru/LC_MESSAGES/django.po
src/club/locale/uk/LC_MESSAGES/django.po
src/club/management/commands/payu_fake_notify.py
src/club/management/commands/prolong.py
src/club/management/commands/send_receipts.py
src/club/migrations/0001_initial.py
src/club/migrations/0002_auto_20190416_1024.py
src/club/migrations/0003_remove_payuorder_amount.py
src/club/migrations/0004_payucardtoken_pos_id.py
src/club/migrations/0005_auto_20190416_1052.py
src/club/migrations/0006_auto_20190416_1236.py
src/club/migrations/0007_auto_20190416_1625.py
src/club/migrations/0008_membership_name.py
src/club/migrations/0009_auto_20190510_1510.py
src/club/migrations/0010_auto_20190529_0946.py
src/club/migrations/0045_alter_payuorder_pos_id.py [new file with mode: 0644]
src/club/models.py
src/club/payment_methods.py
src/club/payu/__init__.py
src/club/payu/forms.py
src/club/payu/models.py
src/club/payu/pos.py
src/club/payu/tests/integration.py
src/club/payu/views.py
src/club/permissions.py
src/club/templates/club/receipt_email.txt
src/club/templatetags/club.py
src/club/translation.py
src/club/urls.py
src/club/views.py
src/contact/fields.py
src/contact/migrations/0001_initial.py
src/contact/widgets.py
src/dictionary/constants.py
src/dictionary/locale/de/LC_MESSAGES/django.po
src/dictionary/locale/en/LC_MESSAGES/django.po
src/dictionary/locale/es/LC_MESSAGES/django.po
src/dictionary/locale/fr/LC_MESSAGES/django.po
src/dictionary/locale/it/LC_MESSAGES/django.po
src/dictionary/locale/lt/LC_MESSAGES/django.po
src/dictionary/locale/ru/LC_MESSAGES/django.po
src/dictionary/locale/uk/LC_MESSAGES/django.po
src/dictionary/migrations/0001_initial.py
src/dictionary/migrations/0002_auto_20141006_1422.py
src/dictionary/migrations/0003_auto_20141023_1445.py
src/dictionary/migrations/0004_auto_20151221_1225.py
src/dictionary/models.py
src/dictionary/templatetags/set_get.py
src/dictionary/tests.py
src/dictionary/urls.py
src/dictionary/views.py
src/education/locale/de/LC_MESSAGES/django.po
src/education/locale/en/LC_MESSAGES/django.po
src/education/locale/es/LC_MESSAGES/django.po
src/education/locale/fr/LC_MESSAGES/django.po
src/education/locale/it/LC_MESSAGES/django.po
src/education/locale/lt/LC_MESSAGES/django.po
src/education/locale/ru/LC_MESSAGES/django.po
src/education/locale/uk/LC_MESSAGES/django.po
src/experiments/locale/de/LC_MESSAGES/django.po
src/experiments/locale/en/LC_MESSAGES/django.po
src/experiments/locale/es/LC_MESSAGES/django.po
src/experiments/locale/fr/LC_MESSAGES/django.po
src/experiments/locale/it/LC_MESSAGES/django.po
src/experiments/locale/lt/LC_MESSAGES/django.po
src/experiments/locale/ru/LC_MESSAGES/django.po
src/experiments/locale/uk/LC_MESSAGES/django.po
src/funding/__init__.py
src/funding/admin.py
src/funding/forms.py
src/funding/locale/de/LC_MESSAGES/django.po
src/funding/locale/en/LC_MESSAGES/django.po
src/funding/locale/es/LC_MESSAGES/django.po
src/funding/locale/fr/LC_MESSAGES/django.po
src/funding/locale/it/LC_MESSAGES/django.po
src/funding/locale/lt/LC_MESSAGES/django.po
src/funding/locale/ru/LC_MESSAGES/django.po
src/funding/locale/uk/LC_MESSAGES/django.po
src/funding/management/commands/funding_notify.py
src/funding/migrations/0001_initial.py
src/funding/migrations/0002_auto_20151221_1225.py
src/funding/migrations/0003_auto_20180416_1336.py
src/funding/migrations/0004_auto_20190729_1450.py
src/funding/migrations/0011_alter_funding_customer_ip_alter_funding_notify_key_and_more.py [new file with mode: 0644]
src/funding/migrations/0012_spent_annotation_spent_link_alter_spent_book.py [new file with mode: 0644]
src/funding/migrations/0013_missing_spent.py [new file with mode: 0644]
src/funding/migrations/0014_alter_spent_annotation_alter_spent_book_and_more.py [new file with mode: 0644]
src/funding/models.py
src/funding/templates/funding/offer_list.html
src/funding/templates/funding/wlfund.html
src/funding/templatetags/funding_tags.py
src/funding/tests.py
src/funding/translation.py
src/funding/urls.py
src/funding/utils.py
src/funding/views.py
src/funding/widgets.py
src/infopages/admin.py
src/infopages/migrations/0001_initial.py
src/infopages/migrations/0002_auto_20151221_1225.py
src/infopages/migrations/0005_infopage_findable_infopage_published.py [new file with mode: 0644]
src/infopages/models.py
src/infopages/templates/infopages/infopage.html
src/infopages/translation.py
src/infopages/urls.py
src/infopages/views.py
src/isbn/forms.py
src/isbn/management/commands/eisbn_csv.py
src/isbn/management/commands/export_onix.py
src/isbn/management/commands/import_onix.py
src/isbn/migrations/0001_initial.py
src/isbn/migrations/0002_auto_20180213_1617.py
src/isbn/migrations/0003_isbnpool_purpose.py
src/isbn/migrations/0004_auto_20180215_1042.py
src/isbn/migrations/0005_auto_20190729_1450.py
src/isbn/models.py
src/isbn/urls.py
src/isbn/utils.py
src/isbn/views.py
src/lesmianator/__init__.py
src/lesmianator/management/commands/lesmianator.py
src/lesmianator/migrations/0001_initial.py
src/lesmianator/migrations/0002_auto_20151221_1225.py
src/lesmianator/migrations/0003_auto_20190729_1450.py
src/lesmianator/models.py
src/lesmianator/urls.py
src/lesmianator/views.py
src/libraries/admin.py
src/libraries/locale/de/LC_MESSAGES/django.po
src/libraries/locale/en/LC_MESSAGES/django.po
src/libraries/locale/es/LC_MESSAGES/django.po
src/libraries/locale/fr/LC_MESSAGES/django.po
src/libraries/locale/it/LC_MESSAGES/django.po
src/libraries/locale/lt/LC_MESSAGES/django.po
src/libraries/locale/ru/LC_MESSAGES/django.po
src/libraries/locale/uk/LC_MESSAGES/django.po
src/libraries/migrations/0001_initial.py
src/libraries/migrations/0002_auto_20151221_1225.py
src/libraries/models.py
src/libraries/urls.py
src/libraries/views.py
src/manage.py
src/messaging/locale/de/LC_MESSAGES/django.po
src/messaging/locale/en/LC_MESSAGES/django.po
src/messaging/locale/es/LC_MESSAGES/django.po
src/messaging/locale/fr/LC_MESSAGES/django.po
src/messaging/locale/it/LC_MESSAGES/django.po
src/messaging/locale/lt/LC_MESSAGES/django.po
src/messaging/locale/ru/LC_MESSAGES/django.po
src/messaging/locale/uk/LC_MESSAGES/django.po
src/newsletter/admin.py
src/newsletter/forms.py
src/newsletter/locale/de/LC_MESSAGES/django.po
src/newsletter/locale/en/LC_MESSAGES/django.po
src/newsletter/locale/es/LC_MESSAGES/django.po
src/newsletter/locale/fr/LC_MESSAGES/django.po
src/newsletter/locale/it/LC_MESSAGES/django.po
src/newsletter/locale/lt/LC_MESSAGES/django.po
src/newsletter/locale/ru/LC_MESSAGES/django.po
src/newsletter/locale/uk/LC_MESSAGES/django.po
src/newsletter/migrations/0001_initial.py
src/newsletter/migrations/0002_auto_20160914_1452.py
src/newsletter/models.py
src/newsletter/subscribe.py
src/newsletter/translation.py
src/newsletter/urls.py
src/newsletter/views.py
src/newtagging/managers.py
src/newtagging/models.py
src/oai/handlers.py
src/oai/tests/test_oaipmhapi.py
src/oai/urls.py
src/oai/views.py
src/opds/tests/test_opds.py
src/opds/urls.py
src/opds/views.py
src/paypal/locale/de/LC_MESSAGES/django.po
src/paypal/locale/en/LC_MESSAGES/django.po
src/paypal/locale/es/LC_MESSAGES/django.po
src/paypal/locale/fr/LC_MESSAGES/django.po
src/paypal/locale/it/LC_MESSAGES/django.po
src/paypal/locale/lt/LC_MESSAGES/django.po
src/paypal/locale/ru/LC_MESSAGES/django.po
src/paypal/locale/uk/LC_MESSAGES/django.po
src/paypal/migrations/0001_initial.py
src/paypal/migrations/0002_billingagreement_token.py
src/paypal/migrations/0003_auto_20190729_1450.py
src/paypal/models.py
src/paypal/rest.py
src/paypal/tests.py
src/paypal/urls.py
src/paypal/views.py
src/pdcounter/admin.py
src/pdcounter/locale/de/LC_MESSAGES/django.po
src/pdcounter/locale/en/LC_MESSAGES/django.po
src/pdcounter/locale/es/LC_MESSAGES/django.po
src/pdcounter/locale/fr/LC_MESSAGES/django.po
src/pdcounter/locale/it/LC_MESSAGES/django.po
src/pdcounter/locale/lt/LC_MESSAGES/django.po
src/pdcounter/locale/ru/LC_MESSAGES/django.po
src/pdcounter/locale/uk/LC_MESSAGES/django.po
src/pdcounter/migrations/0001_initial.py
src/pdcounter/migrations/0002_auto_20151221_1225.py
src/pdcounter/models.py
src/pdcounter/templatetags/time_tags.py
src/pdcounter/views.py
src/picture/admin.py
src/picture/api/urls.py
src/picture/api/views.py
src/picture/forms.py
src/picture/locale/de/LC_MESSAGES/django.po
src/picture/locale/en/LC_MESSAGES/django.po
src/picture/locale/es/LC_MESSAGES/django.po
src/picture/locale/fr/LC_MESSAGES/django.po
src/picture/locale/it/LC_MESSAGES/django.po
src/picture/locale/lt/LC_MESSAGES/django.po
src/picture/locale/ru/LC_MESSAGES/django.po
src/picture/locale/uk/LC_MESSAGES/django.po
src/picture/migrations/0001_initial.py
src/picture/migrations/0002_remove_picture__related_info.py
src/picture/migrations/0003_auto_20140924_1559.py
src/picture/migrations/0004_auto_20141016_1337.py
src/picture/migrations/0005_auto_20141022_1001.py
src/picture/migrations/0006_auto_20151221_1225.py
src/picture/migrations/0007_auto_20160125_1709.py
src/picture/migrations/0008_auto_20160413_1152.py
src/picture/models.py
src/picture/tasks.py
src/picture/templatetags/picture_tags.py
src/picture/tests/test_picture_import.py
src/picture/views.py
src/polls/admin.py
src/polls/forms.py
src/polls/locale/de/LC_MESSAGES/django.po
src/polls/locale/en/LC_MESSAGES/django.po
src/polls/locale/es/LC_MESSAGES/django.po
src/polls/locale/fr/LC_MESSAGES/django.po
src/polls/locale/it/LC_MESSAGES/django.po
src/polls/locale/lt/LC_MESSAGES/django.po
src/polls/locale/ru/LC_MESSAGES/django.po
src/polls/locale/uk/LC_MESSAGES/django.po
src/polls/migrations/0001_initial.py
src/polls/migrations/0002_auto_20151221_1225.py
src/polls/models.py
src/polls/templatetags/polls_tags.py
src/polls/urls.py
src/polls/views.py
src/push/admin.py
src/push/forms.py
src/push/migrations/0001_initial.py
src/push/migrations/0002_auto_20180830_1627.py
src/push/migrations/0003_auto_20180831_1135.py
src/push/models.py
src/push/urls.py
src/push/utils.py
src/push/views.py
src/pz/admin.py
src/pz/bank.py
src/pz/migrations/0014_directdebit_nosignature.py [new file with mode: 0644]
src/pz/models.py
src/references/templates/references/map.html
src/references/views.py
src/reporting/models.py
src/reporting/templatetags/reporting_stats.py
src/reporting/urls.py
src/reporting/utils.py
src/reporting/views.py
src/search/fields.py
src/search/forms.py
src/search/index.py
src/search/locale/de/LC_MESSAGES/django.po
src/search/locale/en/LC_MESSAGES/django.po
src/search/locale/es/LC_MESSAGES/django.po
src/search/locale/fr/LC_MESSAGES/django.po
src/search/locale/it/LC_MESSAGES/django.po
src/search/locale/lt/LC_MESSAGES/django.po
src/search/locale/ru/LC_MESSAGES/django.po
src/search/locale/uk/LC_MESSAGES/django.po
src/search/tests/__init__.py
src/search/tests/index.py
src/search/urls.py
src/search/views.py
src/social/admin.py
src/social/api/urls.py
src/social/api/views.py
src/social/forms.py
src/social/locale/de/LC_MESSAGES/django.po
src/social/locale/en/LC_MESSAGES/django.po
src/social/locale/es/LC_MESSAGES/django.po
src/social/locale/fr/LC_MESSAGES/django.po
src/social/locale/it/LC_MESSAGES/django.po
src/social/locale/lt/LC_MESSAGES/django.po
src/social/locale/ru/LC_MESSAGES/django.po
src/social/locale/uk/LC_MESSAGES/django.po
src/social/migrations/0001_initial.py
src/social/migrations/0002_auto_20151221_1225.py
src/social/migrations/0003_cite_banner.py
src/social/migrations/0004_auto_20170725_1204.py
src/social/migrations/0005_auto_20190318_1309.py
src/social/migrations/0006_legacy_group.py
src/social/migrations/0007_auto_20190318_1339.py
src/social/migrations/0008_auto_20190403_1510.py
src/social/migrations/0009_auto_20190715_1405.py
src/social/migrations/0010_cite_background_plain.py
src/social/models.py
src/social/templatetags/social_tags.py
src/social/urls.py
src/social/utils.py
src/social/views.py
src/sortify.py
src/sponsors/__init__.py
src/sponsors/admin.py
src/sponsors/migrations/0001_initial.py
src/sponsors/migrations/0002_auto_20151221_1225.py
src/sponsors/models.py
src/sponsors/templatetags/sponsors.py
src/sponsors/widgets.py
src/stats/tasks.py
src/stats/utils.py
src/suggest/admin.py
src/suggest/forms.py
src/suggest/locale/de/LC_MESSAGES/django.po
src/suggest/locale/en/LC_MESSAGES/django.po
src/suggest/locale/es/LC_MESSAGES/django.po
src/suggest/locale/fr/LC_MESSAGES/django.po
src/suggest/locale/it/LC_MESSAGES/django.po
src/suggest/locale/lt/LC_MESSAGES/django.po
src/suggest/locale/ru/LC_MESSAGES/django.po
src/suggest/locale/uk/LC_MESSAGES/django.po
src/suggest/migrations/0001_initial.py
src/suggest/migrations/0002_auto_20151221_1225.py
src/suggest/migrations/0003_auto_20190729_1450.py
src/suggest/models.py
src/suggest/urls.py
src/suggest/views.py
src/waiter/__init__.py
src/waiter/locale/de/LC_MESSAGES/django.po
src/waiter/locale/en/LC_MESSAGES/django.po
src/waiter/locale/es/LC_MESSAGES/django.po
src/waiter/locale/fr/LC_MESSAGES/django.po
src/waiter/locale/it/LC_MESSAGES/django.po
src/waiter/locale/lt/LC_MESSAGES/django.po
src/waiter/locale/ru/LC_MESSAGES/django.po
src/waiter/locale/uk/LC_MESSAGES/django.po
src/waiter/migrations/0001_initial.py
src/waiter/models.py
src/waiter/settings.py
src/waiter/tasks.py
src/waiter/urls.py
src/waiter/utils.py
src/waiter/views.py
src/wolnelektury/__init__.py
src/wolnelektury/apps.py
src/wolnelektury/celery.py
src/wolnelektury/context_processors.py
src/wolnelektury/forms.py
src/wolnelektury/locale/de/LC_MESSAGES/django.po
src/wolnelektury/locale/en/LC_MESSAGES/django.po
src/wolnelektury/locale/es/LC_MESSAGES/django.po
src/wolnelektury/locale/fr/LC_MESSAGES/django.po
src/wolnelektury/locale/it/LC_MESSAGES/django.po
src/wolnelektury/locale/lt/LC_MESSAGES/django.po
src/wolnelektury/locale/ru/LC_MESSAGES/django.po
src/wolnelektury/locale/uk/LC_MESSAGES/django.po
src/wolnelektury/management/commands/clean_social_accounts.py
src/wolnelektury/management/commands/localepack.py
src/wolnelektury/management/commands/translation2po.py
src/wolnelektury/management/profile.py
src/wolnelektury/settings/__init__.py
src/wolnelektury/settings/apps.py
src/wolnelektury/settings/auth.py
src/wolnelektury/settings/basic.py
src/wolnelektury/settings/celery.py
src/wolnelektury/settings/contrib.py
src/wolnelektury/settings/custom.py
src/wolnelektury/settings/locale.py
src/wolnelektury/settings/paths.py
src/wolnelektury/settings/static.py
src/wolnelektury/settings/test.py
src/wolnelektury/signals.py
src/wolnelektury/static/2022/images/about.svg [new file with mode: 0644]
src/wolnelektury/static/2022/images/pin.svg [new file with mode: 0644]
src/wolnelektury/static/2022/images/settings.svg [new file with mode: 0644]
src/wolnelektury/static/2022/images/toc.svg [new file with mode: 0644]
src/wolnelektury/static/2022/more.scss
src/wolnelektury/static/2022/styles/base/_fonts.scss
src/wolnelektury/static/2022/styles/components/_media.scss
src/wolnelektury/static/2022/styles/layout/_annoy.scss [new file with mode: 0644]
src/wolnelektury/static/2022/styles/layout/_article.scss
src/wolnelektury/static/2022/styles/layout/_author.scss
src/wolnelektury/static/2022/styles/layout/_checkout.scss
src/wolnelektury/static/2022/styles/layout/_container.scss
src/wolnelektury/static/2022/styles/layout/_module.scss
src/wolnelektury/static/2022/styles/layout/_text.scss [new file with mode: 0644]
src/wolnelektury/static/css/new.book.css
src/wolnelektury/static/fonts/source-serif-pro/SIL Open Font License.txt [new file with mode: 0644]
src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Italic.otf.woff2 [new file with mode: 0644]
src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2 [new file with mode: 0644]
src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.otf.woff2 [new file with mode: 0644]
src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2 [new file with mode: 0644]
src/wolnelektury/static/js/book_text/progress.js [new file with mode: 0644]
src/wolnelektury/static/js/book_text/toc.js
src/wolnelektury/static/js/main.js
src/wolnelektury/templates/banner_procent.html [new file with mode: 0644]
src/wolnelektury/templates/base.html
src/wolnelektury/templates/forms/form_sent.html
src/wolnelektury/templates/header.html
src/wolnelektury/templatetags/blog.py
src/wolnelektury/test_utils.py
src/wolnelektury/urls.py
src/wolnelektury/utils.py
src/wolnelektury/views.py
src/wolnelektury/wsgi.py

index 0955931..6813e7d 100644 (file)
@@ -1 +1 @@
-custom: ['https://wolnelektury.pl/towarzystwo/', 'https://nowoczesnapolska.org.pl/pomoz-nam/darowizna/', 'https://nowoczesnapolska.org.pl/pomoz-nam/1-procent/']
+custom: ['https://wolnelektury.pl/pomagam/', 'https://fundacja.wolnelektury.pl/pomoz-nam/darowizna/', 'https://fundacja.wolnelektury.pl/pomoz-nam/1-procent/']
diff --git a/NOTICE b/NOTICE
index b7f3734..188ff3d 100644 (file)
--- a/NOTICE
+++ b/NOTICE
@@ -1,7 +1,7 @@
     
-    FNP Wolnelektury
+    Wolne Lektury
 
-    Copyright © 2008-2019 Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org.pl>
+    Copyright © 2008-2023 Fundacja Wolne Lektury <fundacja@wolnelektury.pl>
     
     For full list of contributors see README.md file.
 
index 139cccc..ef163d3 100644 (file)
--- a/README.md
+++ b/README.md
 
 ![Wolne Lektury](src/wolnelektury/static/img/logo-bez.png)
 
+Wolne Lektury to wolna biblioteka internetowa. Udostępniamy wysokiej jakości
+książki — lektury szkolne i nie tylko — dzieciom i dorosłym w Polsce i na całym
+świecie. To ważne, ponieważ w 32% domów w Polsce nie ma ani jednej książki
+(dane Biblioteki Narodowej, 2022). Wyrównujemy szanse edukacyjne, w praktyce
+realizujemy wolność korzystania z dóbr kultury.
 
-Wolne Lektury is a free internet library maintained by Modern Poland Foundation.
-
-It's a service based on [Django](https://www.djangoproject.com/), using
-[Librarian](https://git.mdrn.pl/librarian.git) to publish books in various formats.
-
-
-License
--------
-
-  ![AGPL Logo](http://www.gnu.org/graphics/agplv3-155x51.png)
-    
-    Copyright © 2008-2019 Fundacja Nowoczesna Polska <fundacja@nowoczesnapolska.org.pl>
-    
-    For full list of contributors see AUTHORS section at the end. 
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU Affero General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU Affero General Public License for more details.
-
-    You should have received a copy of the GNU Affero General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-    
-
-Dependencies
-============
-
- * Python 3.5-3.7
- * All packages listed in requirements.txt
-
-
-How to deploy (development version)
-=============
-
-1. Checkout the source code from Git and enter the directory
-2. Install libraries (we recommend using pip):
-
-    pip install -r requirements/requirements.txt
-
-3. Setup your local configuration in src/wolnelektury/localsettings.py. You need to generate a new SECRET_KEY, database stuff and domain related stuff.
-4. Populate database:
-    
-    ./manage.py migrate
-
-5. Run the server
-
-   ./manage.py runserver
-
-    
-6. Import some books which are available on http://www.wolnelektury.pl or on bitbucket mirror: http://bitbucket.org/lqc/wlbooks/
-   If you use Bitbucket, you also need Mercurial to fetch books (you can install it using: pip install mercurial).
-   After downloading books, log into administration, go to Books and choose 'Browse' to select book file,
-   then fire 'Import book' to upload it. Some books have invalid XML, so you can get an error
-   (just ignore it and look for other books).
-   
-7. We provide localization of the software in following languages: Polish, Russian, German, English, Spanish, French and Lithuanian.
-   Translation strings are based on gettext and can be found under 'locale' dir.
-   There are also JavaScript files for jQuery countdown plugin (static/js/jquery.countdown-*.js).
-
-
-Bundled software
-================
-
-* django-chunks
-  in `src/chunks`
-  based on [django-chunks](http://code.google.com/p/django-chunks/)
-  by Clint Ecker <clintecker@gmail.com>,
-  [New BSD License](http://www.opensource.org/licenses/bsd-license.php)
-* [django-newtagging](http://www.bitbucket.org/zuber/django-newtagging/)
-  in `src/newtagging`
-  by Marek Stępniowski <marek@stepniowski.com>,
-  [MIT License](http://www.opensource.org/licenses/mit-license.php),
-  based on [django-tagging](http://code.google.com/p/django-tagging/), also under [MIT License](http://www.opensource.org/licenses/mit-license.php)
-* [jPlayer](http://jplayer.org/)
-  in `src/catalogue/static/jplayer`
-  by Happyworm,
-  [MIT License](http://opensource.org/licenses/MIT)
-* [Switch template tag](http://djangosnippets.org/snippets/967/)
-  in `src/wolnelektury/templatetags/switch_tag.py`
-  by adurdin
-* Javascript in `src/wolnelektury/static/js/contrib`
-  with relevant attribution and licensing
-  
-
-Authors
-=======
- * Marek Stępniowski  <marek@stepniowski.com>
- * Łukasz Rekucki <lrekucki@gmail.com>
+Wszystkie dzieła są przez nas opracowane — uwspółcześniane, opatrzone
+przypisami, motywami, odniesieniami kontekstowymi — i udostępnione w kilku
+formatach do czytania online lub pobrania na własne urządzenie (HTML, TXT, PDF,
+EPUB, MOBI, FB2). Nagraliśmy i udostępniliśmy także ponad tysiąc audiobooków,
+czytanych przez wybitnych lektorów. Przygotowujemy je także w formatach
+z synchronizacją audio-tekst (DAISY i EPUB 3 MO).
+
+Jesteśmy częścią ruchu wolnego internetu, wolnej kultury i wolnego
+oprogramowania — zarówno nasze oprogramowanie, jak i treści, publikujemy
+wyłącznie na wolnych licencjach. Udostępniamy teksty z domeny publicznej,
+wykupujemy prawa do utworów współczesnych, a nawet zamawiamy i wydajemy
+[nowe tłumaczenia](https://wolnelektury.pl/katalog/lektury/nowe-tlumaczenia-wl/)
+takich klasyków jak Doktor Dolittle, Mały Książę, Inwazja jaszczurów, Rok 1984.
+
+
+Jak możesz pomóc?
+=================
+
+Wesprzyj nas
+------------
+
+Wolne Lektury nie mają stałego źródła finansowania.
+**[Wspieraj Wolne Lektury stałą wpłatą](https://wolnelektury.pl/pomagam/)** – nawet
+niewielkie, stałe wsparcie ma wielką moc! Możesz też wesprzeć Wolne Lektury jednorazowo.
+
+![1,5%](https://wolnelektury.pl/media/chunks/attachment/poltora-procent.png)
+
+Fundacja Wolne Lektury jest *Organizacją Pożytku Publicznego*. Dzięki temu możesz
+przekazać na bibliotekę 1,5% podatku, podając
+[KRS 0000070056](https://fundacja.wolnelektury.pl/pomoz-nam/1-procent/).
+Pamiętaj też, że swoje darowizny na Wolne Lektury możesz odliczyć od podstawy podatku!
+
+Pomóż w tłumaczeniu serwisu
+---------------------------
+
+Tłumaczenie interfejsu serwisu na inne języki jest przydatne zwłaszcza
+dla osób uczących się polskiego, imigrantów i dzieci polonijnych — możesz
+pomóc uzupełnić te tlumaczenia. Odbywa się to
+[w serwisie Weblate](https://hosted.weblate.org/engage/wolnelektury/).
+
+<a href="https://hosted.weblate.org/engage/wolnelektury/">
+<img src="https://hosted.weblate.org/widget/wolnelektury/287x66-grey.png" alt="Stan tłumaczenia" />
+</a>
+
+
+Pracuj jako fundraiser/fundraiserka
+-----------------------------------
+
+[Szukamy osób na stanowisko fundraisera](https://wolnelektury.pl/info/rekrutacja/).
+Praca polega na bezpośrednim kontakcie z potencjalnymi darczyńcami
+podczas festiwali muzycznych i kulturalnych.
+
+
+Włącz się w prace redakcyjne
+----------------------------
+
+Zobacz jak możesz włączyć się bezpośrednio
+w [prace redakcyjne](https://wolnelektury.pl/info/wlacz-sie-w-prace/).
+
+
+Prawa i autorzy
+===============
+
+Oprogramowanie jest dostępne na wolnej licencji GNU AGPL — dokładniejsze
+informacje znajdziesz w plikach NOTICE i LICENSE. Utrzymaniem oprogoramowania
+w ramach Fundacji Wolne Lektury zajmuje się Radek Czajka.
+
+Pełna lista dotychczasowych autorów:
+
+ * Marek Stępniowski
+ * Łukasz Rekucki
  * Radek Czajka
  * Łukasz Anwajler
  * Marcin Koziej
index 416fb09..eede894 100644 (file)
@@ -39,7 +39,7 @@ mutagen==1.45.1
 sorl-thumbnail==12.8.0
 
 # home-brewed & dependencies
-librarian==2.6.1
+librarian==24.4.1
 
 # celery tasks
 celery[redis]==5.2.7
index 6d6a329..80ae799 100755 (executable)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import os
 import django
index 46cda3d..96c27fd 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 """
 Provides a way to create forms behaving correctly as AJAX forms
index 4e423ef..ddb36d8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from functools import wraps
 import json
index da371fc..e60e3c0 100644 (file)
@@ -116,6 +116,7 @@ class MediaInsertSet(models.Model):
     file_format = models.CharField(max_length=8, choices=[
         ('epub', 'epub'),
         ('mobi', 'mobi'),
+        ('pdf', 'pdf'),
         ])
     etag = models.CharField(max_length=64, blank=True)
 
index 44a1d02..791741a 100644 (file)
                 e.preventDefault();
                 $target.slideDown('fast');
                 $on.hide();
-                if (Modernizr.localstorage) localStorage.removeItem(tag);
+                localStorage.removeItem(tag);
                 _paq.push(['trackEvent', 'banner', 'banner-unhide', $target.attr('id')]);
             });
 
             $off.click(function() {
                 $target.slideUp('fast');
                 $on.show();
-                if (Modernizr.localstorage) localStorage[tag] = true;
+                localStorage[tag] = true;
                 _paq.push(['trackEvent', 'banner', 'banner-hide', $target.attr('id')]);
             });
 
-            if (Modernizr.localstorage) {
-                if (!localStorage[tag]) {
-                    $on.hide();
-                    $target.show();
-                    _paq.push(['trackEvent', 'banner', 'banner-show', $target.attr('id')]);
-                }
+            if (!localStorage[tag]) {
+                $on.hide();
+                $target.show();
+                _paq.push(['trackEvent', 'banner', 'banner-show', $target.attr('id')]);
             }
         });
 
diff --git a/src/annoy/templates/annoy/banner_blackout.html b/src/annoy/templates/annoy/banner_blackout.html
new file mode 100644 (file)
index 0000000..c96751f
--- /dev/null
@@ -0,0 +1,40 @@
+{% if banner %}
+  {% if closable %}
+    <a class='annoy-banner-on annoy-banner-on_{{ banner.place }}'
+       href="{{ banner.url }}"
+       data-target="#annoy-banner-{{ banner.id }}"
+    >
+    </a>
+  {% endif %}
+  <div class="
+              annoy-banner
+              annoy-banner_{{ banner.place }}
+              annoy-banner-style_{{ banner.style }}
+              {% if banner.image %}with-image{% endif %}
+              {% if banner.smallfont %}banner-smallfont{% endif %}
+              "
+       id="annoy-banner-{{ banner.id }}"
+             style="
+              {% if banner.text_color %}color: {{ banner.text_color }};{% endif %}
+              {% if banner.background_color %}background-color: {{ banner.background_color }};{% endif %}
+              ">
+    <div class="annoy-banner-inner">
+
+      <div class="text">
+        {{ banner.get_text|safe|linebreaks }}
+        <div class="annoy-banner_actions">
+          <a class="action l-button l-button--default l-button--default--dark" href="{{ banner.url }}">
+            {{ banner.action_label }}
+          </a>
+          <a class='annoy-banner-off annoy-banner-off_{{ banner.place }}  l-button l-button--default'>{{ banner.close_label|default:"x" }}</a>
+        </div>
+      </div>
+      {% if banner.image %}
+        <div class="annoy-banner_img">
+          <img src="{{ banner.image.url }}">
+        </div>
+      {% endif %}
+    </div>
+  </div>
+
+{% endif %}
index 21f1bb8..2bc9314 100644 (file)
@@ -14,6 +14,14 @@ def annoy_banner(context, place):
         'closable': PLACES.get(place, False),
     }
 
+@register.inclusion_tag('annoy/banner_blackout.html', takes_context=True)
+def annoy_banner_blackout(context):
+    banners = Banner.choice('blackout', request=context['request'])
+    return {
+        'banner': banners.first(),
+        'closable': True,
+    }
+
 
 @register.inclusion_tag('annoy/banners.html', takes_context=True)
 def annoy_banners(context, place):
index 2d8055a..9addc27 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from modeltranslation.translator import translator, TranslationOptions
 from . import models
index 9857498..090b2a1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 from . import models
index fa57b41..adee780 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from oauthlib.oauth1 import ResourceEndpoint
 from rest_framework.authentication import BaseAuthentication
index d1f9da4..cdfcc47 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from rest_framework import serializers
 from sorl.thumbnail import default
index 5af5cfb..292fdb2 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.sites.models import Site
 from django.utils.functional import lazy
index b3096a0..698a715 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 57e5f43..fd2f82e 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 1b066a1..24026ed 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 8602c5f..464f82e 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 01442ed..cd128ef 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 53041ee..794ac51 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index e0be1f7..39befd7 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 1092e51..9112b49 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 4c3af2f..b2e300d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index 4245868..42b4c8e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index f8b45e7..7615c34 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index d00ac8b..1e6f047 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import datetime
 from django.db import migrations, models
index 9b706a4..85fa50a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.db import migrations, models
index e86324e..04d08e9 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.contrib.auth.models import User
index 3f742db..3ccf1a2 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from rest_framework_xml.renderers import XMLRenderer
 
index 9a4be2d..78834ff 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import time
 from oauthlib.oauth1 import RequestValidator
index eb6994c..e0bf0ee 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.auth.models import User
 from rest_framework import serializers
index 5ad5ca3..6862f24 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from base64 import b64encode
 import hashlib
index 4fb321a..2c4c792 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path, include
 from django.views.decorators.csrf import csrf_exempt
index 3674838..3b23246 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.http import HttpResponse, HttpResponseRedirect
 from django.utils.decorators import method_decorator
index be1491b..64a7eb0 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.auth.decorators import login_required
 from django import forms
index f8c87fb..534211a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import logging
 from django.conf import settings
index ad5e209..d1e3c1f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 from catalogue.models import Tag, Book, Fragment, BookMedia, Collection, Source, Snippet
index d95c3a8..64eab24 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from rest_framework import serializers
 from api.fields import AbsoluteURLField
index 7971268..9fe7bdb 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db.models import Q
 from catalogue.models import Book
index 9baba34..daa86fe 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from rest_framework import serializers
 from api.fields import AbsoluteURLField, LegacyMixin, ThumbnailField
index 4e0d937..c211c22 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path, re_path
 from stats.utils import piwik_track_view
index e7ed8c6..932f9cd 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 import os.path
index 36c6b84..284b530 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.apps import AppConfig
 
index 066a43c..becb817 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.utils.translation import gettext_lazy as _
 
index 8658c8c..ee4b37f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.sites.models import Site
 from django.contrib.syndication.views import Feed
index 423be1d..c4dec7e 100644 (file)
@@ -1,15 +1,19 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
+import io
 import os
 import pkg_resources
 import random
+import time
+from urllib.request import urlopen
 from django.apps import apps
 from django.conf import settings
 from django.core.files import File
 from django.db import models
 from django.db.models.fields.files import FieldFile
 from django.utils.deconstruct import deconstructible
+from librarian.cover import make_cover
 from catalogue.constants import LANGUAGES_3TO2
 from catalogue.utils import absolute_url, remove_zip, truncate_html_words, gallery_path, gallery_url
 from waiter.utils import clear_cache
@@ -31,6 +35,25 @@ class UploadToPath(object):
         return isinstance(other, type(self)) and other.path == self.path
 
 
+def get_make_cover(book):
+    extra = book.get_extra_info_json()
+    cover_logo = extra.get('logo_mono', extra.get('logo'))
+    if cover_logo:
+        while True:
+            try:
+                cover_logo = io.BytesIO(urlopen(cover_logo, timeout=3).read())
+            except:
+                time.sleep(2)
+            else:
+                break
+    
+    def mc(*args, **kwargs):
+        if cover_logo:
+            kwargs['cover_logo'] = cover_logo
+        return make_cover(*args, **kwargs)
+    return mc
+    
+
 class EbookFieldFile(FieldFile):
     """Represents contents of an ebook file field."""
 
@@ -172,7 +195,7 @@ class EbookField(models.FileField):
         return found
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         """Transforms an librarian.WLDocument into an librarian.OutputFile.
         """
         raise NotImplemented()
@@ -185,6 +208,7 @@ class EbookField(models.FileField):
         book = fieldfile.instance
         out = self.transform(
             book.wldocument2() if self.librarian2_api else book.wldocument(),
+            book,
         )
         with open(out.get_filename(), 'rb') as f:
             fieldfile.save(None, File(f), save=False)
@@ -207,7 +231,7 @@ class TxtField(EbookField):
     for_parents = False
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         return wldoc.as_text()
 
 
@@ -217,7 +241,7 @@ class Fb2Field(EbookField):
     ZIP = 'wolnelektury_pl_fb2'
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         return wldoc.as_fb2()
 
 
@@ -226,10 +250,14 @@ class PdfField(EbookField):
     ZIP = 'wolnelektury_pl_pdf'
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
+        MediaInsertSet = apps.get_model('annoy', 'MediaInsertSet')
         return wldoc.as_pdf(
-            morefloats=settings.LIBRARIAN_PDF_MOREFLOATS, cover=True,
-            base_url=absolute_url(gallery_url(wldoc.book_info.url.slug)), customizations=['notoc'])
+            morefloats=settings.LIBRARIAN_PDF_MOREFLOATS,
+            cover=get_make_cover(book),
+            base_url=absolute_url(gallery_url(wldoc.book_info.url.slug)), customizations=['notoc'],
+            fundraising=MediaInsertSet.get_texts_for('pdf'),
+        )
 
     def build(self, fieldfile):
         super().build(fieldfile)
@@ -242,12 +270,13 @@ class EpubField(EbookField):
     ZIP = 'wolnelektury_pl_epub'
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         from librarian.builders import EpubBuilder
         MediaInsertSet = apps.get_model('annoy', 'MediaInsertSet')
         return EpubBuilder(
                 base_url='file://' + os.path.abspath(gallery_path(wldoc.meta.url.slug)) + '/',
-                fundraising=MediaInsertSet.get_texts_for('epub')
+                fundraising=MediaInsertSet.get_texts_for('epub'),
+                cover=get_make_cover(book),
             ).build(wldoc)
 
 
@@ -257,12 +286,13 @@ class MobiField(EbookField):
     ZIP = 'wolnelektury_pl_mobi'
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         from librarian.builders import MobiBuilder
         MediaInsertSet = apps.get_model('annoy', 'MediaInsertSet')
         return MobiBuilder(
                 base_url='file://' + os.path.abspath(gallery_path(wldoc.meta.url.slug)) + '/',
-                fundraising=MediaInsertSet.get_texts_for('mobi')
+                fundraising=MediaInsertSet.get_texts_for('mobi'),
+                cover=get_make_cover(book),
             ).build(wldoc)
 
 
@@ -279,7 +309,7 @@ class HtmlField(EbookField):
 
         book = fieldfile.instance
 
-        html_output = self.transform(book.wldocument(parse_dublincore=False))
+        html_output = self.transform(book.wldocument(parse_dublincore=False), book)
 
         # Delete old fragments, create from scratch if necessary.
         book.fragments.all().delete()
@@ -359,7 +389,7 @@ class HtmlField(EbookField):
         return False
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         # ugly, but we can't use wldoc.book_info here
         from librarian import DCNS
         url_elem = wldoc.edoc.getroot().find('.//' + DCNS('identifier.url'))
@@ -378,8 +408,8 @@ class CoverField(EbookField):
     directory = 'cover'
 
     @staticmethod
-    def transform(wldoc):
-        return wldoc.as_cover()
+    def transform(wldoc, book):
+        return get_make_cover(book)(wldoc.book_info, width=360).output_file()
 
     def set_file_permissions(self, fieldfile):
         pass
@@ -389,16 +419,15 @@ class CoverCleanField(CoverField):
     directory = 'cover_clean'
 
     @staticmethod
-    def transform(wldoc):
-        from librarian.covers.marquise import MarquiseCover
-        return MarquiseCover(wldoc.book_info, width=360).output_file()
+    def transform(wldoc, book):
+        return get_make_cover(book)(wldoc.book_info, width=360).output_file()
 
 
 class CoverThumbField(CoverField):
     directory = 'cover_thumb'
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         from librarian.cover import WLCover
         return WLCover(wldoc.book_info, height=193).output_file()
 
@@ -407,7 +436,7 @@ class CoverApiThumbField(CoverField):
     directory = 'cover_api_thumb'
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         from librarian.cover import WLNoBoxCover
         return WLNoBoxCover(wldoc.book_info, height=500).output_file()
 
@@ -416,7 +445,7 @@ class SimpleCoverField(CoverField):
     directory = 'cover_simple'
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         from librarian.cover import WLNoBoxCover
         return WLNoBoxCover(wldoc.book_info, height=1000).output_file()
 
@@ -425,6 +454,6 @@ class CoverEbookpointField(CoverField):
     directory = 'cover_ebookpoint'
 
     @staticmethod
-    def transform(wldoc):
+    def transform(wldoc, book):
         from librarian.cover import EbookpointCover
         return EbookpointCover(wldoc.book_info).output_file()
index 080b588..919ff3a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 from django.utils.translation import gettext_lazy as _
@@ -17,6 +17,9 @@ class BookImportForm(forms.Form):
     gallery_url = forms.CharField(required=False)
     days = forms.IntegerField(required=False)
     hidden = forms.BooleanField(required=False)
+    logo = forms.CharField(required=False)
+    logo_mono = forms.CharField(required=False)
+    logo_alt = forms.CharField(required=False)
 
     def clean(self):
         from django.core.files.base import ContentFile
@@ -34,6 +37,9 @@ class BookImportForm(forms.Form):
                                   remote_gallery_url=self.cleaned_data['gallery_url'],
                                   days=self.cleaned_data['days'],
                                   findable=not self.cleaned_data['hidden'],
+                                  logo=self.cleaned_data['logo'],
+                                  logo_mono=self.cleaned_data['logo_mono'],
+                                  logo_alt=self.cleaned_data['logo_alt'],
                                   **kwargs)
 
 
index c4b9267..b1ee96e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.contrib.contenttypes.models import ContentType
index 587e05b..c63a111 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from librarian import DocProvider
 
index 939d8ee..a07b64c 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index a8aae07..aff3445 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index babeac3..1ee737e 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index af51899..6daf43c 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index ad89f98..cfcc971 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index fd076d0..7b16855 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index eb6e6f2..f00b8aa 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 4b6bd10..3979cda 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 26e1cf6..62ab73c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from time import time
 from django.conf import settings
index db9fc4c..6b94fec 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.sites.models import Site
 from django.core.management.base import BaseCommand
index e7d5ffd..02afe79 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.management.base import BaseCommand
 from librarian import ParseError
index c0d099b..258a402 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.management.base import BaseCommand
 
index 9322eea..8306ffb 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import os
 import sys
index 587f943..f9fb2c1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.management.base import BaseCommand
 
index 22b36e9..f4157fd 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import zipfile
 from django.core.management.base import BaseCommand
index 5f193c4..866a7d0 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.management.base import BaseCommand
 
index c79f614..c547b54 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.core.management.base import BaseCommand
index d2af0d4..89d2331 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.management.base import BaseCommand
 from django.db.models import Count
index dc3631e..af6d975 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date
 from django.core.management.base import BaseCommand
index bd00562..0fb2ffd 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.management import BaseCommand
 from catalogue.models import Tag
index 448b8b9..7a2d427 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index 49dd6f0..3803e4b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index c36aee1..9d28165 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations
 
index e474f1b..1fadf16 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index 202e519..63835bc 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index 7f12f6d..efc6419 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index 3bd9b9c..c81d842 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index cdaaa0e..0db1240 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import catalogue.fields
index 9def7ad..a083d6a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 81834f9..fe5e109 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index 43ac385..3c31004 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 34c700c..311981a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index d6addf7..e30aeda 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index cdfac23..e386c3c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import fnpdjango.storage
index d92d458..a950082 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 8e0080e..81ddeef 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 0d5b36e..37786e5 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 9a2aee3..45b59b4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 17f7db1..1b897ff 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 4c9cd8e..9975112 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import catalogue.fields
index 6e0331c..bead860 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import catalogue.fields
index fef3abb..e8dd3a6 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 2959bd5..ee707ec 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 620723a..b3789dd 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 6d2d872..86e7d97 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index b43ede8..301e9c1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index e5ab008..71e2204 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 81f36d1..67d999c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from catalogue.models.tag import Tag
 from catalogue.models.bookmedia import BookMedia
index 35d0e8c..10e9d22 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from collections import OrderedDict
 import json
@@ -331,6 +331,9 @@ class Book(models.Model):
             total += app_settings.GET_MP3_LENGTH(media.file.path)
         return int(total)
 
+    def get_time(self):
+        return round(self.xml_file.size / 1000 * 40)
+    
     def has_media(self, type_):
         if type_ in Book.formats:
             return bool(getattr(self, "%s_file" % type_))
@@ -594,7 +597,7 @@ class Book(models.Model):
 
     @classmethod
     def from_text_and_meta(cls, raw_file, book_info, overwrite=False, dont_build=None, search_index=True,
-                           remote_gallery_url=None, days=0, findable=True):
+                           remote_gallery_url=None, days=0, findable=True, logo=None, logo_mono=None, logo_alt=None):
         from catalogue import tasks
 
         if dont_build is None:
@@ -641,7 +644,14 @@ class Book(models.Model):
             book.common_slug = book_info.variant_of.slug
         else:
             book.common_slug = book.slug
-        book.extra_info = json.dumps(book_info.to_dict())
+        extra = book_info.to_dict()
+        if logo:
+            extra['logo'] = logo
+        if logo_mono:
+            extra['logo_mono'] = logo_mono
+        if logo_alt:
+            extra['logo_alt'] = logo_alt
+        book.extra_info = json.dumps(extra)
         book.load_abstract()
         book.load_toc()
         book.save()
@@ -729,8 +739,12 @@ class Book(models.Model):
             else:
                 entity, entity_created = Entity.objects.get_or_create(uri=uri)
                 if entity_created:
-                    entity.populate()
-                    entity.save()
+                    try:
+                        entity.populate()
+                    except:
+                        pass
+                    else:
+                        entity.save()
                 ref, ref_created = entity.reference_set.get_or_create(book=self)
                 refs[uri] = ref
                 if not ref_created:
index fe8b02f..acb1881 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from collections import OrderedDict
 import json
index 2366321..d9ab5da 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.db import models
index 0bbd426..6609ba8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.contrib.contenttypes.fields import GenericRelation
index 332a98f..b2259d4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models
 
index 4046d34..cdc1dc8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.contrib.contenttypes.fields import GenericForeignKey
index 9b8fb55..7dd68d4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.core.cache import caches
index 0694b01..20690c6 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from traceback import print_exc
 from celery import shared_task
index 3da38b2..838b59f 100644 (file)
@@ -1,5 +1,6 @@
 {% load i18n %}
 {% load catalogue_tags %}
+{% load thumbnail %}
 
 {% with extra_info=book.get_extra_info_json %}
   <p>
     <p>{{ extra_info.description }}</p>
   {% endif %}
 
+  {% if extra_info.logo %}
+    {% thumbnail extra_info.logo '300x200' as th %}
+    <img src="{{ th.url }}" style="width: 300px; max-width: 100%;"
+         alt="{{ extra_info.logo_alt|default:'Sponsor' }}"
+    >
+  {% endthumbnail %}
+  {% endif %}
+
   {% if extra_info.editor or extra_info.technical_editor %}
     <p>
       {% if is_picture %}
index d9474b5..421d439 100644 (file)
@@ -1,8 +1,11 @@
-{% extends "catalogue/viewer_base.html" %}
+{% extends "base.html" %}
+
+
 {% load i18n l10n %}
 {% load catalogue_tags %}
 {% load chunks %}
 {% load thumbnail %}
+{% load static %}
 {% load annoy_banners from annoy %}
 
 
@@ -18,6 +21,7 @@
           crossorigin=""></script>
 {% endblock %}
 
+
 {% block menu %}
   <li>
     <a href="{{ book.get_absolute_url }}" id="menu-book" data-box="book-short">
     </li>
   {% endif %}
 
-  <li id="menu-toc">
-    <a href="#" data-box="wltoc">
-      <span class="label">{% trans "Spis treści" %}</span>
-    </a>
-  </li>
+  {% if extra_info.logo_mono %}
+    {% thumbnail extra_info.logo_mono '200x200' as th %}
+    <img src="{{ th.url }}" style="width: 100px; padding: 10px;"
+         alt="{{ extra_info.logo_alt|default:'Sponsor' }}"
+    >
+  {% endthumbnail %}
+  {% endif %}
+
 
-  <li id="menu-themes">
-    <a href="#" data-box="themes">
-      <span class="label">{% trans "Motywy" %}</span>
+
+{% endblock menu %}
+
+
+
+{% block breadcrumb-right %}
+  <div class="l-text_toolbar" id="menu">
+    <a href="#info" data-box="info">
+      <img src="{% static '2022/images/about.svg' %}" alt="{% trans "Informacje" %}">
     </a>
-  </li>
 
-  <li id="menu-nota_red">
-    <a href="#" data-box="nota_red">
-      <span class="label">{% trans "Nota red." %}</span>
+    <a href="#" data-box="settings" style="display: none;">
+      <img src="{% static '2022/images/settings.svg' %}" alt="{% trans "Ustawienia" %}">
     </a>
-  </li>
 
-  <li id="menu-info">
-    <a href="#info" data-box="info">
-      <span class="label">{% trans "Informacje" %}</span>
+    <a href="#wltoc" data-box="wltoc" style="display: none;">
+      <img src="{% static '2022/images/toc.svg' %}" alt="{% trans "Spis treści" %}">
     </a>
-  </li>
 
-  <a href="#" class="settings-switch" id="settings-line-numbers"
-     data-setting="always-hide-line-numbers"><span>{% trans "Numeracja" %}</span></a>
-  <a href="#" class="settings-switch" id="settings-themes"
-     data-setting="always-hide-themes"><span>{% trans "Motywy" %}</span></a>
-  <a href="#" class="settings-switch" id="settings-annotations"
-     data-setting="no-annotations"><span>{% trans "Przypisy" %}</span></a>
-  <a href="#" class="settings-switch" id="settings-references"
-     data-setting="no-references"><span>{% trans "Pinezki" %}</span></a>
 
-{% endblock menu %}
 
 
-{% block big-pane %}
+    <div id="info" class="box">
+      {% book_info book %}
+    </div>
+
+
+    <div id="settings" class="box">
+      <a href="#" class="settings-switch" id="settings-line-numbers"
+         data-setting="always-hide-line-numbers"><span>{% trans "Numeracja" %}</span></a>
+      <a href="#" class="settings-switch" id="settings-themes"
+         data-setting="always-hide-themes"><span>{% trans "Motywy" %}</span></a>
+      <a href="#" class="settings-switch" id="settings-annotations"
+         data-setting="no-annotations"><span>{% trans "Przypisy" %}</span></a>
+      <a href="#" class="settings-switch" id="settings-references"
+         data-setting="no-references"><span>{% trans "Pinezki" %}</span></a>
+    </div>
+
+
+    <div id="wltoc" class="box">
+      {% if book.parent %}
+        {% for b in book.ancestors %}
+          {% if forloop.counter > 1 %}
+            <li>
+          {% endif %}
+          <a href="{% if b.html_file %}{% url 'book_text' b.slug %}{% else %}{{ b.get_absolute_url }}{% endif %}">{{ b.title }}</a>
+          <ol>
+        {% endfor %}
+        {% for b in book.get_siblings %}
+          <li>
+            {% if b == book %}
+              <strong>{{ b.title }}</strong>
+              <div id="heretoc"></div>
+            {% else %}
+              <a href="{% url 'book_text' b.get_first_text.slug %}">{{ b.title }}</a>
+            {% endif %}
+          </li>
+        {% endfor %}
+
+        {% for b in book.ancestor.all %}
+          </ol>
+          {% if not forloop.counter.last %}
+            </li>
+          {% endif %}
+        {% endfor %}
+      {% else %}
+        <strong>{{ book.title }}</strong>
+        <div id="heretoc"></div>
+        <ol>
+          {% for c in book.get_children %}
+            <li><a href="{% url 'book_text' c.get_first_text.slug %}">{{ c.title }}</a></li>
+          {% endfor %}
+        </ol>
+      {% endif %}
+    </div>
+
+  </div>
+{% endblock %}
+
+
+
+
+{% block main %}
+  <div id="global-progress" class="l-container" data-t="{{ book.get_time }}">
+    <div class="bar">
+      <span class="piece" style="flex-grow: 100;">
+        <span class="filled"></span>
+      </span>
+    </div>
+    <div class="progress-text">
+      Szacowany czas do końca: <span class="progress-text-value">-</span>
+    </div>
+  </div>
+
+  <header class="l-text_header">
+    <img class="l-text_header_cover" src="{% if book.cover_clean %}{{ book.cover_clean.url }}{% endif %}" alt="{{ book.pretty_title }}">
+
+    <div class="l-text_header__content">
+      <p class="l-text_header_author">{% for author in book.authors %}<a href="{{ author.get_absolute_url }}">{{ author.name }}</a>{% if not forloop.last %}, {% endif %}{% endfor %}
+      </p>
+      <h1 class="l-text_header_title"><a href="{{ book.get_absolute_url }}">{{ book.title }}</a></h1>
+      {% with translators=book.translators %}
+        {% if translators %}
+          <p class="l-header__translators">
+            {% if translators.0 != 'tłumacz nieznany' %}
+              {% trans "tłum." %}
+            {% endif %}
+            {% for translator in translators %}
+              {{ translator }}{% if not forloop.last %}, {% endif %}
+            {% endfor %}
+          </p>
+        {% endif %}
+      {% endwith %}
+      <div style="margin-top:1em;">
+        {% content_warning book %}
+      </div>
+
+    </div>
+  </header>
+
 
   <article id="main-text">
     {% with next=book.get_next_text prev=book.get_prev_text %}
       {% if next %}
-        <a style="float:right; padding: 1em;" href="{% url 'book_text' next.slug %}">{{ next.title }}&nbsp;&rarr;</a>
+        <a class="text_next-book" href="{% url 'book_text' next.slug %}">{{ next.title }}&nbsp;&rarr;</a>
       {% endif %}
       {% if prev %}
-        <a style="display:inline-block;padding: 1em;" href="{% url 'book_text' prev.slug %}">&larr;&nbsp;{{ prev.title }}</a>
+        <a class="text_prev-book" href="{% url 'book_text' prev.slug %}">&larr;&nbsp;{{ prev.title }}</a>
       {% endif %}
-      <div style="text-align:center; margin-top:1em;">
-        {% content_warning book %}
-      </div>
-      <div style="clear:both;"></div>
       {{ book_text|safe }}
     {% endwith %}
-  </article>
 
 
 
-  <article id="other-text">
-    <a class="other-text-close" href="#">{% trans "Zamknij" %}</a>
-    <div id="other-text-waiter">{% trans "Proszę czekać..." %}</div>
-    <div id="other-text-body" style="display: none;"></div>
-  </article>
 
-  <div id="reference-box">
-    <div id="reference-map"></div>
-    <a id="reference-close" href="#">x</a>
-    <div id="reference-images">
+
+
+    <article id="other-text">
+      <a class="other-text-close" href="#">{% trans "Zamknij" %}</a>
+      <div id="other-text-waiter">{% trans "Proszę czekać..." %}</div>
+      <div id="other-text-body" style="display: none;"></div>
+    </article>
+
+    <div id="reference-box">
+      <div id="reference-map"></div>
+      <a id="reference-close" href="#">x</a>
+      <div id="reference-images">
+      </div>
+      <a id="reference-link" target="_blank"></a>
     </div>
-    <a id="reference-link" target="_blank"></a>
-  </div>
 
 
+    {% if book.other_versions.exists %}
+      <div class="box" id="other">
+        <h2>{% trans "Inne wersje utworu" %}</h2>
+        <a class="other-text-close" href="#">{% trans "Zamknij drugą wersję" %}</a>
+        <ul>
+          {% spaceless %}
+            {% for other_version in book.other_versions %}
+              <li>
+                <a class="display-other"
+                   data-other="{{ other_version.html_url }}"
+                   href="{% url 'book_text' other_version.slug %}">
+                  {{ other_version.mini_box_nolink }}
+                </a>
+              </li>
+            {% endfor %}
+          {% endspaceless %}
+        </ul>
+      </div>
+    {% endif %}
+
+    <div id="annoy-stubs">
+      {% annoy_banners 'book-text-intermission' %}
+
+      {% for insert in inserts %}
+        {% include 'annoy/dynamic_insert.html' %}
+      {% endfor %}
+    </div>
+
+  </article>
 
 
-{% endblock big-pane %}
 
-{% block footer %}
   {% if book.has_sync_file %}
     <div id="player-bar">
       {% include 'catalogue/snippets/jplayer_reader.html' %}
      {{ book.get_sync|safe }}
     </script>
   {% endif %}
-  <div id="wltoc" class="box">
-    {% if book.parent %}
-      {% for b in book.ancestors %}
-        {% if forloop.counter > 1 %}
-          <li>
-        {% endif %}
-        <a href="{% if b.html_file %}{% url 'book_text' b.slug %}{% else %}{{ b.get_absolute_url }}{% endif %}">{{ b.title }}</a>
-        <ol>
-      {% endfor %}
-      {% for b in book.get_siblings %}
-        <li>
-          {% if b == book %}
-            <strong>{{ b.title }}</strong>
-            <div id="heretoc"></div>
-          {% else %}
-            <a href="{% url 'book_text' b.get_first_text.slug %}">{{ b.title }}</a>
-          {% endif %}
-        </li>
-      {% endfor %}
-
-      {% for b in book.ancestor.all %}
-        </ol>
-        {% if not forloop.counter.last %}
-          </li>
-        {% endif %}
-      {% endfor %}
-    {% else %}
-      <strong>{{ book.title }}</strong>
-      <div id="heretoc"></div>
-      <ol>
-        {% for c in book.get_children %}
-          <li><a href="{% url 'book_text' c.get_first_text.slug %}">{{ c.title }}</a></li>
-        {% endfor %}
-      </ol>
-    {% endif %}
-  </div>
-
-  <div id="info" class="box">
-    {% book_info book %}
-  </div>
-
-  {% if book.other_versions.exists %}
-    <div class="box" id="other">
-      <h2>{% trans "Inne wersje utworu" %}</h2>
-      <a class="other-text-close" href="#">{% trans "Zamknij drugą wersję" %}</a>
-      <ul>
-        {% spaceless %}
-          {% for other_version in book.other_versions %}
-            <li>
-              <a class="display-other"
-                 data-other="{{ other_version.html_url }}"
-                 href="{% url 'book_text' other_version.slug %}">
-                {{ other_version.mini_box_nolink }}
-              </a>
-            </li>
-          {% endfor %}
-        {% endspaceless %}
-      </ul>
-    </div>
-  {% endif %}
-
-  <div class="box" id="book-short">
-    {% include 'catalogue/book_short.html' %}
-  </div>
-
-  <div id="annoy-stubs">
-    {% annoy_banners 'book-text-intermission' %}
-
-    {% for insert in inserts %}
-      {% include 'annoy/dynamic_insert.html' %}
-    {% endfor %}
-  </div>
 
 
   <div id="marker">
   </script>
 
   {% endlocalize %}
-{% endblock footer %}
+
+{% endblock main %}
index b2c2446..5cfbb12 100644 (file)
   </div>
   <div class="l-navigation__menu__book__info">
     <h3>
-      <a href="{{ book.get_absolute_url }}" tabindex="-1">
-        <img src="{{ book.cover_clean.url }}" alt="{{ book.pretty_title }}">
-      </a>
+      {% if book.cover_clean %}
+        <a href="{{ book.get_absolute_url }}" tabindex="-1">
+          <img src="{{ book.cover_clean.url }}" alt="{{ book.pretty_title }}">
+        </a>
+      {% endif %}
       <a href="{{ book.get_absolute_url }}" tabindex="-1">
         {% for author in book.authors %}
           {{ author }}
index 7ed69cd..7755a89 100644 (file)
@@ -4,11 +4,13 @@
     <h3>{% trans "Prapremiera" %}</h3>
     <div class="p-homepage-prapremiera__box">
       <div class="p-homepage-prapremiera__box__item">
+        {% if book.cover_clean %}
         <figure>
           <a href="{{ book.get_absolute_url }}">
             <img src="{{ book.cover_clean.url }}" alt="{{ book.pretty_title }}">
           </a>
         </figure>
+        {% endif %}
         <div class="p-homepage-prapremiera__box__content">
           <h4>
             {% for author in book.authors %}
index b30e532..a62cdd7 100644 (file)
@@ -3,7 +3,7 @@
 {% load static from static %}
 {% load pipeline %}
 {% load piwik_tags %}
-{% load annoy_banner from annoy %}
+{% load annoy %}
 <html class="no-js {% if VARIANT %}{{ VARIANT }}{% endif %}">
   <head>
     <meta charset="utf-8">
@@ -15,7 +15,6 @@
     {% tracking_code %}
   </head>
   <body id="{% block body-id %}reader{% endblock %}">
-    {% annoy_banner 'blackout' %}
     {% annoy_banner 'top' %}
     <nav id="no-menu"><ul>
       <li><a href="#" id="menu-toggle-on"></a></li>
index 14f310d..c9e776c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from random import randint, random
 from urllib.parse import urlparse
index c15cba7..f5d98ca 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os.path import abspath, dirname, join
 import tempfile
index 5f9627f..f38aea8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.files.base import ContentFile
 from catalogue.test_utils import *
index 7952826..c2a5e0a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os.path import basename, exists
 from unittest import skip
index 9b2b011..db1f0d1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.files.base import ContentFile
 from catalogue.test_utils import BookInfoStub, PersonStub, info_args, WLTestCase
index 0853a42..0ca2ac0 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from unittest import skip
 
index a538976..891cab1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from catalogue import models
 from catalogue.templatetags import catalogue_tags
index 83d5e0b..bd3058f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from catalogue import models
 from catalogue.test_utils import BookInfoStub, PersonStub, WLTestCase, info_args
index aec44bc..e314f8c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 from modeltranslation.translator import translator, TranslationOptions
index 0a8df78..d02f4a4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path, re_path
 from django.db.models import Max
index ee3631c..267d6be 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import hashlib
 import os.path
index dac4e6f..af4d1e3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from collections import OrderedDict
 import random
@@ -546,6 +546,7 @@ def book_text(request, slug):
 
     return render(request, 'catalogue/book_text.html', {
         'book': book,
+        'extra_info': book.get_extra_info_json(),
         'book_text': book_text,
         'inserts': DynamicTextInsert.get_all(request)
     })
index 90b69ae..e603d72 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 from django import forms
index cf0cccc..c0dcf9c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index baeec06..86bd3fb 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index fd1c0bb..55c16fe 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 768e7ea..fc03c1b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.core.cache import cache
index b8e9f4f..6a891f9 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import template
 from django.core.cache import cache
index 64bba5d..108e8e4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 from modeltranslation.translator import translator, TranslationOptions
index a1abc7d..f02e356 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index 7b526fc..8e4380e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 from django.contrib import admin
index 0f507ef..721128a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.apps import AppConfig
 
index f6b3bf9..df92524 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from decimal import Decimal
 from django import forms
index 9bcf6df..728f64a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.utils.timezone import now
 from .models import Schedule
index b18ffad..52d528a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 7d15053..c80beb6 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index b18ffad..52d528a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 6c8674f..6803a6a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index b18ffad..52d528a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 23cfd1e..3592e1a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index b429b2b..073c4ea 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c3df268..53197ef 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index a216ac5..b9ef8ce 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 from django.core.management.base import BaseCommand
index 2705990..faa4518 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import timedelta
 import traceback
index 92b5dc2..402cd08 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import timedelta
 import traceback
index 1dbbcc1..5e549d4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.db import migrations, models
index 2e5ba7e..b734d3d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index 3adcf2a..93faf62 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations
 
index 6d40183..e1b619b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 19c5c7f..470e6a3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 817a9bf..b5784d3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations
 
index 97ead12..b85319e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index 1e8bc9f..c685b62 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index a823e64..0178ce0 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index ca5ee4d..bd414f1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
diff --git a/src/club/migrations/0045_alter_payuorder_pos_id.py b/src/club/migrations/0045_alter_payuorder_pos_id.py
new file mode 100644 (file)
index 0000000..024b1d4
--- /dev/null
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.8 on 2024-01-31 07:41
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('club', '0044_alter_ambassador_options_alter_club_options_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='payuorder',
+            name='pos_id',
+            field=models.CharField(blank=True, max_length=255, verbose_name='POS id'),
+        ),
+    ]
index b79a7a8..c09769a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import datetime, timedelta
 from decimal import Decimal
index 825210c..98c138d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from hashlib import sha256
 from django.conf import settings
index e5bfbdb..fd22dc5 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from .pos import POS
index bdcdf56..0d15414 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 
index bba3ea7..af38448 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 from urllib.parse import urlencode
@@ -25,7 +25,7 @@ class CardToken(models.Model):
 
 
 class Order(models.Model):
-    pos_id = models.CharField('POS id', max_length=255)   # TODO: redundant?
+    pos_id = models.CharField('POS id', max_length=255, blank=True)   # TODO: redundant?
     customer_ip = models.GenericIPAddressField('adres IP klienta')
     order_id = models.CharField('ID zamówienia', max_length=255, blank=True)
 
index db03d43..908d76d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import requests
 
index 64f2fe7..1580861 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.staticfiles.testing import StaticLiveServerTestCase
 from selenium.webdriver.firefox.webdriver import WebDriver
index 91e28cc..6074b3d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from hashlib import md5, sha256
 from django.conf import settings
index 646df6c..d5e5e93 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from rest_framework.permissions import BasePermission
 from .models import Membership
index 8d5ed33..3d99902 100644 (file)
@@ -30,8 +30,6 @@ Serdecznie dziękujemy za Twoje wsparcie!
 Paulina Choromańska i Jarosław Lipszyc
 w imieniu całego zespołu Wolnych Lektur
 
-PS W grudniu 2022 r. zmieniliśmy nazwę fundacji z „Nowoczesna Polska” na „Wolne Lektury”. Numer KRS pozostał bez zmian. W żaden sposób nie wpływa to na Twoje prawa. Możesz odliczyć całą kwotę darowizm niezależnie od nazwy na przelewie.
-
 
 Administratorem danych osobowych jest fundacja Wolne Lektury (ul. Marszałkowska 84/92 lok. 125, 00-514 Warszawa). Podanie danych osobowych jest dobrowolne. Dane są przetwarzane w zakresie niezbędnym do wysyłania informacji darczyńcom Wolnych Lektur. Osobom, których dane są zbierane, przysługuje prawo dostępu do treści swoich danych oraz ich poprawiania. Więcej informacji w polityce prywatności (https://fundacja.wolnelektury.pl/prywatnosc/).
 
index 92fb5ca..79dc144 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import timedelta
 from django.db.models import Sum
index cb8d02c..7da2014 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 from modeltranslation.translator import translator, TranslationOptions
index 9d7cd8a..0267580 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from django.views.generic import RedirectView
index 068c5c6..1ab1eae 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.contrib.auth.decorators import login_required, permission_required
index f737f03..4164af8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 from django.utils.html import conditional_escape
index 08f688f..00a8159 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index fd2a49e..d5e703b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 from django.forms.utils import flatatt
index 0cf2a23..2cef90b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.utils.translation import gettext_lazy as _
 
index d041682..da71a3b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index a650b5a..f055959 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index d041682..da71a3b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index f6f778b..9d8ea8d 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index d041682..da71a3b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index ed13ee1..16293ca 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 2fc9d71..29deb10 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index aeba2e7..db4002b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 58fb7aa..61fb008 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index d763e9a..0908bed 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index 77aea8a..9059be5 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index c0a1454..813d82c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index cadee0d..1068a96 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, transaction
 from celery import shared_task
index 7baa5da..e41d171 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import template
 from django.utils.http import urlencode
index 0b5924b..45ca0cc 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.files.base import ContentFile
 from catalogue.test_utils import *
index 3ab98fc..8f11ac8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from dictionary.views import NotesView
index 719568a..24aa5ca 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.views.generic.list import ListView
 from django.conf import settings
index c24cc51..4067c36 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index def5371..9b153f6 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c24cc51..4067c36 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 4105456..b37f89c 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c24cc51..4067c36 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 3a28138..dac4bd9 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index a806edd..78a98ef 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 42024e6..7b29608 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 0ba8a8d..86b73e2 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 1698963..824fedd 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 0ba8a8d..86b73e2 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index dad1690..dc841f5 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 0ba8a8d..86b73e2 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 2ddb233..326cfc1 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 3a06312..570fede 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index baa60bb..a9a018d 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 444b24d..814c964 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings as settings
 from catalogue.utils import AppSettings
index f4be465..7402c2a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 from modeltranslation.admin import TranslationAdmin
@@ -73,6 +73,7 @@ class SpentAdmin(admin.ModelAdmin):
     model = Spent
     list_display = ['book', 'amount', 'timestamp']
     search_fields = ['book__title']
+    autocomplete_fields = ['book']
 
 
 admin.site.register(Offer, OfferAdmin)
index 4368fd0..d910f57 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 from django.utils import formats
index 34eb5ac..3ad72fc 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
@@ -313,6 +313,7 @@ msgid ""
 msgstr ""
 
 #: funding/templates/funding/offer_detail.html:15
+#: funding/templates/funding/offer_list.html:7
 msgid "Zbiórki"
 msgstr ""
 
@@ -350,7 +351,7 @@ msgstr ""
 msgid "Wpłaty"
 msgstr ""
 
-#: funding/templates/funding/offer_list.html:15
+#: funding/templates/funding/offer_list.html:17
 msgid "filtry, tytuł"
 msgstr ""
 
index 955f34f..8afd7bd 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
@@ -353,6 +353,7 @@ msgstr ""
 "or try to use a different payment method."
 
 #: funding/templates/funding/offer_detail.html:15
+#: funding/templates/funding/offer_list.html:7
 msgid "Zbiórki"
 msgstr "Fundraisers"
 
@@ -390,7 +391,7 @@ msgstr ""
 msgid "Wpłaty"
 msgstr ""
 
-#: funding/templates/funding/offer_list.html:15
+#: funding/templates/funding/offer_list.html:17
 msgid "filtry, tytuł"
 msgstr "filters, title"
 
index 34eb5ac..3ad72fc 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
@@ -313,6 +313,7 @@ msgid ""
 msgstr ""
 
 #: funding/templates/funding/offer_detail.html:15
+#: funding/templates/funding/offer_list.html:7
 msgid "Zbiórki"
 msgstr ""
 
@@ -350,7 +351,7 @@ msgstr ""
 msgid "Wpłaty"
 msgstr ""
 
-#: funding/templates/funding/offer_list.html:15
+#: funding/templates/funding/offer_list.html:17
 msgid "filtry, tytuł"
 msgstr ""
 
index 8192b90..887a744 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
@@ -313,6 +313,7 @@ msgid ""
 msgstr ""
 
 #: funding/templates/funding/offer_detail.html:15
+#: funding/templates/funding/offer_list.html:7
 msgid "Zbiórki"
 msgstr ""
 
@@ -350,7 +351,7 @@ msgstr ""
 msgid "Wpłaty"
 msgstr ""
 
-#: funding/templates/funding/offer_list.html:15
+#: funding/templates/funding/offer_list.html:17
 msgid "filtry, tytuł"
 msgstr ""
 
index 34eb5ac..3ad72fc 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
@@ -313,6 +313,7 @@ msgid ""
 msgstr ""
 
 #: funding/templates/funding/offer_detail.html:15
+#: funding/templates/funding/offer_list.html:7
 msgid "Zbiórki"
 msgstr ""
 
@@ -350,7 +351,7 @@ msgstr ""
 msgid "Wpłaty"
 msgstr ""
 
-#: funding/templates/funding/offer_list.html:15
+#: funding/templates/funding/offer_list.html:17
 msgid "filtry, tytuł"
 msgstr ""
 
index c091a36..bbe19d8 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
@@ -315,6 +315,7 @@ msgid ""
 msgstr ""
 
 #: funding/templates/funding/offer_detail.html:15
+#: funding/templates/funding/offer_list.html:7
 msgid "Zbiórki"
 msgstr ""
 
@@ -352,7 +353,7 @@ msgstr ""
 msgid "Wpłaty"
 msgstr ""
 
-#: funding/templates/funding/offer_list.html:15
+#: funding/templates/funding/offer_list.html:17
 msgid "filtry, tytuł"
 msgstr ""
 
index 51b7f1d..af31968 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
@@ -355,6 +355,7 @@ msgid ""
 msgstr ""
 
 #: funding/templates/funding/offer_detail.html:15
+#: funding/templates/funding/offer_list.html:7
 msgid "Zbiórki"
 msgstr ""
 
@@ -392,7 +393,7 @@ msgstr ""
 msgid "Wpłaty"
 msgstr ""
 
-#: funding/templates/funding/offer_list.html:15
+#: funding/templates/funding/offer_list.html:17
 msgid "filtry, tytuł"
 msgstr ""
 
index f6b742a..8402ccf 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
@@ -316,6 +316,7 @@ msgid ""
 msgstr ""
 
 #: funding/templates/funding/offer_detail.html:15
+#: funding/templates/funding/offer_list.html:7
 msgid "Zbiórki"
 msgstr ""
 
@@ -353,7 +354,7 @@ msgstr ""
 msgid "Wpłaty"
 msgstr ""
 
-#: funding/templates/funding/offer_list.html:15
+#: funding/templates/funding/offer_list.html:17
 msgid "filtry, tytuł"
 msgstr ""
 
index 792c171..f475f99 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.management.base import BaseCommand
 
index 6b511da..98520ab 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index a85ea1b..824e46e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index b368eef..5b771ba 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 345c6f5..6fdfadf 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
diff --git a/src/funding/migrations/0011_alter_funding_customer_ip_alter_funding_notify_key_and_more.py b/src/funding/migrations/0011_alter_funding_customer_ip_alter_funding_notify_key_and_more.py
new file mode 100644 (file)
index 0000000..59825ee
--- /dev/null
@@ -0,0 +1,28 @@
+# Generated by Django 4.0.8 on 2024-01-31 07:41
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('funding', '0010_alter_funding_options_alter_offer_options_and_more'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='funding',
+            name='customer_ip',
+            field=models.GenericIPAddressField(blank=True, null=True, verbose_name='adres IP'),
+        ),
+        migrations.AlterField(
+            model_name='funding',
+            name='notify_key',
+            field=models.CharField(blank=True, max_length=32),
+        ),
+        migrations.AlterField(
+            model_name='funding',
+            name='pos_id',
+            field=models.CharField(blank=True, max_length=255, verbose_name='POS id'),
+        ),
+    ]
diff --git a/src/funding/migrations/0012_spent_annotation_spent_link_alter_spent_book.py b/src/funding/migrations/0012_spent_annotation_spent_link_alter_spent_book.py
new file mode 100644 (file)
index 0000000..4277fb7
--- /dev/null
@@ -0,0 +1,30 @@
+# Generated by Django 4.0.8 on 2024-02-21 11:52
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('catalogue', '0046_alter_book_options_alter_bookmedia_options_and_more'),
+        ('funding', '0011_alter_funding_customer_ip_alter_funding_notify_key_and_more'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='spent',
+            name='annotation',
+            field=models.CharField(blank=True, help_text="np. 'audiobook'", max_length=255, verbose_name='adnotacja'),
+        ),
+        migrations.AddField(
+            model_name='spent',
+            name='link',
+            field=models.URLField(blank=True, help_text='zamiast książki, np. kolekcja'),
+        ),
+        migrations.AlterField(
+            model_name='spent',
+            name='book',
+            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, to='catalogue.book'),
+        ),
+    ]
diff --git a/src/funding/migrations/0013_missing_spent.py b/src/funding/migrations/0013_missing_spent.py
new file mode 100644 (file)
index 0000000..d7da1bf
--- /dev/null
@@ -0,0 +1,41 @@
+# Generated by Django 4.0.8 on 2024-02-21 11:55
+
+from django.db import migrations, models
+
+
+def populate_spent(apps, schema_editor):
+    Offer = apps.get_model('funding', 'Offer')
+    Spent = apps.get_model('funding', 'Spent')
+    Book = apps.get_model('catalogue', 'Book')
+    for o in Offer.objects.all():
+        if Spent.objects.filter(book__slug=o.slug).exists():
+            continue
+        s = o.funding_set.exclude(completed_at=None).aggregate(s=models.Sum('amount'))['s'] or 0
+        if s >= o.target:
+            try:
+                book = Book.objects.get(slug=o.slug)
+                link = ''
+            except Book.DoesNotExist:
+                book = None
+                link = o.slug
+            Spent.objects.create(
+                book=book,
+                link=link,
+                amount=o.target,
+                timestamp=o.end,
+                annotation='auto'
+            )
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('funding', '0012_spent_annotation_spent_link_alter_spent_book'),
+    ]
+
+    operations = [
+        migrations.RunPython(
+            populate_spent,
+            migrations.RunPython.noop
+        )
+    ]
diff --git a/src/funding/migrations/0014_alter_spent_annotation_alter_spent_book_and_more.py b/src/funding/migrations/0014_alter_spent_annotation_alter_spent_book_and_more.py
new file mode 100644 (file)
index 0000000..0e6ea3b
--- /dev/null
@@ -0,0 +1,30 @@
+# Generated by Django 4.0.8 on 2024-04-10 10:54
+
+from django.db import migrations, models
+import django.db.models.deletion
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('catalogue', '0046_alter_book_options_alter_bookmedia_options_and_more'),
+        ('funding', '0013_missing_spent'),
+    ]
+
+    operations = [
+        migrations.AlterField(
+            model_name='spent',
+            name='annotation',
+            field=models.CharField(blank=True, help_text='Adnotacja pojawi się w nawiasie w rozliczeniu, by wyjaśnić sytuację w której do tej samej książki może być przypisany więcej niż jeden wydatek. Np. osobny wydatek na audiobook może mieć adnotację „audiobook”.', max_length=255, verbose_name='adnotacja'),
+        ),
+        migrations.AlterField(
+            model_name='spent',
+            name='book',
+            field=models.ForeignKey(blank=True, help_text='Książka, na którą zostały wydatkowane środki. Powinny tu być uwzględnione zarówno książki na które zbierano środki, jak i dodatkowe książki sfinansowane z nadwyżek ze zbiórek.', null=True, on_delete=django.db.models.deletion.PROTECT, to='catalogue.book', verbose_name='książka'),
+        ),
+        migrations.AlterField(
+            model_name='spent',
+            name='link',
+            field=models.URLField(blank=True, help_text='Jeśli wydatek nie dotyczy pojedynczej książki, to zamiast pola „Książka” powinien zostać uzupełniony link do sfinansowanego obiektu (np. kolekcji).'),
+        ),
+    ]
index f44e377..5afdc22 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date, datetime
 from urllib.parse import urlencode
@@ -262,7 +262,7 @@ class Funding(club.payu.models.Order):
 
     """
     offer = models.ForeignKey(Offer, models.PROTECT, verbose_name='zbiórka')
-    customer_ip = models.GenericIPAddressField('adres IP', null=True)
+    customer_ip = models.GenericIPAddressField('adres IP', null=True, blank=True)
     
     name = models.CharField('nazwa', max_length=127, blank=True)
     email = models.EmailField('e-mail', blank=True, db_index=True)
@@ -271,7 +271,7 @@ class Funding(club.payu.models.Order):
     perks = models.ManyToManyField(Perk, verbose_name='prezenty', blank=True)
     language_code = models.CharField(max_length=2, null=True, blank=True)
     notifications = models.BooleanField('powiadomienia', default=True, db_index=True)
-    notify_key = models.CharField(max_length=32)
+    notify_key = models.CharField(max_length=32, blank=True)
 
     class Meta:
         verbose_name = 'wpłata'
@@ -372,9 +372,25 @@ class PayUNotification(club.payu.models.Notification):
 
 class Spent(models.Model):
     """ Some of the remaining money spent on a book. """
-    book = models.ForeignKey(Book, models.PROTECT)
+    book = models.ForeignKey(
+        Book, models.PROTECT, null=True, blank=True,
+        verbose_name='książka',
+        help_text='Książka, na którą zostały wydatkowane środki. '
+        'Powinny tu być uwzględnione zarówno książki na które zbierano środki, jak i dodatkowe książki '
+        'sfinansowane z nadwyżek ze zbiórek.'
+    )
+    link = models.URLField(
+        blank=True,
+        help_text="Jeśli wydatek nie dotyczy pojedynczej książki, to zamiast pola „Książka” "
+        "powinien zostać uzupełniony link do sfinansowanego obiektu (np. kolekcji)."
+    )
     amount = models.DecimalField('kwota', decimal_places=2, max_digits=10)
     timestamp = models.DateField('kiedy')
+    annotation = models.CharField(
+        'adnotacja', max_length=255, blank=True,
+        help_text="Adnotacja pojawi się w nawiasie w rozliczeniu, by wyjaśnić sytuację w której "
+        "do tej samej książki może być przypisany więcej niż jeden wydatek. "
+        "Np. osobny wydatek na audiobook może mieć adnotację „audiobook”.")
 
     class Meta:
         verbose_name = 'pieniądze wydane na książkę'
@@ -382,5 +398,5 @@ class Spent(models.Model):
         ordering = ['-timestamp']
 
     def __str__(self):
-        return "Spent: %s" % str(self.book)
+        return "Wydane na: %s" % str(self.book or self.link)
 
index 147e8d6..af28ec9 100644 (file)
@@ -1,9 +1,11 @@
 {% extends 'base.html' %}
+{% load i18n %}
 
 
 {% block settings %}
   {% load title %}
-  {% title 'Zbiórki' %}
+  {% trans 'Zbiórki' as title %}
+  {% title title %}
 {% endblock %}
 
 
index 5a1ba61..bff1092 100644 (file)
@@ -26,7 +26,8 @@
     <tr>
       <td>{% trans "Data" %}:</td>
       <td>{% trans "Rozdysponowanie środków" %}:</td>
-      <td>{% trans "Kwota" %}:</td>
+      <td>{% trans "Zebrane" %}:</td>
+      <td>{% trans "Wydane" %}:</td>
       <td>{% trans "Bilans" %}:</td>
     </tr>
 
         <tr class="funding-minus">
           <td class="oneline">{{ entry.timestamp }}</td>
           <td>
-            {% trans "Pieniądze przeznaczone na opublikowanie książki" %}:
-            <a href="{{ entry.book.get_absolute_url }}">{{ entry.book }}</a>
+            {% trans "Pieniądze przeznaczone na publikację" %}:
+            {% if entry.book %}
+              <a href="{{ entry.book.get_absolute_url }}">{{ entry.book }}</a>
+              {% if entry.annotation %}
+                ({{ entry.annotation }})
+              {% endif %}
+            {% else %}
+              <a href="{{ entry.link }}">{{ entry.annotation }}</a>
+            {% endif %}
           </td>
-          <td>-{{ entry.amount }}&nbsp;zł</td>
+          <td></td>
+          <td>{{ entry.amount }}&nbsp;zł</td>
           <td>{{ entry.total }}&nbsp;zł</td>
         </tr>
       {% else %}
         <tr class="funding-plus">
           <td class="oneline">{{ entry.end }}</td>
           <td>
-            {% trans "Pieniądze pozostałe ze zbiórki na" %}:
+            {% trans "Zbiórka" %}:
             <a href="{{ entry.get_absolute_url }}">{{ entry }}</a>
           </td>
-          <td>+{{ entry.wlfund }}&nbsp;zł</td>
+          <td>{{ entry.wlfund }}&nbsp;zł</td>
+          <td></td>
           <td>{{ entry.total }}&nbsp;zł</td>
         </tr>
       {% endif %}
index bfd0e54..9823dc4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import template
 from django.template.loader import render_to_string
index d062809..02ee063 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date, timedelta
 from django.test import TestCase
index f8d6c0f..44755fa 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 from modeltranslation.translator import translator, TranslationOptions
index 9f78829..c54f600 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path, include
 from annoy.utils import banner_exempt
index afebd8a..1aef6c6 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import re
 import string
index 315c3da..5be8c4b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.http import Http404, HttpResponseRedirect
 from django.shortcuts import get_object_or_404, redirect, render
@@ -51,20 +51,15 @@ class WLFundView(TemplateView):
         offers = []
 
         for o in Offer.past():
-            if o.is_win():
-                o.wlfund = o.sum() - o.target
-                if o.wlfund > 0:
-                    offers.append(o)
-            else:
-                o.wlfund = o.sum()
-                if o.wlfund > 0:
-                    offers.append(o)
+            o.wlfund = o.sum()
+            if o.wlfund > 0:
+                offers.append(o)
         amount = sum(o.wlfund for o in offers) - sum(o.amount for o in Spent.objects.all())
 
         ctx['amount'] = amount
         ctx['log'] = add_total(amount, mix(
-            (offers, lambda x: x.end, 'offer'),
             (Spent.objects.all().select_related(), lambda x: x.timestamp, 'spent'),
+            (offers, lambda x: x.end, 'offer'),
         ))
         return ctx
 
index 3eacb13..e73a9ed 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from decimal import Decimal, DecimalException
 from django import forms
index d9f0748..e681445 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 
@@ -8,6 +8,6 @@ from infopages.models import InfoPage
 
 
 class InfoPageAdmin(TranslationAdmin):
-    list_display = ('title', 'slug')
+    list_display = ('title', 'slug', 'published', 'findable')
 
 admin.site.register(InfoPage, InfoPageAdmin)
index f9978c7..e3045fd 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index 530f2bb..ab4d025 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
diff --git a/src/infopages/migrations/0005_infopage_findable_infopage_published.py b/src/infopages/migrations/0005_infopage_findable_infopage_published.py
new file mode 100644 (file)
index 0000000..8e1e47a
--- /dev/null
@@ -0,0 +1,25 @@
+# Generated by Django 4.0.8 on 2024-03-12 08:50
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('infopages', '0004_alter_infopage_options_alter_infopage_left_column_and_more'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='infopage',
+            name='findable',
+            field=models.BooleanField(default=True, verbose_name='wyszukiwalna'),
+            preserve_default=False,
+        ),
+        migrations.AddField(
+            model_name='infopage',
+            name='published',
+            field=models.BooleanField(default=True, help_text='Nieopublikowane strony są widoczne tylko dla administratorów.', verbose_name='opublikowana'),
+            preserve_default=False,
+        ),
+    ]
index ae7b5e3..d273b54 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models
 from django.urls import reverse
@@ -10,6 +10,11 @@ class InfoPage(models.Model):
 
     slug = models.SlugField('slug', max_length=120, unique=True, db_index=True)
     title = models.CharField('tytuł', max_length=120, blank=True)
+    published = models.BooleanField(
+        'opublikowana',
+        help_text='Nieopublikowane strony są widoczne tylko dla administratorów.'
+    )
+    findable = models.BooleanField('wyszukiwalna')
     left_column = models.TextField('lewa kolumna', blank=True)
     right_column = models.TextField('prawa kolumna', blank=True)
 
index 5c6da35..7bd5faa 100644 (file)
@@ -7,17 +7,24 @@
 
 
 {% block main %}
-    <div class="l-article__title">
-      <h1>{{ page.title }}</h1>
+  {% if not page.published %}
+    <div class="l-container">
+      <strong>(Strona nie opublikowana, podgląd tylko dla zespołu.)</strong>
     </div>
-    <article class="l-article">
-      <div class="l-article__cols">
-        <div class="left-column">
-          {{ left_column }}
-        </div>
-        <div class="right-column">
-          {{ right_column }}
-        </div>
+
+  {% endif %}
+
+  <div class="l-article__title">
+    <h1>{{ page.title }}</h1>
+  </div>
+  <article class="l-article">
+    <div class="l-article__cols">
+      <div class="left-column">
+        {{ left_column }}
       </div>
-    </article>
+      <div class="right-column">
+        {{ right_column }}
+      </div>
+    </div>
+  </article>
 {% endblock %}
index cf5caf4..90ebbaa 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 from modeltranslation.translator import translator, TranslationOptions
index c48ad27..230de17 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from annoy.utils import banner_exempt
index 5bc7b4b..3d1749f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.shortcuts import render, get_object_or_404
 from django.template import RequestContext, Template, TemplateSyntaxError
@@ -8,7 +8,10 @@ from infopages.models import InfoPage
 
 
 def infopage(request, slug):
-    page = get_object_or_404(InfoPage, slug=slug)
+    if request.user.is_staff:
+        page = get_object_or_404(InfoPage, slug=slug)
+    else:
+        page = get_object_or_404(InfoPage, slug=slug, published=True)
 
     rc = RequestContext(request)
     try:
index 0622ce1..4bca010 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date
 import json
index af64e35..d48d3ea 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import csv
 import sys
index 73cb8db..f66415f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 from django.core.management.base import BaseCommand
index 1a1fe9e..31fb3f5 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date
 from lxml import etree
index f55eef0..2a66bc1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index 45a40c9..b34ff88 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 59a70eb..f3255f3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 8193d22..10f0fe6 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 3f94556..0a2b53c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index b5e5de3..01dae6e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models
 from django.db.models import F
index 893831e..cd84b67 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index 3e29e86..cd5ff3d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from librarian import RDFNS, DCNS
 
index 09c3466..544d20c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.auth.decorators import permission_required
 from django.http.response import HttpResponseRedirect
index d38129a..c83b6ad 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 # Leśmianator do działania wymaga pliku dictionary.p w katalogu aplikacji
index 7d9558d..7b7a5af 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import re
 from pickle import dump
index d490d6e..fb998b1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index d855ff6..37018e7 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 45eb6de..9859952 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.db import migrations, models
index 0845312..fbcee04 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from functools import reduce
 import pickle
index dbee5f8..d813881 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index e179c14..938ba4c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 from django.shortcuts import render, get_object_or_404
index 6644dd6..15aeb4d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.\r
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.\r
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.\r
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.\r
 #\r
 from django.contrib import admin\r
 \r
index 9e8e87a..c51c10e 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 0cae1f5..62d2a9a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 9e8e87a..c51c10e 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index e38874c..ab8230d 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 9e8e87a..c51c10e 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 078c004..e68fede 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c428c9e..f16b522 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 71d4ccc..25ef120 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c12ad3c..7b2a0b5 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index a0b7c53..3638d4f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index cc9e0b4..07a7500 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.\r
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.\r
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.\r
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.\r
 #\r
 from django.db import models\r
 from django.urls import reverse\r
index 9753b77..49d48e8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index 1d15797..f4c0a93 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.shortcuts import render, get_object_or_404
 from libraries.models import Catalog, Library
index fd2fbfb..19c266b 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import os
 import sys
index 2e50ae4..2dc1f5b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 48be504..a7b006c 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 2e50ae4..2dc1f5b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 35f8efd..ab80f43 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 2e50ae4..2dc1f5b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index ef59751..0e8fb4f 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 92a8019..10265f2 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 6b7a920..0a25539 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 7af7e0d..5a1d4c8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from django.contrib import admin
index f508ab5..4f4ced3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.core.exceptions import ValidationError
 from django.core.validators import validate_email
index d253b2c..ff01c71 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 3ac0fb6..299354a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index d253b2c..ff01c71 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index bd09c13..718df47 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index d253b2c..ff01c71 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 70982b1..eec3765 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 48decb9..6c4abca 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 015dc59..c839d67 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 0826679..7b9866d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index f3b7c76..8e3badb 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 5a0aae8..a437ff4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import hashlib
 
index 6d84e3a..dc3445f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import requests
 from django.conf import settings
index 4e4d5d4..f6f988a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 from modeltranslation.translator import translator, TranslationOptions
index 2b0a6f1..2d52056 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from django.views.generic import RedirectView
index f826d0d..71e0e3d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.http.response import HttpResponseRedirect
 from django.shortcuts import render, get_object_or_404
index b9a7543..4cc7b4f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 """
 Custom managers for Django models registered with the tagging
index 84149cc..97dda8e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 """
 Models and managers for generic tagging.
index d90a560..c670449 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import datetime
 from lxml import etree
index 214a1c6..35bc4b4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from catalogue.test_utils import WLTestCase
 from catalogue import models
index 85c31af..76a8746 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index 25455fb..605bbcf 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from oai.handlers import Catalogue, NS_DCTERMS, nsdcterms
 from oaipmh.server import ServerBase, NS_OAIDC, NS_DC, NS_XSI, nsoaidc, nsdc
index e86b865..6c973eb 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from lxml import etree
 from django.conf import settings
index 1d68199..55e1319 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from opds.views import RootFeed, ByCategoryFeed, ByTagFeed, UserFeed, UserSetFeed, SearchFeed
index 63c79a2..38f34ef 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from functools import reduce
 import os.path
@@ -8,7 +8,7 @@ from urllib.parse import urljoin
 from django.contrib.syndication.views import Feed
 from django.shortcuts import get_object_or_404
 from django.urls import reverse
-from django.utils.feedgenerator import Atom1Feed
+from django.utils.feedgenerator import Atom1Feed, Enclosure
 from django.conf import settings
 from django.http import Http404
 from django.contrib.sites.models import Site
@@ -145,23 +145,32 @@ class OPDSFeed(Atom1Feed):
 
         # Enclosure as OPDS Acquisition Link
         for enc in item.get('enclosures', []):
-            handler.addQuickElement(
-                "link", '',
+            handler.startElement(
+                "link",
                 {
                     "rel": "http://opds-spec.org/acquisition",
                     "href": enc.url,
-                    "length": enc.length,
+                    "length": str(enc.length),
                     "type": enc.mime_type,
                 })
-            # add a "red book" icon
-            handler.addQuickElement(
-                "link", '',
-                {
-                    "rel": "http://opds-spec.org/thumbnail",
-                    "href": self._book_img,
-                    "length": self._book_img_size,
-                    "type": "image/png",
+            if hasattr(enc, 'indirect'):
+                NS = 'http://opds-spec.org/2010/catalog'
+                handler.startPrefixMapping('opds', NS)
+                handler.startElementNS((NS, 'indirectAcquisition'), 'opds:indirectAcquisition', {
+                    (None, 'type'): enc.indirect,
                 })
+                handler.endElementNS((NS, 'indirectAcquisition'), 'opds:indirectAcquisition')
+                handler.endPrefixMapping('opds')
+            handler.endElement('link')
+        # add a "red book" icon
+        handler.addQuickElement(
+            "link", '',
+            {
+                "rel": "http://opds-spec.org/thumbnail",
+                "href": self._book_img,
+                "length": self._book_img_size,
+                "type": "image/png",
+            })
 
         # Categories.
         for cat in item['categories']:
@@ -175,7 +184,6 @@ class OPDSFeed(Atom1Feed):
 class AcquisitionFeed(Feed):
     feed_type = OPDSFeed
     link = 'http://www.wolnelektury.pl/'
-    item_enclosure_mime_type = "application/epub+zip"
     author_name = "Wolne Lektury"
     author_link = "http://www.wolnelektury.pl/"
 
@@ -200,11 +208,23 @@ class AcquisitionFeed(Feed):
         except AttributeError:
             return ''
 
-    def item_enclosure_url(self, book):
-        return full_url(book.epub_url()) if book.epub_file else None
-
-    def item_enclosure_length(self, book):
-        return book.epub_file.size if book.epub_file else None
+    def item_enclosures(self, book):
+        enc = []
+        if book.epub_file:
+            enc.append(Enclosure(
+                url=full_url(book.epub_url()),
+                length=book.epub_file.size,
+                mime_type="application/epub+zip"
+            ))
+        if book.has_mp3_file():
+            e = Enclosure(
+                url=full_url(reverse('download_zip_mp3', args=[book.slug])),
+                length=sum(bm.file.size for bm in book.get_media('mp3')),
+                mime_type="application/zip"
+            )
+            e.indirect = 'audio/mpeg'
+            enc.append(e)
+        return enc
 
 
 @piwik_track
@@ -277,7 +297,9 @@ class ByTagFeed(AcquisitionFeed):
         return get_object_or_404(Tag, category=category, slug=slug)
 
     def items(self, tag):
-        return Book.tagged_top_level([tag])
+        qs = Book.tagged_top_level([tag])
+        qs = qs.filter(preview=False, findable=True)
+        return qs
 
 
 @factory_decorator(logged_in_or_basicauth())
@@ -404,7 +426,7 @@ class SearchFeed(AcquisitionFeed):
             # query is set above.
             log.debug("Inline query = [%s], criteria: %s" % (query, criteria))
 
-        books = Book.objects.filter(findable=True).annotate(
+        books = Book.objects.filter(findable=True, preview=False).annotate(
             search_vector=UnaccentSearchVector('title')
         )
         if query:
index afa2c6e..39f0031 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index afa2c6e..39f0031 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index afa2c6e..39f0031 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 04782ea..04a70a2 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index afa2c6e..39f0031 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 8462672..8590927 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index e5dc418..d73b99f 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index ff922f7..65f324b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 7850800..1511ca3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index 83c0fc0..242a6a5 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 1e7b2f8..77ff520 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.db import migrations, models
index 3baf99e..6d45bcd 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 # from django.contrib.auth import get_user_model
 from django.contrib.auth.models import User
index e70c67b..f1546b4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date, datetime, timedelta
 from decimal import Decimal
index 0d6aaae..d62e65a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.auth.models import User
 from unittest import skip
index cc4523f..4bd64e2 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from django.views.generic import RedirectView
index 7d7eea5..444475f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from decimal import Decimal
 
index 5f1e77a..dcf19fe 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 
index b75fef5..77d4904 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 8e67f8a..f459ef8 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 004a7ff..afe5aec 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 7033512..020e4dc 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 24c220f..bc0b828 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index e7d65b8..aaf4101 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c872080..26ce540 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 163d480..02459cb 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index f6d5ed1..d3095c6 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index e02d5ce..a88c51d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index e510391..622dc46 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.apps import apps
 from django.conf import settings
index 4597f04..6ec0b80 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import datetime
 from django.conf import settings
index ca61f16..fe14e4e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import datetime
 from django.shortcuts import render, get_object_or_404
index 1020f49..6740f25 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 from picture.models import Picture
index 95fd103..6358128 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index 4ca98b9..3d97656 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 from django.http import Http404
index dea5d64..6041eb2 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 from picture.models import Picture
index 6a18656..ca6f223 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 947f092..3b80705 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 6a18656..ca6f223 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index f91c645..d3d970c 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 6a18656..ca6f223 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index d9e1847..886567c 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index ad7ff6e..2b8dd9e 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index cd42e71..35524ab 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 08f66d6..ea50d1e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os.path import join
 from django.conf import settings
index d19e2c2..67b341c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index 6c71425..8c76a1c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index 432702f..942040f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index 2d8f7b1..712c0e6 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 from django.core.files.base import ContentFile
index ccead19..1359c56 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 90e943b..5d86076 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os.path import join
 import sorl.thumbnail.fields
index 6d2c093..2e1a354 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 5b523d2..dec9960 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, transaction
 import catalogue.models
index 86b9829..b44c96e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 from celery import shared_task
index 28660b1..f6ba500 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import logging
 from random import randint
index 8ff1251..04f4870 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os import path
 from picture.models import Picture
index 80c83a8..72d1e37 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from collections import Counter
 from django.conf import settings
index 6941694..0ca731c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 
index ac97354..eed8385 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 
index e6ec269..d577967 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index a42b304..8a6c52b 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index e6ec269..d577967 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 34eb1d8..52904d3 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index e6ec269..d577967 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index bd36458..02bbc62 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index f9aaea0..d3ef8a0 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 47f330f..435d1b7 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 58b9d8d..f250538 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index 5edd0ff..deda78b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 2b119e2..1eb18d9 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models
 from django.core.exceptions import ValidationError
index e6e3f8a..541fd37 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import template
 from ..forms import PollForm
index f2d3a02..89ce82b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index 22d35b5..7a4e1e9 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.shortcuts import get_object_or_404, redirect, render
 from django.urls import reverse
index 1843dbb..ef8fb7e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 
index afe12d1..4d8410c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 from django.contrib.sites.models import Site
index cbe1c26..7ae4cc0 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 592da39..8fa1c42 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 7a6abd0..9251058 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 59de916..461845e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models
 
index a92a55f..1f6d3a3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from push import views
index eb11984..44acb06 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import firebase_admin
 from firebase_admin import credentials, messaging
index 9de754e..9541660 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib.auth.decorators import permission_required
 from django.http.response import HttpResponseRedirect
index daacdce..1bbb1da 100644 (file)
@@ -117,6 +117,7 @@ class DirectDebitAdmin(admin.ModelAdmin):
     fieldsets = [
         (None, {
             "fields": [
+                'nosignature',
                 ('first_name', 'sex', 'date_of_birth'),
                 'last_name',
                 ('street', 'building'),
index 9749264..99f7d85 100644 (file)
@@ -29,6 +29,7 @@ def bank_export(modeladmin, request, queryset):
 def parse_payment_feedback(f):
     lines = csv.reader(StringIO(f.read().decode('cp1250')))
     for line in lines:
+        if not line: continue
         print(line)
         assert line[0] in ('1', '2')
         if line[0] == '1':
@@ -49,6 +50,7 @@ def parse_export_feedback(f):
     # The AU file.
     lines = csv.reader(StringIO(f.read().decode('cp1250')))
     for line in lines:
+        if not line: continue
         payment_id = line[0]
         status = int(line[8])
         comment = line[9]
diff --git a/src/pz/migrations/0014_directdebit_nosignature.py b/src/pz/migrations/0014_directdebit_nosignature.py
new file mode 100644 (file)
index 0000000..6f6c699
--- /dev/null
@@ -0,0 +1,18 @@
+# Generated by Django 4.0.8 on 2024-02-05 12:56
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('pz', '0013_alter_campaign_options_alter_directdebit_options_and_more'),
+    ]
+
+    operations = [
+        migrations.AddField(
+            model_name='directdebit',
+            name='nosignature',
+            field=models.BooleanField(default=False, verbose_name='Bez podpisu'),
+        ),
+    ]
index 6bf77ad..05dead2 100644 (file)
@@ -78,6 +78,8 @@ class DirectDebit(models.Model):
     campaign = models.ForeignKey(Campaign, models.PROTECT, null=True, blank=True, verbose_name='kampania')
 
     latest_status = models.CharField(max_length=255, blank=True)
+
+    nosignature = models.BooleanField('Bez podpisu', default=False)
     
     class Meta:
         verbose_name = 'polecenie zapłaty'
index 3b266a1..c067f49 100644 (file)
@@ -15,7 +15,7 @@
   <link rel="stylesheet" type="text/css" media="all" href="{% static 'contrib/leaflet.markercluster-1.4.1/MarkerCluster.css' %}">
   <link rel="stylesheet" type="text/css" media="all" href="{% static 'contrib/leaflet.markercluster-1.4.1/MarkerCluster.Default.css' %}">
   <meta property="og:type" content="website">
-  <meta property="og:title" content="Wakacje z Wolnymi Lekturami">
+  <meta property="og:title" content="Mapa Wolnych Lektur">
   <meta property="og:image" content="{% static 'references/preview.png' %}">
   <meta property="og:image:alt" content="Mapa miejsc w książkach na Wolnych Lekturach">
   <meta property="og:image:width" content="1200">
index 3c12c8f..7e0e357 100644 (file)
@@ -8,7 +8,7 @@ from . import models
 
 def pin_map(request):
     return render(request, 'references/map.html', {
-        'title': 'Wakacje',
+        'title': 'Mapa Wolnych Lektur',
         'entities': models.Entity.objects.exclude(lat=None).exclude(lon=None),
         'funding_no_show_current': True,
     })
index df7df2e..596adef 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 
index c804184..bca84f1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from functools import wraps
 from django import template
index a9ae44a..1177517 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index 797542a..ec4ff79 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from errno import ENOENT
 import os
index 74e24eb..fca4534 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import os.path
 from datetime import date
index 48b25c6..1666a67 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.forms.widgets import RadioSelect
 
index dc56f59..a4587d7 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.apps import apps
 from django.conf import settings
index fc9e9d5..e0a727c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import re
 from librarian.parser import WLDocument
index 0cfc49a..32e728d 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 0cfc49a..32e728d 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 0cfc49a..32e728d 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 643f54a..5323c93 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 0cfc49a..32e728d 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index fea1f9c..8f5d1f3 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 6f01a9c..00acf5f 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index fe84f98..b5acffb 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 6cf7afe..1d5bccb 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from search.tests.index import *
index d63bafb..f546374 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.test.utils import override_settings
index 1e66d33..563c2b8 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from . import views
index d6edd51..dc7559f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.shortcuts import render
@@ -116,6 +116,8 @@ def hint(request, mozhint=False, param='term'):
         ])
     if len(data) < limit:
         infos = infopages.models.InfoPage.objects.filter(
+            published=True,
+            findable=True,
             title_pl__iregex='\m' + prefix).only('title', 'id', 'slug')
         data.extend([
             {
index 708d80b..ac5fbd2 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 from django.forms import ModelForm
index 2b20ab8..43036f6 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from stats.utils import piwik_track_view
index ff6a08f..c5506ce 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.http import Http404
 from rest_framework.generics import ListAPIView, get_object_or_404
index ad716a3..f82e27c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 
index 75e4589..c8a9852 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 75e4589..c8a9852 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 75e4589..c8a9852 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 9fe4f95..ff8a344 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 75e4589..c8a9852 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 7e34af3..e095d0c 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index d7ff9c6..caa6f28 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 2f16e75..5d0a4c5 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index a0e3bae..33fe949 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index eac8e6a..4e3c4c3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 76f00bd..5884866 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 2ff02d2..46487a7 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index a4167e1..4d53d6c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index cc7d8d1..bc4a510 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations
 
index 973294e..836b8f9 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 import django.db.models.deletion
index ea7fefa..911a60d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations
 
index ebc2ccd..9fa18fe 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 2d1f525..29ced90 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 05cf722..cb1326b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from random import randint
 from django.db import models
index 7e61b90..a4b0f3e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import re
 from django import template
index 543bbf3..299f620 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from django.views.decorators.cache import never_cache
index 67bc867..6ab303a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from collections import defaultdict
 from random import randint
index d3f9381..989771a 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.shortcuts import render, get_object_or_404, redirect
 from django.http import HttpResponseForbidden, JsonResponse
index 0278601..b0e81bb 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import re
 from fnpdjango.utils.text import char_map
index c583e6e..66dbbe4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 __author__ = 'Marek Stępniowski, <marek@stepniowski.com>'
 __version__ = '0.1'
index df11973..40e1415 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 from django.db.models import TextField
index 4f5e468..a16f4a9 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index f0cf696..bc48795 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 856ed9a..2fb4d89 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import json
 import time
index fb586d0..a2c7c67 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import template
 from django.core.cache import cache
index 01c139d..de415d0 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django import forms
index b62f3e9..06e730c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from celery import shared_task
 from django.conf import settings
index d21eb3c..109e2bb 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from datetime import datetime
index 7c7159d..0d9557e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.contrib import admin
 
index 6b90061..0912227 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django import forms
 from django.contrib.sites.models import Site
index 9ff4f73..9ca9a20 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 1264cf8..a49717f 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 7dd3d1a..b4bfecd 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 6f0ad2b..e7854ec 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 59f8f76..c74d408 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index fb8c636..89d51ff 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 4d4a511..67d0411 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c4be9c7..4a277e3 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index e61375a..64f7abe 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 import django.db.models.deletion
index c8eece6..51016d5 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import migrations, models
 
index 505c4b0..49326b6 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.db import migrations, models
index 6d73ad9..254229e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import re
 from datetime import timedelta
index 7f15ac5..6d98c8f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from suggest import views
index e006157..58a5244 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import reverse_lazy
 from django.utils.translation import gettext_lazy as _
index 6209782..76615c9 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 """
 Celery waiter.
index c53d5d9..0f9cd68 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index b2bf0db..62447cd 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c53d5d9..0f9cd68 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 3b3551f..3b65ba2 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index c53d5d9..0f9cd68 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index cb23478..cf9798a 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 03a86bb..9f773f8 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 9b0a9bf..6f1bdb6 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 64d369d..7db9632 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.db import models, migrations
 
index 45ff80e..8ed61dc 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os.path import join, isfile
 from django.urls import reverse
index c5cb328..e1a34b4 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os.path import abspath, join
 from django.conf import settings
index 0961b38..6d75f9e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from celery.signals import task_postrun
 from waiter.models import WaitedFile
index 1c8b17f..ae21275 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.urls import path
 from waiter import views
index a08ee15..5d47856 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os.path import abspath, join, exists
 from shutil import rmtree
index 120e32e..de9dfea 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os.path import join
 from waiter.models import WaitedFile
index 62cefd3..309dfe6 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from .celery import app as celery_app
index d1535d3..e19751e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.apps import AppConfig
 
index 1aa0b2e..ced325b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import os
 from celery import Celery
index 8f763c9..badd662 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 
index 0fedd4a..7836177 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from allauth.socialaccount.forms import SignupForm
 from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
index 07c2736..38e6f66 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index f143d45..45d55e4 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 7118a5b..7ca6faf 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index f1d0ea1..ea152ca 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index e93ea4b..4ce48a0 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 348ad46..cf5ffe1 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 032af39..e48ec94 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index beba2e3..5989638 100644 (file)
@@ -1,4 +1,4 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
 # Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 msgid ""
 msgstr ""
index 72c2978..5b1a37b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from allauth.socialaccount.models import SocialAccount
 from django.core.management.base import BaseCommand
index 9f2b424..e4996cc 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import os
 import shutil
index 283470b..8ab58d3 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import os
 import time
index a40e73f..e338f3e 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import cProfile
 import functools
index f772d3d..8d5b33b 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 # Django settings for wolnelektury project.
 import sentry_sdk
index cac86d8..769565d 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 
 INSTALLED_APPS_OUR = [
index b150b99..372490f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 AUTHENTICATION_BACKENDS = [
     'django.contrib.auth.backends.ModelBackend',
index 95d2b1a..aa50736 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os import path
 from .paths import PROJECT_DIR
index a570b68..3789863 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 CELERY_TASK_EAGER_PROPAGATES = True
 CELERY_SEND_TASK_ERROR_EMAILS = True
index 3a58ae7..d03479f 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 HONEYPOT_FIELD_NAME = 'miut'
 PAGINATION_INVALID_PAGE_RAISES_404 = True
index 51a5613..a9ae731 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date
 import os
index 927611e..65b8200 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os import path
 from .paths import PROJECT_DIR
index 1a167b9..790a8fc 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os import path
 
index 09e6111..b3edb72 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from os import path
 from .paths import VAR_DIR
@@ -29,17 +29,21 @@ PIPELINE = {
                 '2022/styles/main.scss',
                 '2022/more.scss',
                 'chunks/edit.scss',
+
+                'scss/text.scss',
             ],
             'output_filename': 'css/compressed/main.css',
         },
         'book_text': {
             'source_filenames': [
                 'css/import/gelasio.css',
+
                 'scss/book_text.scss',
                 'css/new.book.css',
-                'annoy/banner.scss',
-                'annoy/book_text.scss',
-                '2022/styles/reader_player.scss',
+
+                'annoy/banner.scss',  # ?
+                'annoy/book_text.scss',  # ?
+                '2022/styles/reader_player.scss',  # ?
 
                 'css/master.picture.css',
             ],
@@ -65,6 +69,14 @@ PIPELINE = {
 
                 'js/contrib/jquery.cycle2.min.js',
                 'sponsors/js/sponsors.js',
+                'annoy/banner.js',
+                'js/book_text/info.js',
+                'js/book_text/menu.js',
+                'js/book_text/note.js',
+                'js/book_text/references.js',
+                'js/book_text/settings.js',
+                'js/book_text/toc.js',
+                'js/book_text/progress.js',
 
                 'js/contrib/jquery.countdown.js', 'js/contrib/jquery.countdown-pl.js',
                 'js/contrib/jquery.countdown-de.js', 'js/contrib/jquery.countdown-uk.js',
index 0e10be9..f5d70b2 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from wolnelektury.settings import *
 
index c698c54..dc212d9 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.core.cache import caches
diff --git a/src/wolnelektury/static/2022/images/about.svg b/src/wolnelektury/static/2022/images/about.svg
new file mode 100644 (file)
index 0000000..16f2e39
--- /dev/null
@@ -0,0 +1,4 @@
+<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M15.5391 14.4615C15.5391 11.2308 18.3758 8 22.0006 8C25.6254 8 28.4621 10.8654 28.4621 14.4615C28.4621 19.8462 22.0006 19.8462 22.0006 26.3077" stroke="#007880" stroke-width="3" stroke-linecap="round"/>
+<circle cx="21.9995" cy="33.8462" r="2.15385" fill="#007880"/>
+</svg>
diff --git a/src/wolnelektury/static/2022/images/pin.svg b/src/wolnelektury/static/2022/images/pin.svg
new file mode 100644 (file)
index 0000000..664080b
--- /dev/null
@@ -0,0 +1,6 @@
+<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="7" cy="7" r="7" fill="#1D97FF"/>
+<circle cx="1" cy="1" r="1" transform="matrix(1 0 0 -1 6 5)" fill="white"/>
+<rect width="2" height="5" rx="1" transform="matrix(1 0 0 -1 6 11)" fill="white"/>
+<path d="M0 14V7L4 12L0 14Z" fill="#1D97FF"/>
+</svg>
diff --git a/src/wolnelektury/static/2022/images/settings.svg b/src/wolnelektury/static/2022/images/settings.svg
new file mode 100644 (file)
index 0000000..32101cb
--- /dev/null
@@ -0,0 +1,3 @@
+<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M36.5042 24.9781C36.8253 24.041 37 23.0357 37 21.9899C37 20.944 36.8253 19.9387 36.5042 19.0016L33.0635 18.3207C32.8839 17.7822 32.6659 17.2612 32.4131 16.7607L34.362 13.8501C33.9265 12.9602 33.3391 12.1261 32.5995 11.3865C31.86 10.6469 31.0258 10.0595 30.1359 9.62404L27.2165 11.5787C26.7166 11.3281 26.1964 11.112 25.6587 10.9343L24.9783 7.49607C24.041 7.17468 23.036 7 21.9899 7C20.9437 7 19.9387 7.17468 19.0016 7.4958L18.3213 10.934C17.7805 11.1128 17.2573 11.3303 16.7547 11.5828L13.8501 9.63803C12.9602 10.0735 12.1261 10.6609 11.3865 11.4005C10.6469 12.14 10.0595 12.9742 9.62404 13.8641L11.5655 16.7634C11.3094 17.271 11.0889 17.7997 10.9082 18.3463L7.49634 19.0214C7.17468 19.959 7 20.964 7 22.0101C7 23.0563 7.17468 24.0613 7.4958 24.9984L10.9033 25.6727C11.0854 26.2247 11.3072 26.7586 11.5661 27.2708L9.6383 30.1499C10.0738 31.0398 10.6612 31.8739 11.4007 32.6135C12.1403 33.3531 12.9745 33.9405 13.8644 34.376L16.7467 32.446C17.2606 32.7048 17.7962 32.9267 18.3498 33.1085L19.0219 36.5042C19.959 36.8253 20.9643 37 22.0101 37C23.056 37 24.0613 36.8253 24.9984 36.5042L25.6732 33.0942C26.223 32.9116 26.7548 32.6889 27.2651 32.4301L30.1502 34.362C31.04 33.9265 31.8742 33.3391 32.6138 32.5995C33.3534 31.86 33.9408 31.0258 34.3762 30.1359L32.4328 27.2335C32.6862 26.7273 32.9037 26.2003 33.0825 25.6557L36.5042 24.9783V24.9781ZM21.9899 27.4628C18.9819 27.4628 16.5435 25.0244 16.5435 22.0165C16.5435 19.0085 18.9819 16.5701 21.9899 16.5701C24.9978 16.5701 27.4362 19.0085 27.4362 22.0165C27.4362 25.0244 24.9978 27.4628 21.9899 27.4628Z" fill="#007880"/>
+</svg>
diff --git a/src/wolnelektury/static/2022/images/toc.svg b/src/wolnelektury/static/2022/images/toc.svg
new file mode 100644 (file)
index 0000000..d09caa6
--- /dev/null
@@ -0,0 +1,8 @@
+<svg width="44" height="44" viewBox="0 0 44 44" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="8.5" cy="13.5" r="1.5" fill="#007880"/>
+<rect x="13" y="12" width="24" height="3" rx="1.5" fill="#007880"/>
+<circle cx="8.5" cy="21.5" r="1.5" fill="#007880"/>
+<rect x="13" y="20" width="24" height="3" rx="1.5" fill="#007880"/>
+<circle cx="14.5" cy="29.5" r="1.5" fill="#007880"/>
+<rect x="19" y="28" width="18" height="3" rx="1.5" fill="#007880"/>
+</svg>
index 6aa6caa..1e6b692 100644 (file)
@@ -152,7 +152,7 @@ body.is-open {
 
     position:absolute;
     top: 60px;
-    z-index: 1;
+    z-index: 50;
 
     position: absolute;
     width: 186px;
@@ -259,16 +259,21 @@ form {
 
 
 .funding-promo-bar {
-    margin: 18px auto;
+    margin: auto;
 
     .l-checkout__support {
-        margin: 0;
+        margin: 18px 0;
         a {
             display: flex;
             align-items: start;
+            gap: 0 10px;
+
+            flex-wrap: wrap;
+            @include rwd($B4) {
+                flex-wrap: nowrap;
+            }
 
             .buttonlike {
-                margin-right: 10px;
                 background: #FFA500;
                 //color: #083F4D;
                 color: black;
@@ -285,6 +290,11 @@ form {
             }
             .funding-bar-container {
                 flex-grow: 1;
+
+                display: contents;
+                @include rwd($B4) {
+                    display: block;
+                }
             }
         }
     }
index a684ca5..eb30a63 100644 (file)
   src: url('/static/fonts/source-sans-pro/source-sans-pro-v21-cyrillic_greek_greek-ext_latin_latin-ext-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
        url('/static/fonts/source-sans-pro/source-sans-pro-v21-cyrillic_greek_greek-ext_latin_latin-ext-700.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
 }
+
+
+
+@font-face {
+  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
+  font-family: 'Source Serif Pro';
+  font-style: normal;
+  src: url('/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2') format('woff2');
+}
index ebeb7aa..c4af4eb 100644 (file)
@@ -52,6 +52,7 @@
   border-radius: 0 0 5px 5px;
   margin: 0 auto;
   display: flex;
+  gap: 10px;
   align-items: center;
   justify-content: space-between;
   position: relative;
diff --git a/src/wolnelektury/static/2022/styles/layout/_annoy.scss b/src/wolnelektury/static/2022/styles/layout/_annoy.scss
new file mode 100644 (file)
index 0000000..f0f0636
--- /dev/null
@@ -0,0 +1,75 @@
+.annnoy-banner-on {
+    display: none;
+}
+
+.annoy-banner_blackout {
+    //display: flex;
+    display: none;
+    position: fixed;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    z-index: 9999;
+    background: linear-gradient(180deg, rgba(0,0,0,1) 90%, rgba(0,0, 0,.5) 100%);
+
+    .annoy-banner-inner {
+        max-height: 100vh;
+        overflow-y: auto;
+        padding: 0 0 30px 0;
+        display: flex;
+        flex-direction: column;
+        gap: 40px;
+    }
+    .annoy-banner_actions {
+        display: flex;
+        flex-direction: column;
+        gap: 40px;
+    }
+    .annoy-banner_img {
+        flex: 1;
+        text-align: center;
+        img {
+            max-height: 100%;
+            max-width: 100%;
+        }
+    }
+    .text {
+        display: flex;
+        padding: 6px 30px;
+        flex: 1;
+        gap: 40px;
+        flex-direction: column;
+        color: white;
+        p {
+            font-size: 24px;
+        }
+    }
+    .action {
+        font-size: 1.6rem !important;
+    }
+    .annoy-banner-off {
+        font-size: 1.2rem !important;
+    }
+    
+    @include rwd($break-flow) {
+        .annoy-banner-inner {
+            padding: 0;
+            margin: 10vh 10vw 20vh 10vw;
+            max-height: 70vh;
+            flex-direction: row;
+            overflow-y: unset;
+
+            .text {
+                padding: 0 20px 0 0;
+                overflow-y: auto;
+            }
+        }
+        .action {
+
+        }
+        .annoy-banner-off {
+            
+        }
+    }
+}
index 8655bab..ba7e145 100644 (file)
     text-decoration: underline;
   }
 }
+
+.infopage-blog {
+    padding: 0;
+    list-style: none;
+    li {
+        margin-bottom: .7em;
+    }
+}
index 28f0d06..618b19a 100644 (file)
 .l-author__quotes__slider__item {
   max-width: 336px;
   outline: 0;
+
+  .verse-indent {
+      padding-left: 1em;
+      &.verse-indent-2 { padding-left: 1.1em; }
+      &.verse-indent-3 { padding-left: 1.2em; }
+      &.verse-indent-4 { padding-left: 1.3em; }
+      &.verse-indent-5 { padding-left: 1.4em; }
+      &.verse-indent-6 { padding-left: 1.5em; }
+      &.verse-indent-7 { padding-left: 1.6em; }
+      &.verse-indent-8 { padding-left: 1.7em; }
+      &.verse-indent-9 { padding-left: 1.8em; }
+      &.verse-indent-10 { padding-left: 1.9em; }
+      &.verse-indent-11 { padding-left: 2em; }
+      &.verse-indent-12 { padding-left: 2.1em; }
+  }
+  .verse-cont { padding-left: 2.1em; }
+  .verse-p { padding-left: 1em; }
+  .verse-right { text-align: right; }
+  .verse-center { text-align: center; }
 }
 
 
index 870da23..593794b 100644 (file)
@@ -11,6 +11,7 @@
   border-radius: 10px;
   width: 100%; height: 34px;
   position: relative;
+  flex: 1;
   span {
     position: absolute;
     top: 0; left: 0;
     background: #92BD39;
     border-radius: 10px;
     &:after {
+        white-space: nowrap;
+        color: #083F4D;
+        top: 0; left:10px; bottom: 2px;
+        @include rwd($B5) {
+            color: #FFFFFF;
+            right: 13px;
+            left: auto;
+        }
       margin: auto;
       position: absolute;
-      top: 0; right: 13px; bottom: 2px;
       content: attr(data-label);
       font-weight: bold;
       font-size: 15px;
-      color: #FFFFFF;
       display: flex;
       align-items: center;
       justify-content: center;
@@ -36,7 +43,8 @@
   display: flex;
   margin-top: 7px;
   justify-content: space-between;
-  align-items: center;
+  align-items: flex-start;
+  gap: 15px;
   p {
     margin: 0;
     font-weight: normal;
index 7de09e3..e52f637 100644 (file)
@@ -5,3 +5,9 @@
   padding-left: 16px;
   padding-right: 16px;
 }
+
+.l-breadcrumb-container {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+}
index 6aabada..fcefb2f 100644 (file)
@@ -4,6 +4,7 @@
 
 /*!*/
 
+@import "annoy";
 @import "navigation";
 @import "header";
 @import "main";
@@ -28,3 +29,4 @@
 @import "simple";
 @import "taglist";
 @import "search";
+@import "text";
diff --git a/src/wolnelektury/static/2022/styles/layout/_text.scss b/src/wolnelektury/static/2022/styles/layout/_text.scss
new file mode 100644 (file)
index 0000000..dd48d4f
--- /dev/null
@@ -0,0 +1,654 @@
+#global-progress {
+    position: sticky;
+    top: 0;
+    background: white;
+    z-index: 1;
+    border-bottom: 1px solid #F2F2F2;
+
+    .progress-text {
+        line-height: 24px;
+        padding: 4px;
+        color: #083F4D;
+        font-size: 16px;
+        .progress-text-value {
+            font-weight: 600;
+        }
+    }
+    
+    .bar {
+        display: flex;
+        height: 18px;
+        gap: 4px;
+        padding: 4px;
+        
+        .piece {
+            position: relative;
+            background: #F2F2F2;
+            overflow: hidden;
+            border-radius: 2px;
+
+            .filled {
+                position: absolute;
+                left: 0;
+                top: 0;
+                bottom: 0;
+                background: #92BD39;
+            }
+        }
+    }
+}
+
+.l-text_toolbar {
+    display: flex;
+    gap: 16px;
+    margin-right: -7px;
+    position: relative;
+    a {
+        img {
+            display: block;
+        }
+    }
+
+    .box {
+        z-index: 5;
+    }
+}
+
+#main-text {
+    position: relative;
+    margin-bottom: 30px;
+    .text_next-book {
+        position: absolute;
+        right: 0;
+        top: 0;
+    }
+    .text_prev-book {
+        position: absolute;
+        left: 0;
+        top: 0;
+    }
+    #book-text {
+        padding: 5px;
+        @include rwd($break-wide) {
+            width: 717px;
+            padding: 0;
+        }
+        margin: 0 auto;
+
+        color: #333333;
+
+        font-family: "Source Serif Pro";
+        font-size: 18px;
+        line-height: 28px;
+    }
+}
+
+
+#toc {
+    display: none;
+
+    
+}
+
+#heretoc {
+    margin-top: .5em;
+
+    // Workaround for missing li's.
+    ol a {
+        line-height: 30px;
+    }
+}
+
+#menu .box {
+    display: none;
+    position: absolute;
+    right: 0px;
+    top: 50px;
+    width: 80vw;
+    max-width: 600px;
+    height: 300px;
+    padding: 30px; 
+    overflow: auto;
+    background: #FFE79E;
+    box-shadow: 0px 0px 20px rgba(1, 129, 137, 0.2);
+    border-radius: 10px;
+}
+#menu #wltoc {
+    right: 0px;
+    width: 50vw;
+    height: 300px;
+}
+#menu #settings {
+    width: 200px;
+    height: 200px;
+}
+#themes {
+    display: none;
+}
+#other-text {
+    display: none;
+}
+#reference-box {
+    display: none;
+    width: 300px;
+    position: fixed;
+    top: 0;
+    right: 0;
+    z-index:100;
+    background: #eee;
+    img {
+        margin: 0;
+    }
+    
+    #reference-map {
+        height:400px;
+        width: 300px;
+        @media screen and (max-height: 800px) {
+            height: 300px;
+        }
+    }
+    #reference-images {
+        padding: 10px;
+        white-space: nowrap;
+        overflow-x: auto;
+        a {
+            display: inline-block;
+            vertical-align: middle;
+            margin: 0 10px 0 0;
+            img {
+                width: auto;
+                border: 5px solid white;
+                box-shadow: 4px 4px 4px #666;
+                max-width: 240px;
+                max-height: 200px;
+            }
+        }
+    }
+    #reference-link {
+        display: block;
+        font-size: 1.5em;
+        padding: 10px;
+    }
+    #reference-close {
+        font-size: 30px;
+        position: absolute;
+        top: 10px;
+        right: 10px;
+        z-index: 1000;
+        font-family: sans-serif;
+        color: black;
+    }
+}
+
+
+
+
+#menu #info {
+    padding-top: 0;
+    display: none;
+    position: absolute;
+    right: 0px;
+    top: 50px;
+    width: 80vw;
+    height: 300px;
+    padding: 0px 30px 30px; 
+    overflow: auto;
+    box-shadow: 0px 0px 20px rgba(1, 129, 137, 0.2);
+    border-radius: 10px;
+    
+}
+#annoy-stubs {
+    display: none;
+}
+#nota_red {
+    display: none;
+}
+
+
+.l-text_header {
+    margin-top: 50px;
+    display: flex;
+    gap: 60px;
+
+    .l-text_header_cover {
+        width: 167px;
+        height: 236px;
+        
+    }
+    .l-text_header__content {
+        flex-grow: 1;
+    }
+
+    .l-text_header_author {
+        margin: 0;
+        font-weight: 600;
+        font-size: 21.5px;
+        line-height: 1.4;
+        a {
+            color: #007880;
+        }
+    }
+    .l-text_header_title {
+        margin: 0;
+        font-weight: 700;
+        font-size: 37px;
+        line-height: 1.3;
+        a {
+            color: #083F4D;
+        }
+    }
+    
+}
+    
+
+#main-text #book-text {
+    body {
+    font-size: 16px;
+    font-family: Gelasio, Georgia, "Times New Roman", serif;
+    line-height: 1.5em;
+    margin: 0;
+}
+
+a {
+    color: blue;
+    text-decoration: none;
+}
+
+img {
+    max-width: 37.5rem;
+    margin-top: 1em;
+    width: 100%;
+}
+.animacja {
+    margin-top: 1em;
+}
+.animacja img {
+    margin-top: 0;
+}
+
+/* ================================== */
+/* = Header with logo and menu      = */
+/* ================================== */
+
+
+/* =================================================== */
+/* = Common elements: headings, paragraphs and lines = */
+/* =================================================== */
+h1 {
+    font-size: 3em;
+    margin: 1.5em 0;
+    text-align: center;
+    line-height: 1.5em;
+    font-weight: bold;
+}
+
+h2 {
+    font-size: 2em;
+    margin: 1.5em 0 0;
+    font-weight: bold;
+    line-height: 1.5em;
+}
+
+h3, .subtitle2 {
+    font-size: 1.5em;
+    margin: 1.5em 0 0;
+    font-weight: normal;
+    line-height: 1.5em;
+}
+
+h4, .subtitle3 {
+    font-size: 1em;
+    margin: 1.5em 0 0;
+    line-height: 1.5em;
+}
+
+.subtitle4 {
+    font-weight: bold;
+}
+
+p {
+    margin: 0;
+}
+
+/* ======================== */
+/* = Footnotes and themes = */
+/* ======================== */
+
+.annotation {
+    font-style: normal;
+    font-weight: normal;
+    font-size: .75em;
+    padding-left: 2px;
+    position: relative;
+    top: -4px;
+    user-select: none;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+}
+
+#footnotes {
+    margin-top: 3em;
+}
+
+#footnotes .annotation {
+    display: block;
+    float: left;
+    width: 2.5em;
+    clear: both;
+    user-select: auto;
+    -webkit-user-select: text;
+    -moz-user-select: text;
+    -ms-user-select: text;
+}
+
+#footnotes > div {
+    margin: 1.5em 0 0 0;
+}
+
+#footnotes p, #footnotes ul, #footnotes .stanza {
+    margin-left: 2.5em;
+    font-size: 0.875em;
+}
+
+#footnotes .permalink {
+    font-size: .75em;
+}
+
+blockquote {
+    font-size: 0.875em;
+}
+
+/* ============= */
+/* = Numbering = */
+/* ============= */
+.verse, .paragraph {
+    position:relative;
+}
+/*.anchor {
+    position: absolute;
+    margin: -0.25em -0.5em;
+    color: #777;
+    font-size: 12px;
+    text-align: center;
+    padding: 0.25em 0.5em;
+    line-height: 1.5em;
+}*/
+
+
+/* =================== */
+/* = Custom elements = */
+/* =================== */
+span.author {
+    font-size: 0.5em;
+    display: block;
+    line-height: 1.5em;
+    margin-bottom: 0.25em;
+}
+
+span.collection {
+    font-size: 0.375em;
+    display: block;
+    line-height: 1.5em;
+    margin-bottom: -0.25em;
+}
+
+span.subtitle {
+    font-size: 0.5em;
+    display: block;
+    line-height: 1.5em;
+    margin-top: -0.25em;
+}
+
+span.translator {
+    font-size: 0.375em;
+    display: block;
+    line-height: 1.5em;
+    margin-top: 0.25em;
+}
+
+div.didaskalia {
+    font-style: italic;
+    margin: 0.5em 0 0 1.5em;
+}
+
+div.kwestia {
+    margin: 0.5em 0 0;
+}
+
+div.stanza {
+    margin: 1.5em 0;
+}
+
+div.kwestia div.stanza {
+    margin: 0;
+}
+
+.verse-p {
+    padding-left: 1em;
+}
+.verse-indent {
+    padding-left: 1em;
+}
+.verse-right { text-align: right; }
+.verse-center { text-align: center; }
+
+.verse-indent.verse-indent-2 { padding-left: 2em; }
+.verse-indent.verse-indent-3 { padding-left: 3em; }
+.verse-indent.verse-indent-4 { padding-left: 4em; }
+.verse-indent.verse-indent-5 { padding-left: 5em; }
+.verse-indent.verse-indent-6 { padding-left: 6em; }
+.verse-indent.verse-indent-7 { padding-left: 7em; }
+.verse-indent.verse-indent-8 { padding-left: 8em; }
+.verse-indent.verse-indent-9 { padding-left: 9em; }
+.verse-indent.verse-indent-10 { padding-left: 10em; }
+.verse-indent.verse-indent-11 { padding-left: 11em; }
+.verse-indent.verse-indent-12 { padding-left: 12em; }
+.verse-cont { padding-left: 12em; }
+
+@media screen and (max-width: 40em) {
+    .verse-indent { padding-left: 4%; }
+    .verse-indent.verse-indent-2 { padding-left: 8%; }
+    .verse-indent.verse-indent-3 { padding-left: 12%; }
+    .verse-indent.verse-indent-4 { padding-left: 16%; }
+    .verse-indent.verse-indent-5 { padding-left: 20%; }
+    .verse-indent.verse-indent-6 { padding-left: 24%; }
+    .verse-indent.verse-indent-7 { padding-left: 28%; }
+    .verse-indent.verse-indent-8 { padding-left: 32%; }
+    .verse-indent.verse-indent-9 { padding-left: 36%; }
+    .verse-indent.verse-indent-10 { padding-left: 40%; }
+    .verse-indent.verse-indent-11 { padding-left: 44%; }
+    .verse-indent.verse-indent-12 { padding-left: 48%; }
+    .verse-cont { padding-left: 48%; }
+}
+
+
+p.paragraph {
+    text-align: justify;
+    margin: 0;
+    text-indent: 1.5em;
+}
+
+.motto {
+    text-align: justify;
+    font-style: italic;
+    margin: 1.5em 0 0;
+}
+
+p.motto_podpis {
+    font-size: 0.875em;
+    text-align: right;
+    margin-bottom: 1.5em;
+}
+
+div.fragment {
+    border-bottom: 0.1em solid #999;
+    padding-bottom: 1.5em;
+}
+
+div.note p, div.dedication p, div.note p.paragraph, div.dedication p.paragraph {
+    text-align: right;
+    font-style: italic;
+}
+
+div.frame {
+    border: 1px darkgray solid;
+    padding: 1em;
+    margin-top: 1em;
+    margin-bottom: 1em;
+}
+
+hr.spacer {
+    height: 3em;
+    visibility: hidden;
+}
+
+hr.spacer-line {
+    margin: 1.5em 0;
+    border: none;
+    border-bottom: 0.1em solid #000;
+}
+
+p.spacer-asterisk {
+    padding: 0;
+    margin: 1.5em 0;
+    text-align: center;
+}
+
+div.person-list ol {
+    list-style: none;
+    padding: 0 0 0 1.5em;
+}
+
+p.place-and-time {
+    font-style: italic;
+}
+
+em.math, em.foreign-word, em.book-title, em.didaskalia {
+    font-style: italic;
+}
+
+em.author-emphasis {
+    letter-spacing: 0.1em;
+}
+
+em.person {
+    font-style: normal;
+    font-variant: small-caps;
+}
+
+em.wieksze-odstepy {
+    font-style: normal;
+    word-spacing: 1em;
+}
+
+.verse:after {
+    content: "\feff";
+}
+
+table {
+    border-collapse: collapse;
+    width: 100%;
+}
+
+table.border td, table.border th {
+    border: 1px solid black;
+    vertical-align: top;
+}
+
+
+.anchor {
+    /* Show line numbers. */
+    float: left;
+    font-size: .8em;
+    margin-left: -40px;
+    width: 36px;
+    height: auto;
+    padding: 2px;
+    text-align: center;
+    color: #ccc;
+    user-select: none;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+
+}
+
+
+
+.theme-begin {
+    font-size: .9em;
+    position: relative;
+    float: right;
+    margin-bottom: 8px;
+    clear: both;
+    line-height: 1.5em;
+    text-align: left;
+    z-index: 60;
+
+    font-style: normal;
+    font-weight: normal;
+    font-variant: normal;
+    letter-spacing: 0;
+    text-transform: none;
+    text-decoration: none;
+    user-select: none;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+
+    margin-right: -227px;
+    width: 170px;
+    text-indent: 0;
+    color: inherit;
+    padding-left: 12px;
+    border-left: 1px solid #333;
+}
+
+
+a.reference.interesting:after {
+    content: url('../images/pin.svg');
+    padding: 3px;
+}
+}
+
+
+
+
+#menu {
+#wltoc ol, #themes ol, #objects ol {
+    list-style: none;
+    padding: 0;
+    margin: 0;
+}
+#wltoc ol {
+  padding-left: 1.5em;
+}
+
+#wltoc ol ol {
+    padding: 0 0 1.5em 1.5em;
+    margin: 0;
+}
+
+#wltoc ol ol li {
+    font-weight: normal;
+}
+
+#wltoc h2 {
+    display: none;
+}
+
+#wltoc .anchor {
+    float: none;
+    margin: 0;
+    font-size: 16px;
+    position: inherit;
+}
+
+
+#info .sponsors img {
+    margin-bottom: 1em;
+}
+}
index e2d44b6..fd3a6cd 100644 (file)
@@ -135,11 +135,11 @@ p {
     -ms-user-select: text;
 }
 
-#footnotes div {
+#footnotes div {
     margin: 1.5em 0 0 0;
 }
 
-#footnotes p, #footnotes ul {
+#footnotes p, #footnotes ul, #footnotes .stanza {
     margin-left: 2.5em;
     font-size: 0.875em;
 }
@@ -217,6 +217,45 @@ div.kwestia div.stanza {
     margin: 0;
 }
 
+.verse-p {
+    padding-left: 1em;
+}
+.verse-indent {
+    padding-left: 1em;
+}
+.verse-right { text-align: right; }
+.verse-center { text-align: center; }
+
+.verse-indent.verse-indent-2 { padding-left: 2em; }
+.verse-indent.verse-indent-3 { padding-left: 3em; }
+.verse-indent.verse-indent-4 { padding-left: 4em; }
+.verse-indent.verse-indent-5 { padding-left: 5em; }
+.verse-indent.verse-indent-6 { padding-left: 6em; }
+.verse-indent.verse-indent-7 { padding-left: 7em; }
+.verse-indent.verse-indent-8 { padding-left: 8em; }
+.verse-indent.verse-indent-9 { padding-left: 9em; }
+.verse-indent.verse-indent-10 { padding-left: 10em; }
+.verse-indent.verse-indent-11 { padding-left: 11em; }
+.verse-indent.verse-indent-12 { padding-left: 12em; }
+.verse-cont { padding-left: 12em; }
+
+@media screen and (max-width: 40em) {
+    .verse-indent { padding-left: 4%; }
+    .verse-indent.verse-indent-2 { padding-left: 8%; }
+    .verse-indent.verse-indent-3 { padding-left: 12%; }
+    .verse-indent.verse-indent-4 { padding-left: 16%; }
+    .verse-indent.verse-indent-5 { padding-left: 20%; }
+    .verse-indent.verse-indent-6 { padding-left: 24%; }
+    .verse-indent.verse-indent-7 { padding-left: 28%; }
+    .verse-indent.verse-indent-8 { padding-left: 32%; }
+    .verse-indent.verse-indent-9 { padding-left: 36%; }
+    .verse-indent.verse-indent-10 { padding-left: 40%; }
+    .verse-indent.verse-indent-11 { padding-left: 44%; }
+    .verse-indent.verse-indent-12 { padding-left: 48%; }
+    .verse-cont { padding-left: 48%; }
+}
+
+
 p.paragraph {
     text-align: justify;
     margin: 0;
diff --git a/src/wolnelektury/static/fonts/source-serif-pro/SIL Open Font License.txt b/src/wolnelektury/static/fonts/source-serif-pro/SIL Open Font License.txt
new file mode 100644 (file)
index 0000000..a53e4fb
--- /dev/null
@@ -0,0 +1,43 @@
+Copyright 2014 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
+
+This Font Software is licensed under the SIL Open Font License, Version 1.1.
+This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
+
+-----------------------------------------------------------
+SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
+-----------------------------------------------------------
+
+PREAMBLE
+The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others.
+
+The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
+
+DEFINITIONS
+"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation.
+
+"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
+
+"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
+
+"Modified Version" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
+
+"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
+
+PERMISSION & CONDITIONS
+Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
+
+1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself.
+
+2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user.
+
+3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users.
+
+4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission.
+
+5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software.
+
+TERMINATION
+This license becomes null and void if any of the above conditions are not met.
+
+DISCLAIMER
+THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
\ No newline at end of file
diff --git a/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Italic.otf.woff2 b/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Italic.otf.woff2
new file mode 100644 (file)
index 0000000..53945e3
Binary files /dev/null and b/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Italic.otf.woff2 differ
diff --git a/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2 b/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2
new file mode 100644 (file)
index 0000000..9fcf474
Binary files /dev/null and b/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Italic.ttf.woff2 differ
diff --git a/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.otf.woff2 b/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.otf.woff2
new file mode 100644 (file)
index 0000000..b5304dd
Binary files /dev/null and b/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.otf.woff2 differ
diff --git a/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2 b/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2
new file mode 100644 (file)
index 0000000..cca344b
Binary files /dev/null and b/src/wolnelektury/static/fonts/source-serif-pro/SourceSerif4Variable-Roman.ttf.woff2 differ
diff --git a/src/wolnelektury/static/js/book_text/progress.js b/src/wolnelektury/static/js/book_text/progress.js
new file mode 100644 (file)
index 0000000..d57a32f
--- /dev/null
@@ -0,0 +1,32 @@
+(function($){$(function(){
+
+    t = $('#global-progress').data('t');
+    function upd_t() {
+        $text = $('#main-text #book-text');
+        texttop = $text.offset().top;
+
+        $footnotes = $('#footnotes', $text);
+        if ($footnotes.length) {
+            textbottom = $footnotes.offset().top;
+        } else {
+            textbottom = texttop + $text.height();
+        }
+
+        textlen = textbottom - texttop;
+        progress = (window.scrollY - texttop) / textlen;
+        progress = Math.max(0, Math.min(progress, 1))
+
+        $('#global-progress .filled').css('right', (1 - progress) * 100 + '%');
+        tleft = Math.round((1 - progress) * t / 60);
+        tt = '';
+        if (tleft > 60) {
+            h = Math.floor(tleft / 60);
+            tt = h + ' h ';
+            tleft -= h * 60;
+        }
+        tt += tleft + ' min';
+        $('#global-progress .progress-text-value').text(tt);
+    }
+    upd_t();
+    $(window).scroll(upd_t);
+})})(jQuery);
index d03bbb9..d50edeb 100644 (file)
@@ -5,11 +5,11 @@
     }
 
     if ($('#wltoc li').length > 0) {
-        $('#menu-toc').show();
+        $('a[href="#wltoc"]').show();
     }
 
     if ($('#wltoc li a').length == 0) {
-        $('#menu li a[href="#wltoc"]').remove();
+        $('a[href="#wltoc"]').remove();
     }
 
     $("#toc").remove();
index d231b40..acc38a9 100644 (file)
   button.on('click', function() {
     let dataLabel = $(this).attr('data-label');
     let dataAction = $(this).attr('data-action');
-    $(this).parent().find('.l-article__overlay').toggleClass('is-clicked');
+    $(this).parent().parent().find('.l-article__overlay').toggleClass('is-clicked');
     if($(this).text() === dataLabel) {
       $(this).text(dataAction);
     } else {
diff --git a/src/wolnelektury/templates/banner_procent.html b/src/wolnelektury/templates/banner_procent.html
new file mode 100644 (file)
index 0000000..25a20d4
--- /dev/null
@@ -0,0 +1,8 @@
+<div class="l-container l-change-pop show" style="margin-top:16px;">
+  <h3>Przekaż 1,5%</h3>
+  <p>
+    Przekaż 1,5% podatku na Wolne Lektury KRS 00000 70056<br>
+    Ufunduj darmowe książki dla tysięcy dzieciaków.<br>
+    <a href="/info/wesprzyj-nas/">WIĘCEJ</a>
+  </p>
+</div>
index fa433b4..170a079 100644 (file)
@@ -30,6 +30,8 @@
 
     {% block under-menu %}{% endblock %}
 
+    {% include 'banner_procent.html' %}
+
     {% if not funding_no_show_current %}
       <div class="l-container funding-promo-bar">
         {% cache 120 funding_top_bar LANGUAGE_CODE %}
     {% endif %}
 
     {% block global-content %}
-      <div class="l-container">
+      <div class="l-container l-breadcrumb-container">
         <div class="l-breadcrumb">
           <a href="/"><span>{% translate "Strona główna" %}</span></a>
           {% block breadcrumbs %}<span>{{ title }}</span>{% endblock %}
         </div>
+        {% block breadcrumb-right %}
+        {% endblock %}
       </div>
 
       <main class="l-main">
index f34383d..2212da6 100644 (file)
 
 {% block body %}
    <h1>{{ form.title }}</h1>
-   <p>{{ form.response }}</p>
+   <p id="form-response">{{ form.response|safe }}</p>
+{% endblock %}
+
+{% block extrabody %}
+  <script type="text/javascript">
+   (function() {
+       let $a = $("#form-response a");
+       if ($a.length) {
+           setTimeout(() => {
+               window.location.href = $a.attr('href');
+           }, 5000);
+       }
+   })();
+  </script>
 {% endblock %}
index 805babf..e7a29b8 100644 (file)
@@ -1,3 +1,4 @@
+{% load annoy %}
 {% load cache %}
 {% load i18n %}
 {% load static %}
@@ -5,6 +6,8 @@
 {% load latest_blog_posts from blog %}
 {% load preview_ad from catalogue_tags %}
 
+{% annoy_banner_blackout %}
+
 <nav class="l-navigation">
   <div class="l-container">
     <a href="/" class="l-navigation__logo">
index cb5c2e7..3895b17 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date
 from django.conf import settings
index 7463517..dc41112 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 class DummyThumbnailBackend:
     class DummyThumbnail:
index e86d18b..afee7f1 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from django.conf import settings
 from django.contrib import admin
@@ -46,7 +46,6 @@ urlpatterns += [
     path('mapa/', include('references.urls')),
     path('newsletter/', include('newsletter.urls')),
     path('formularz/', include('forms_builder.forms.urls')),
-    path('isbn/', include('isbn.urls')),
     path('messaging/', include('messaging.urls')),
     path('re/', include('redirects.urls')),
     path('stats/', include('stats.urls')),
index 6f61259..dfa8522 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import codecs
 import csv
index c5fbe12..611ee3c 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 from datetime import date, datetime
 from urllib.parse import quote_plus
index 5fc78fe..ff02bbb 100644 (file)
@@ -1,5 +1,5 @@
-# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later.
-# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
+# This file is part of Wolne Lektury, licensed under GNU Affero GPLv3 or later.
+# Copyright © Fundacja Wolne Lektury. See NOTICE for more information.
 #
 import os