Compare commits

...
2924 Commits
Author SHA1 Message Date
Trenton Holmes 7d8721c53c (delete me) 2022-04-02 07:14:14 -07:00
Trenton Holmes aa67c851e3 (delete me) 2022-04-02 07:12:56 -07:00
shamoon 9737e4a24d Merge pull request #238 from schnuffle/feature-split-dockerimage
Feature split dockerimage
2022-04-02 01:24:15 -07:00
Quinn Casey 805c17565b Merge pull request #617 from paperless-ngx/fix-move-to-trash
uses shutil.move instead of rename
2022-04-02 15:17:43 +07:00
Florian Brandes 8e9d1cdd18 uses shutil.move instead of rename
fixes issues with cross-filesystem movement

Signed-off-by: Florian Brandes <florian.brandes@posteo.de>
2022-04-02 07:23:31 +02:00
shamoon 1d3300fb34 Merge pull request #610 from paperless-ngx/fix-npm-deps-010222_2
Fix npm deps 01.02.22 2
2022-04-01 21:41:54 -07:00
Trenton Holmes 26d93cf3be Fixes the name and path of the built image so it doesn't duplicate 2022-04-01 16:17:22 -07:00
Michael Shamoon 4e3183ee65 remove unused ngx-infinite-scroll
see https://github.com/jonaswinkler/paperless-ng/commit/9993381cda1fad164625259ede9dc57cb6620ad1
2022-04-01 14:19:59 -07:00
Michael Shamoon 8370ec58c1 bump dirty-check-forms, ngx-infinite-scroll, typescript 2022-04-01 13:54:14 -07:00
shamoon 0d1bcd3c13 Merge pull request #600 from paperless-ngx/fix-npm-deps-010222
Fix npm dependencies 01.02.22
2022-04-01 13:44:10 -07:00
Michael Shamoon a456b968af bump @types/node, ng2-pdf-viewer, cypress 2022-04-01 13:25:36 -07:00
Michael Shamoon 3a242dc296 remove stubborn failing e2e settings test for now 2022-04-01 12:11:08 -07:00
Michael Shamoon 5aff9b6fdb bump angular deps & regenerate package-lock 2022-04-01 11:41:01 -07:00
Michael Shamoon fac6fe0c2e Squashed commit of the following:
commit 3709bf5d7602bb2e126465870e00fca35d4f99be
Author: Michael Shamoon <4887959+shamoon@users.noreply.github.com>
Date:   Fri Apr 1 09:24:12 2022 -0700

    Attempt 2 to fix test failing on GHA
2022-04-01 09:28:47 -07:00
Michael Shamoon efbc2a5715 Fix failing e2e settings test
[ci skip]
2022-04-01 09:09:02 -07:00
Quinn Casey d18eebf97d Merge pull request #588 from paperless-ngx/locale-belarusian
Add Belarusian localization
2022-04-01 11:51:02 +07:00
Paperless-ngx Translation Bot [bot] 60cc7afc72 New Crowdin updates (#538)
* New translations django.po (Spanish)
[ci skip]

* New translations messages.xlf (Spanish)
[ci skip]

* New translations django.po (Serbian (Latin))
[ci skip]

* New translations messages.xlf (Serbian (Latin))
[ci skip]

* New translations django.po (Serbian (Latin))
[ci skip]

* New translations messages.xlf (Serbian (Latin))
[ci skip]

* New translations django.po (Chinese Simplified)
[ci skip]

* New translations django.po (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations django.po (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations django.po (Russian)
[ci skip]

* New translations django.po (Russian)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations django.po (Belarusian)
[ci skip]

* New translations messages.xlf (Belarusian)
[ci skip]

* New translations django.po (Belarusian)
[ci skip]

* New translations django.po (Belarusian)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations django.po (Russian)
[ci skip]

* New translations django.po (Belarusian)
[ci skip]

* New translations django.po (Finnish)
[ci skip]

* New translations messages.xlf (Finnish)
[ci skip]

* New translations django.po (Finnish)
[ci skip]

* New translations messages.xlf (Finnish)
[ci skip]

* New translations django.po (Finnish)
[ci skip]

* New translations django.po (Finnish)
[ci skip]

* New translations django.po (Belarusian)
[ci skip]

* New translations django.po (Belarusian)
[ci skip]

* New translations messages.xlf (Belarusian)
[ci skip]

* New translations messages.xlf (Belarusian)
[ci skip]

* New translations messages.xlf (Belarusian)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations messages.xlf (Belarusian)
[ci skip]
2022-03-31 19:47:16 -07:00
Michael Shamoon b7949d2e69 Add Belarusian localization 2022-03-31 19:42:08 -07:00
shamoon 48175d5b8e Merge pull request #580 from paperless-ngx/docs-frontend-tests-style
Add frontend tests to docs
2022-03-31 15:43:50 -07:00
Michael Shamoon cb8fd6597d Merge changes from #583 from @fantasticle
https://github.com/paperless-ngx/paperless-ngx/pull/583/commits/5496412aecaa07a2bfcf726b9c8a526fe1f95581
2022-03-31 15:42:46 -07:00
Michael Shamoon 70bc70ec97 Add frontend tests to docs 2022-03-30 19:09:07 -07:00
Alexey Zinchenko be2b59431f Update troubleshooting.rst 2022-03-30 19:08:40 -07:00
shamoon c43193b17d Add note for target branch
[ci skip]
2022-03-30 19:08:40 -07:00
Storm Heg 2147af0e6a Fix typo in api.rst 2022-03-30 19:08:30 -07:00
Trenton Holmes 2666e70706 Removes the filtering of on:pull_request event types 2022-03-30 10:10:36 -07:00
Trenton Holmes 19cf66be0f Updates the Dockerfile to utilize our new base image 1.0 which provides the pre-compiled wheels for certain dependencies and most base packages 2022-03-30 09:09:50 -07:00
Henning Häcker 8b26ddcd2c add trailing comma 2022-03-30 09:23:45 +02:00
Henning Häcker 47786dcb8c use double quotes 2022-03-30 09:23:45 +02:00
Henning Häcker 5d91d6a885 fix default value for OCR_MAX_IMAGE_PIXELS 2022-03-30 09:23:45 +02:00
Henning Häcker 559f7c2683 elaborate PAPERLESS_OCR_MAX_IMAGE_PIXELS docs 2022-03-30 09:23:45 +02:00
Henning Häcker 3b4da70c85 extract OCR_MAX_IMAGE_PIXELS into settings.py 2022-03-30 09:23:45 +02:00
Henning Häcker 95199bd325 formatting according to black 2022-03-30 09:23:45 +02:00
Henning Häcker a8887b211e implement PAPERLESS_OCR_MAX_IMAGE_PIXELS 2022-03-30 09:23:45 +02:00
Michael Shamoon 9a758fc3dc fix management e2e tests title
[ci skip]
2022-03-29 23:30:05 -07:00
shamoon edc9c3f01c Merge pull request #565 from paperless-ngx/more-e2e-tests
Add some more e2e tests
2022-03-29 23:24:45 -07:00
Michael Shamoon 83d769251d document-detail e2e tests
[ci skip]
2022-03-29 23:12:19 -07:00
Michael Shamoon bd66333147 test changing pdf viewer 2022-03-29 20:20:46 -07:00
Michael Shamoon 2228678520 Fix settings tests failing because of loading time 2022-03-29 20:02:19 -07:00
Michael Shamoon 9a042118f9 Fix fixture organization
[ci skip]
2022-03-29 20:02:19 -07:00
Michael Shamoon 787ee454ff Mock some API methods in settings spec 2022-03-29 20:02:19 -07:00
Michael Shamoon 32a4587bd3 Mock some API methods 2022-03-29 20:02:19 -07:00
Michael Shamoon 474050ba6b Multiple documents, filtering, view changes, in document list e2e testing 2022-03-29 20:02:19 -07:00
Michael Shamoon 34657fd675 Some document list bulk editor e2e tests 2022-03-29 20:02:19 -07:00
Michael Shamoon 18747db17f Settings e2e tests 2022-03-29 20:02:19 -07:00
Michael Shamoon dccea9434a Management e2e tests 2022-03-29 20:02:19 -07:00
Michael Shamoon 40b07572a9 fix index js warning 2022-03-29 15:28:55 -07:00
Trenton Holmes 9147e3a0bd Merge pull request #552 from stumpylog/bugfix-black
Bump version of black in CI/pre-commit
2022-03-29 06:14:12 -07:00
Trenton Holmes ed25212654 Updates black version to fix issues 2022-03-28 12:23:25 -07:00
shamoon ce5fe61e67 Merge pull request #540 from paperless-ngx/filtering-query-params
Feature: Filtering query params aka browser navigation for filtering
2022-03-28 00:07:46 -07:00
Michael Shamoon 9e9266b92a Remove unused var 2022-03-28 00:06:42 -07:00
Michael Shamoon e329d72e8b Clarify query var transformation code 2022-03-27 23:47:53 -07:00
Michael Shamoon 92ec3fc060 Clear all subscriptions, switchMap 2022-03-27 23:41:29 -07:00
Michael Shamoon 3afb3a905c fix ci.yml comment
[ci skip]
2022-03-27 14:44:39 -07:00
Michael Shamoon b3e6f04b30 move const 2022-03-27 00:25:27 -07:00
Michael Shamoon 0a29f51862 Fix quick filtering 2022-03-27 00:09:09 -07:00
Michael Shamoon 7149d407cd Allow filtering by document metadata 2022-03-27 00:08:08 -07:00
Michael Shamoon fbb17df916 Remove exact document router link matching 2022-03-26 23:30:01 -07:00
Michael Shamoon 34b317da7a Query vars for filtering 2022-03-26 23:18:12 -07:00
Quinn Casey c161829803 Merge pull request #536 from paperless-ngx/locale-turkish
Add Turkish localization
2022-03-27 07:04:16 +07:00
Michael Shamoon 7c2ae129d7 rxjs compatibility 2022-03-26 14:18:16 -07:00
Paperless-ngx Translation Bot [bot] c49afa7caa New Crowdin updates (#517)
* New translations messages.xlf (Slovenian)
[ci skip]

* New translations django.po (Turkish)
[ci skip]

* New translations messages.xlf (Turkish)
[ci skip]

* New translations django.po (Turkish)
[ci skip]

* New translations django.po (Turkish)
[ci skip]

* New translations django.po (Russian)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations django.po (Turkish)
[ci skip]

* New translations django.po (Turkish)
[ci skip]

* New translations django.po (Turkish)
[ci skip]

* New translations messages.xlf (Turkish)
[ci skip]

* New translations messages.xlf (Turkish)
[ci skip]

* New translations messages.xlf (Turkish)
[ci skip]

* New translations messages.xlf (Turkish)
[ci skip]

* New translations messages.xlf (Turkish)
[ci skip]

* New translations messages.xlf (Turkish)
[ci skip]

* New translations messages.xlf (Turkish)
[ci skip]
2022-03-26 13:53:04 -07:00
Michael Shamoon 534c157809 Add Turkish localization 2022-03-26 13:52:15 -07:00
shamoon cae4d3fae3 Merge pull request #497 from stumpylog/update-dependencies
Bumps dependencies
2022-03-26 08:33:05 -07:00
Michael Shamoon f59500c809 pipe typo
[ci skip]
2022-03-25 01:50:04 -07:00
Quinn Casey b75bf255ba Merge pull request #527 from paperless-ngx/reorg-frontend-ci
Realign frontend ci pipeline
2022-03-25 15:29:20 +07:00
Michael Shamoon 1588242876 realign frontend ci pipeline 2022-03-25 00:49:55 -07:00
shamoon 00eff651e6 Merge pull request #526 from FrankStrieter/fix/cypress-on-arm
fix: exclude cypress from build in Dockerfile
2022-03-24 23:49:41 -07:00
Frank Strieter a83d6a691a fix: exclude cypress from build in Dockerfile 2022-03-25 07:26:15 +01:00
Jan-Hendrik EwersandQuinn Casey 5065f2cb80 Add arm64 compatible docker-compose for sqlite-tika - resubmission of #27 (#479)
* Create arm variant for sqlite-tika as apache/tika does not support arm64 arch right now

https://github.com/jonaswinkler/paperless-ng/discussions/1256

* Update documentation to explain why there is a seemingly duplicated docker-compose file

* Add caveat about arm arch

* Update docs to encourage use of the new docker-compose

* Remove whitespace

https://github.com/jonaswinkler/paperless-ng/pull/1354/checks?check_run_id=3756807426

* Update docker container to use official ngx

Co-authored-by: Quinn Casey <quinn@quinncasey.com>

* doesn -> does not

* Update docker/compose/docker-compose.postgres-tika.yml

Co-authored-by: Jan-Hendrik Ewers <jh.ewers@gmail.com>

* Update docker/compose/docker-compose.sqlite-tika.arm.yml

Co-authored-by: Jan-Hendrik Ewers <jh.ewers@gmail.com>

* Update docker/compose/docker-compose.sqlite-tika.yml

Co-authored-by: Jan-Hendrik Ewers <jh.ewers@gmail.com>

* Update docker/compose/docker-compose.sqlite-tika.arm.yml

* Update docker-compose.sqlite-tika.arm.yml

* Update docker/compose/docker-compose.sqlite-tika.arm.yml

Co-authored-by: Jan-Hendrik Ewers <jh.ewers@gmail.com>

* Add redisdata to volumes

Co-authored-by: Quinn Casey <quinn@quinncasey.com>
2022-03-25 06:32:16 +07:00
shamoon a4b36b041a Merge pull request #515 from paperless-ngx/clickable-dashboard-widget-tags
Clickable tags in dashboard widgets
2022-03-24 14:36:32 -07:00
Michael Shamoon c360d9fa18 Remove text interpolation from doc routerLink 2022-03-24 08:09:41 -07:00
Trenton Holmes 78258eb9cb Bumps django to 4.0 and fixes associated issues 2022-03-24 07:39:11 -07:00
Trenton Holmes 71e5b5cf72 Bumps pikepdf to ~5.1, dateparser to ~1.1 and other updates as possible/needed 2022-03-24 07:39:07 -07:00
shamoon 4b0229584e Merge pull request #514 from paperless-ngx/unified-management-component
Unify management lists with single template
2022-03-24 07:09:13 -07:00
Florian b2df8297e1 Merge pull request #520 from gador/revert-pdfminer-six
Revert "Bump pdfminer-six from 20211012 to 20220319"
2022-03-24 15:06:49 +01:00
florian on nixos (Florian Brandes) 95048b14fd Revert "Bump pdfminer-six from 20211012 to 20220319"
ocrmypdf requires pdfminer-six <=20211012

This reverts commit 0932f095e1.
2022-03-24 14:28:32 +01:00
Michael Shamoon 3360791a31 Clickable tags in dashboard widgets 2022-03-23 22:08:00 -07:00
Michael Shamoon 4c65ecbe89 Unify management lists with single template 2022-03-23 13:31:00 -07:00
shamoon 65a56a1da0 Merge pull request #454 from schnuffle/pre-commit
Corrections to pass pre-commit hooks
2022-03-23 11:58:02 -07:00
shamoon 645f9b2ee2 Merge pull request #503 from paperless-ngx/testing
Add unit- & end to end test setup in frontend
2022-03-23 07:25:31 -07:00
Michael Shamoon 117157f02c Merge branch 'main' into testing 2022-03-23 07:22:52 -07:00
Quinn Casey acab197a45 Merge pull request #508 from Unkn0wnCat/patch-1
Add API Scanning Setup section to scanners.rst
2022-03-23 20:25:27 +07:00
Kevin KandlbinderandQuinn Casey feed7cd556 Fix typo in docs/scanners.rst
Co-authored-by: Quinn Casey <quinn@quinncasey.com>
2022-03-23 14:07:10 +01:00
Kevin KandlbinderandQuinn Casey c79b70fffd Fix typo in docs/scanners.rst
Co-authored-by: Quinn Casey <quinn@quinncasey.com>
2022-03-23 14:06:53 +01:00
Kevin KandlbinderandQuinn Casey 42a5709202 Fix typo in docs/scanners.rst
Co-authored-by: Quinn Casey <quinn@quinncasey.com>
2022-03-23 14:06:41 +01:00
Kevin Kandlbinder 806f1ec0a3 Add API Scanning Setup section to scanners.rst
* Add instructions for Doxie Q2 to scanners.rst
2022-03-23 12:15:35 +01:00
Frank Strieter ccee85a05e fix code style issues
solve merge conflicts

format code

format code

format code
2022-03-23 09:39:55 +01:00
Frank Strieter a27fb173dd solve merge conflicts 2022-03-23 09:24:07 +01:00
Frank Strieter e4885badfc chore: update package.lock 2022-03-23 09:24:07 +01:00
Frank Strieter 62c488aff6 test: run tests in ci 2022-03-23 09:24:07 +01:00
Frank Strieter afcb5fe3cf test: add cypress test for documents list 2022-03-23 09:24:07 +01:00
Frank Strieter d38bed1334 test: remove most of the boilerplate tests 2022-03-23 09:24:07 +01:00
Frank Strieter f6a9d5b038 chore: replace karma with jest 2022-03-23 09:23:59 +01:00
Frank Strieter 863258f23d chore: replace protractor with cypress 2022-03-23 09:22:40 +01:00
shamoon 3b76fa3f92 Fix pre-commit link
[ci skip]
2022-03-23 09:22:40 +01:00
shamoon 023a42fa07 Project actions on dev too
[ci skip]
2022-03-23 09:22:40 +01:00
Quinn Casey 537515432c Merge pull request #504 from paperless-ngx/locale-serbian
Add Serbian localization
2022-03-23 13:53:38 +07:00
shamoon f93783052b Merge pull request #372 from paperless-ngx/feature-bottom-pagination
Feature: Add bottom pagination
2022-03-22 22:58:58 -07:00
Michael Shamoon 991bc1a1ce Add Serbian localization 2022-03-22 22:26:59 -07:00
Paperless-ngx Translation Bot [bot] 1b5c557c44 New Crowdin updates (#493)
* New translations django.po (Serbian (Latin))
* New translations messages.xlf (Serbian (Latin))
[ci skip]
2022-03-22 22:17:16 -07:00
shamoon 5794faef6c Merge pull request #313 from paperless-ngx/fix-issue-311
Fix #311 unable to click checkboxes in document list
2022-03-22 14:59:34 -07:00
Trenton Holmes ec01c436ea Merge pull request #474 from paperless-ngx/dependabot/pip/dev/pdfminer-six-20220319
Bump pdfminer-six from 20211012 to 20220319
2022-03-22 07:44:39 -07:00
Trenton Holmes 9bb5568d8e Un-pickle and re-pickle the test models to resolve the version difference warning 2022-03-22 09:37:17 +01:00
shamoon c25a107c04 Fix project automations failing on PRs from forks 2022-03-22 01:22:19 -07:00
shamoon 8f152aac69 Fix project automations failing from forks 2022-03-22 00:55:23 -07:00
dependabot[bot] 1cd5de697e Bump @angular/core from 13.2.5 to 13.3.0 in /src-ui (#488)
Bumps [@angular/core](https://github.com/angular/angular/tree/HEAD/packages/core) from 13.2.5 to 13.3.0.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.3.0/packages/core)

---
updated-dependencies:
- dependency-name: "@angular/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-22 00:23:38 -07:00
dependabot[bot] ce8c812669 Bump @ng-bootstrap/ng-bootstrap from 12.0.0 to 12.0.1 in /src-ui (#486)
Bumps [@ng-bootstrap/ng-bootstrap](https://github.com/ng-bootstrap/ng-bootstrap) from 12.0.0 to 12.0.1.
- [Release notes](https://github.com/ng-bootstrap/ng-bootstrap/releases)
- [Changelog](https://github.com/ng-bootstrap/ng-bootstrap/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ng-bootstrap/ng-bootstrap/compare/12.0.0...12.0.1)

---
updated-dependencies:
- dependency-name: "@ng-bootstrap/ng-bootstrap"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-22 00:17:23 -07:00
dependabot[bot] 2c3ac053d8 Bump @angular/compiler from 13.2.5 to 13.3.0 in /src-ui (#487)
Bumps [@angular/compiler](https://github.com/angular/angular/tree/HEAD/packages/compiler) from 13.2.5 to 13.3.0.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.3.0/packages/compiler)

---
updated-dependencies:
- dependency-name: "@angular/compiler"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-22 00:16:15 -07:00
dependabot[bot] ca3bb6a540 Bump @types/jasmine from 3.10.3 to 4.0.0 in /src-ui (#485)
Bumps [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) from 3.10.3 to 4.0.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jasmine)

---
updated-dependencies:
- dependency-name: "@types/jasmine"
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-22 00:11:15 -07:00
dependabot[bot] 0932f095e1 Bump pdfminer-six from 20211012 to 20220319
Bumps [pdfminer-six](https://github.com/pdfminer/pdfminer.six) from 20211012 to 20220319.
- [Release notes](https://github.com/pdfminer/pdfminer.six/releases)
- [Changelog](https://github.com/pdfminer/pdfminer.six/blob/master/CHANGELOG.md)
- [Commits](https://github.com/pdfminer/pdfminer.six/commits)

---
updated-dependencies:
- dependency-name: pdfminer-six
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-22 03:47:06 +00:00
Quinn Casey 3d3807ce41 Merge pull request #477 from paperless-ngx/dependachill
Change dependabot to check npm monthly
2022-03-22 08:01:17 +07:00
shamoon 30834eb8ff Change dependabot to check npm monthly
[ci skip]
2022-03-21 14:53:56 -07:00
dependabot[bot] 1c4e74920a Bump @types/node from 17.0.21 to 17.0.22 in /src-ui (#472)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 17.0.21 to 17.0.22.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 13:38:47 -07:00
dependabot[bot] e6efff426a Bump @angular-devkit/build-angular from 13.2.6 to 13.3.0 in /src-ui (#471)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 13.2.6 to 13.3.0.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/13.2.6...13.3.0)

---
updated-dependencies:
- dependency-name: "@angular-devkit/build-angular"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 13:36:46 -07:00
dependabot[bot] cacf60fdd9 Bump @angular/platform-browser-dynamic from 13.2.5 to 13.3.0 in /src-ui (#470)
Bumps [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) from 13.2.5 to 13.3.0.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.3.0/packages/platform-browser-dynamic)

---
updated-dependencies:
- dependency-name: "@angular/platform-browser-dynamic"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 13:33:59 -07:00
dependabot[bot] 352f94ff2b Bump @angular/platform-browser from 13.2.5 to 13.3.0 in /src-ui (#468)
Bumps [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) from 13.2.5 to 13.3.0.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.3.0/packages/platform-browser)

---
updated-dependencies:
- dependency-name: "@angular/platform-browser"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 13:30:16 -07:00
Trenton Holmes 47530d274f Merge pull request #467 from paperless-ngx/dependabot/pip/dev/scikit-learn-1.0.2
Fix failing test after updating model format version
2022-03-21 13:28:28 -07:00
dependabot[bot] be13ec822f Bump @angular/cli from 13.2.6 to 13.3.0 in /src-ui (#469)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 13.2.6 to 13.3.0.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/13.2.6...13.3.0)

---
updated-dependencies:
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-21 13:28:09 -07:00
Marc Schaefer c6da0cc9a2 Merge branch 'pre-commit' of github.com:schnuffle/paperless-ngx into pre-commit 2022-03-21 19:46:19 +01:00
Marc Schaefer 07623f9883 Removed nested quotes 2022-03-21 19:45:46 +01:00
Schnuffle 6e0d334a0c Indentation corrections 2022-03-21 19:38:44 +01:00
shamoon e514b99c57 Fix pre-commit link
[ci skip]
2022-03-21 10:54:48 -07:00
Johann Bauer cffdaefe2f Fix model test 2022-03-21 18:53:53 +01:00
Johann Bauer 9de4ca61e8 Increase FORMAT_VERSION to force model re-creation 2022-03-21 18:11:18 +01:00
dependabot[bot] d7919c45a3 Bump scikit-learn from 0.24.0 to 1.0.2
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 0.24.0 to 1.0.2.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/0.24.0...1.0.2)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-21 18:11:18 +01:00
shamoon d24826a58e Project actions on dev too
[ci skip]
2022-03-21 08:55:21 -07:00
Michael Shamoon 3dfadcc397 prettier 2022-03-21 08:38:01 -07:00
Michael Shamoon 98d677dc0b Merge branch 'main' into dev 2022-03-21 08:36:44 -07:00
shamoon 4f28225188 Merge pull request #462 from paperless-ngx/update-development-documentation
Remove and integrate content from contributing.rst
2022-03-21 08:26:16 -07:00
Michael Shamoon 8059039ef4 Remove and integrate content from contributing.rst 2022-03-20 23:51:10 -07:00
Paperless Translation Bot 682f3fdc3e New Crowdin updates (#423)
* New translations messages.xlf (French)
[ci skip]

* New translations django.po (Luxembourgish)
[ci skip]

* New translations messages.xlf (Portuguese, Brazilian)
[ci skip]

* New translations django.po (Portuguese, Brazilian)
[ci skip]
2022-03-20 21:09:25 -07:00
shamoon 6f7aaba7fa Add Automatic Project Actions
[ci skip]
2022-03-20 20:53:30 -07:00
Trenton Holmes ea7a1012b9 Uses a change file action to filter only changed src/ files 2022-03-20 21:50:54 +01:00
Trenton Holmes f24373699e Disables coveralls step for dependabot branches/pulls 2022-03-20 21:50:54 +01:00
shamoon f74e15840d Merge pull request #393 from stumpylog/fix-imap-tools-bug
Fix imap tools bug
2022-03-20 13:37:17 -07:00
Schnuffle c2c8a27545 Corrections to pass pre-commit hooks 2022-03-20 15:58:37 +01:00
shamoon 0979f3c5c3 Merge pull request #446 from MaaxGr/fix-dev-docs
master to main in paperless development docs and CONTRIBUTING.md
2022-03-19 12:01:04 -07:00
shamoon 6f2fd1e2da Merge pull request #449 from paperless-ngx/marbar1-fix-typo
Fix typo: paperles(s)
2022-03-19 11:58:57 -07:00
marbar1 597effc856 Fix typo: paperles(s) 2022-03-19 19:37:52 +01:00
Max 30b3510fbd master to main in CONTRIBUTING.md 2022-03-19 17:37:43 +01:00
Max 0cf9b11c3e master to main in paperless development docs 2022-03-19 17:34:28 +01:00
shamoon 0388ce3e5b Merge pull request #298 from paperless-ngx/feature-loading-screen
Feature: App loading screen
2022-03-19 07:38:21 -07:00
Quinn Casey 1ea6a14437 Merge pull request #443 from paperless-ngx/doc-unraid-template
Update documentation on how to install paperless on Unraid
2022-03-19 17:34:22 +07:00
Felix E e8a073d538 Merge pull request #440 from addich/fix-374
Allow USERMAP_UID to re-use existing UIDs
2022-03-19 11:04:36 +01:00
Felix E c8ac686b22 Merge pull request #35 from Tooa/1250-gotenberg-follow-up
fix(gotenberg): use command flags
2022-03-19 11:03:32 +01:00
Felix E 81cfd13b4a Merge pull request #442 from paperless-ngx/fix-allow-shorter-search
Allow shorter search strings with Enter key
2022-03-19 10:24:14 +01:00
Uli 73a3abe535 docs: use link for Unraid store 2022-03-19 09:19:31 +01:00
Uli 9006dd12f3 docs: update Unraid FAQ section 2022-03-19 09:01:53 +01:00
shamoon 2bcbb89175 Merge pull request #419 from paperless-ngx/fix-missing-migration
Add missing migration for savedviewfilterrule
2022-03-18 23:36:14 -07:00
Michael Shamoon 39daddef34 Allow shorter search strings with Enter key 2022-03-18 23:30:26 -07:00
Michael Shamoon ff4538612e Codestyle cleanup 2022-03-18 21:37:38 -07:00
addi 1782d00cc5 fix issue 374 2022-03-18 23:26:04 +01:00
shamoon d4f468208e Merge pull request #415 from paperless-ngx/feature-improved-delay-button
Use progress bar for delayed buttons
2022-03-18 08:51:36 -07:00
Quinn Casey c60b708b9c Merge pull request #324 from stumpylog/more-ci-checks
Align CI checks with pre-commit (mostly)
2022-03-18 18:01:06 +07:00
Michael Shamoon 3dee012415 Use progress bar for button delay 2022-03-17 14:37:21 -07:00
Felix Eckhofer a1d1fb962b Add missing migration for savedviewfilterrule
Change introduced in d7cefabe98.
2022-03-17 13:19:26 +01:00
shamoon 24e02a6c5f Merge pull request #401 from paperless-ngx/fix-issue-288
Add minimum length for documents text filter
2022-03-17 03:22:19 -07:00
Michael Shamoon 4f352391ae Add minimum length to text filter 2022-03-16 08:46:07 -07:00
Paperless Translation Bot 4667e0bf88 New Crowdin updates (#342)
* New translations django.po (Romanian)
[ci skip]

* New translations django.po (Dutch)
[ci skip]

* New translations messages.xlf (Romanian)
[ci skip]

* New translations messages.xlf (Dutch)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations django.po (Slovenian)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations django.po (Polish)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]
2022-03-15 20:58:44 -07:00
Trenton Holmes 9544e6c757 Improves the mail handling testing to use more of the imap_tools library types instead of internal types 2022-03-15 16:25:51 -07:00
shamoon 83b5e1a49d Merge pull request #388 from paperless-ngx/update-dirty-check-forms
Update @ngneat/dirty-check-forms to 2.0.0
2022-03-15 15:34:33 -07:00
Trenton Holmes 4f287b5ecd Fixes the EmailAddress which was a dict and is now a class 2022-03-15 14:00:01 -07:00
Michael Shamoon 4c346be367 Update @ngneat/dirty-check-forms to 2.0.0 2022-03-15 13:49:43 -07:00
Michael Shamoon c87ac6f1ad Add bottom pagination for management lists 2022-03-15 10:17:19 -07:00
shamoon 02dc395880 Merge pull request #366 from paperless-ngx/fix-issue-365
Fix filterable dropdown buttons arent translated
2022-03-15 08:25:09 -07:00
Trenton Holmes 63a3e0b325 Merge pull request #330 from paperless-ngx/dependabot/pip/dev/sphinx-4.4.0
Bump sphinx from 3.4.3 to 4.4.0
2022-03-15 07:45:37 -07:00
Michael Shamoon 01ae5688d7 Add bottom pagination 2022-03-15 00:58:58 -07:00
Michael Shamoon ec8b10c85b Fix filterable dropdown buttons arent translated 2022-03-14 22:40:45 -07:00
shamoon 19ff8339be Merge pull request #304 from paperless-ngx/pull-request-template
Create PULL_REQUEST_TEMPLATE.md
2022-03-14 16:26:04 -07:00
shamoon a440b712de Merge pull request #355 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/rxjs-7.5.5
Bump rxjs from 6.6.7 to 7.5.5 in /src-ui
2022-03-14 16:24:26 -07:00
Michael Shamoon 3653045922 rxjs7 compatibility 2022-03-14 16:23:14 -07:00
dependabot[bot] 0d7438e398 Bump rxjs from 6.6.7 to 7.5.5 in /src-ui
Bumps [rxjs](https://github.com/reactivex/rxjs) from 6.6.7 to 7.5.5.
- [Release notes](https://github.com/reactivex/rxjs/releases)
- [Changelog](https://github.com/ReactiveX/rxjs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/reactivex/rxjs/compare/6.6.7...7.5.5)

---
updated-dependencies:
- dependency-name: rxjs
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 23:07:51 +00:00
shamoon 81b17bec69 Merge pull request #353 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/angular/cli-13.2.6
Bump @angular/cli from 13.2.5 to 13.2.6 in /src-ui
2022-03-14 16:06:53 -07:00
dependabot[bot] e43c446c38 Bump @angular/cli from 13.2.5 to 13.2.6 in /src-ui
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 13.2.5 to 13.2.6.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/13.2.5...13.2.6)

---
updated-dependencies:
- dependency-name: "@angular/cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 23:03:13 +00:00
shamoon 0cb442c6e0 Merge pull request #354 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/angular/animations-13.2.6
Bump @angular/animations from 13.2.5 to 13.2.6 in /src-ui
2022-03-14 16:02:20 -07:00
dependabot[bot] 17ea079fcd Bump @angular/animations from 13.2.5 to 13.2.6 in /src-ui
Bumps [@angular/animations](https://github.com/angular/angular/tree/HEAD/packages/animations) from 13.2.5 to 13.2.6.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.2.6/packages/animations)

---
updated-dependencies:
- dependency-name: "@angular/animations"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 22:58:58 +00:00
shamoon 2270aefdee Merge pull request #352 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/angular/common-13.2.6
Bump @angular/common from 13.2.5 to 13.2.6 in /src-ui
2022-03-14 15:58:03 -07:00
shamoon 30828bcbe0 Merge pull request #356 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/popperjs/core-2.11.4
Bump @popperjs/core from 2.11.2 to 2.11.4 in /src-ui
2022-03-14 15:50:13 -07:00
dependabot[bot] 4667adc64d Bump sphinx from 3.4.3 to 4.4.0
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 3.4.3 to 4.4.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v3.4.3...v4.4.0)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 22:29:17 +00:00
dependabot[bot] de779d453c Bump imap-tools from 0.52.0 to 0.53.0
Bumps [imap-tools](https://github.com/ikvk/imap_tools) from 0.52.0 to 0.53.0.
- [Release notes](https://github.com/ikvk/imap_tools/releases)
- [Changelog](https://github.com/ikvk/imap_tools/blob/master/docs/release_notes.rst)
- [Commits](https://github.com/ikvk/imap_tools/compare/v0.52.0...v0.53.0)

---
updated-dependencies:
- dependency-name: imap-tools
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 23:23:12 +01:00
dependabot[bot] fe959b30c6 Bump pytest from 7.0.1 to 7.1.0
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.0.1 to 7.1.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.0.1...7.1.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 23:22:39 +01:00
dependabot[bot] 3fcbb17a15 Bump @popperjs/core from 2.11.2 to 2.11.4 in /src-ui
Bumps [@popperjs/core](https://github.com/popperjs/popper-core) from 2.11.2 to 2.11.4.
- [Release notes](https://github.com/popperjs/popper-core/releases)
- [Commits](https://github.com/popperjs/popper-core/compare/v2.11.2...v2.11.4)

---
updated-dependencies:
- dependency-name: "@popperjs/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 20:21:40 +00:00
dependabot[bot] cdfde1d91f Bump @angular/common from 13.2.5 to 13.2.6 in /src-ui
Bumps [@angular/common](https://github.com/angular/angular/tree/HEAD/packages/common) from 13.2.5 to 13.2.6.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.2.6/packages/common)

---
updated-dependencies:
- dependency-name: "@angular/common"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 20:19:28 +00:00
dependabot[bot] 64a5b24e12 Bump ocrmypdf from 13.4.0 to 13.4.1
Bumps [ocrmypdf](https://github.com/jbarlow83/ocrmypdf) from 13.4.0 to 13.4.1.
- [Release notes](https://github.com/jbarlow83/ocrmypdf/releases)
- [Changelog](https://github.com/ocrmypdf/OCRmyPDF/blob/master/docs/release_notes.rst)
- [Commits](https://github.com/jbarlow83/ocrmypdf/compare/v13.4.0...v13.4.1)

---
updated-dependencies:
- dependency-name: ocrmypdf
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-14 19:39:06 +01:00
Trenton Holmes 7d29bd216d Adds back certain dependencies under certain Python versions to fix dependabot 2022-03-14 19:08:11 +01:00
Simon Siebert 1abd7cc2a0 Fixing Test 2022-03-14 19:03:09 +01:00
Simon Siebert 78608d92b4 Fixing code formating 2022-03-14 19:03:09 +01:00
Simon Siebert 54cbacf4f4 Update parsers.py and test_consumer.py 2022-03-14 19:03:09 +01:00
shamoon b43aae84ab Merge pull request #247 from paperless-ngx/locale-chinese-simplified
Add Chinese localization
2022-03-14 07:22:28 -07:00
shamoon 9d9789953b Merge pull request #322 from paperless-ngx/fix-sphinx-errors
Fix minor sphinx errors
2022-03-14 06:49:25 -07:00
Paperless Translation Bot 614eb930d3 New Crowdin updates (#308)
* New translations messages.xlf (Slovenian)
[ci skip]

* New translations django.po (Polish)
[ci skip]

* New translations messages.xlf (Polish)
[ci skip]

* New translations django.po (Polish)
[ci skip]

* New translations messages.xlf (Polish)
[ci skip]
2022-03-13 21:18:34 -07:00
dependabot[bot] 62094a2098 Bump @angular-devkit/build-angular from 13.2.5 to 13.2.6 in /src-ui (#329)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 13.2.5 to 13.2.6.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Changelog](https://github.com/angular/angular-cli/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular-cli/compare/13.2.5...13.2.6)

---
updated-dependencies:
- dependency-name: "@angular-devkit/build-angular"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-13 21:17:43 -07:00
dependabot[bot] 84ed805fd7 Bump karma-chrome-launcher from 3.1.0 to 3.1.1 in /src-ui (#328)
Bumps [karma-chrome-launcher](https://github.com/karma-runner/karma-chrome-launcher) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/karma-runner/karma-chrome-launcher/releases)
- [Changelog](https://github.com/karma-runner/karma-chrome-launcher/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma-chrome-launcher/compare/v3.1.0...v3.1.1)

---
updated-dependencies:
- dependency-name: karma-chrome-launcher
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-13 21:14:49 -07:00
dependabot[bot] 82a158e803 Bump @angular/localize from 13.2.5 to 13.2.6 in /src-ui (#327)
Bumps [@angular/localize](https://github.com/angular/angular) from 13.2.5 to 13.2.6.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/compare/13.2.5...13.2.6)

---
updated-dependencies:
- dependency-name: "@angular/localize"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-13 21:11:11 -07:00
dependabot[bot] 1527ae1472 Bump @angular/router from 13.2.5 to 13.2.6 in /src-ui (#326)
Bumps [@angular/router](https://github.com/angular/angular/tree/HEAD/packages/router) from 13.2.5 to 13.2.6.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.2.6/packages/router)

---
updated-dependencies:
- dependency-name: "@angular/router"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-13 21:03:27 -07:00
dependabot[bot] 5d1e86fdc3 Bump @angular/forms from 13.2.5 to 13.2.6 in /src-ui (#325)
Bumps [@angular/forms](https://github.com/angular/angular/tree/HEAD/packages/forms) from 13.2.5 to 13.2.6.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.2.6/packages/forms)

---
updated-dependencies:
- dependency-name: "@angular/forms"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-13 21:00:13 -07:00
shamoon a6d2a390f0 Add review groups 2022-03-13 20:54:06 -07:00
Michael Shamoon a47ec7c77d Add timeout warning 2022-03-13 20:45:14 -07:00
Trenton Holmes ee1404d99e Adds additional CI checks for the backend and frontend, to complement pre-commit hooks which should already be run 2022-03-13 19:37:34 -07:00
shamoon 2caba558d7 Revert "Bump sphinx from 3.4.3 to 4.4.0" (#323) 2022-03-13 19:27:02 -07:00
shamoon 5e4119f6a9 Merge pull request #183 from paperless-ngx/dependabot/pip/dev/sphinx-4.4.0
Bump sphinx from 3.4.3 to 4.4.0
2022-03-13 19:06:42 -07:00
Michael Shamoon 6b46b43367 Fix minor sphinx errors 2022-03-13 17:48:17 -07:00
shamoon 460f10f46a Merge pull request #314 from paperless-ngx/fix-issue-312
Fix page links hidden
2022-03-13 16:31:57 -07:00
Michael Shamoon 37c6201a5a Add Chinese localization
Addresses https://github.com/paperless-ngx/paperless-ngx/issues/134#issuecomment-1062950795
2022-03-13 14:26:52 -07:00
shamoon 4184988c0c Merge pull request #315 from paperless-ngx/locale-slovenian
Add Slovenian language for frontend
2022-03-13 14:24:59 -07:00
Trenton Holmes 3264015dac Merge pull request #296 from stumpylog/ci-cache-venv
Updates actions to use GHA Python pipenv caching
2022-03-13 14:00:23 -07:00
Michael Shamoon d1c785d1d0 Add Slovenian language for frontend
See #303
2022-03-13 09:15:42 -07:00
Michael Shamoon abd63df75b Fix page links hidden
Closes #312
2022-03-13 09:05:29 -07:00
Michael Shamoon 57f35292d5 Fix dark mode selected table row background color 2022-03-13 08:45:39 -07:00
Michael Shamoon 7bd6f4a4ea Prevent event collision 2022-03-13 08:41:36 -07:00
Trenton Holmes 35de8e6ad5 Changes the pipenv install to be a sync 2022-03-13 08:20:40 -07:00
Trenton Holmes 1549edfd55 Changes codestyle and documentation steps to use cache as well 2022-03-13 08:07:28 -07:00
Trenton Holmes f33cf6cc2e Fixes coveralls not running 2022-03-13 08:07:28 -07:00
Trenton Holmes 3a8cffe3ce Removes duplicated install of pipenv, changes to use pipx as per the official example 2022-03-13 08:07:28 -07:00
Trenton Holmes 58066443de Updates GHA to use the setup-python pipenv caching 2022-03-13 08:07:28 -07:00
shamoon 20566b6571 Add note to include how to test 2022-03-13 04:14:00 -07:00
shamoon af52544792 Update PR template with suggestions 2022-03-13 03:56:59 -07:00
Paperless Translation Bot 594445f6dd New Crowdin updates (#305)
* New translations django.po (Slovenian)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]
2022-03-13 03:20:56 -07:00
shamoon c3e86f0f21 Merge pull request #306 from lippoliv/feature-ignore-vscode-folder
ignore vscode folder
2022-03-13 01:22:34 -08:00
Oliver Lippert d80102a7a4 ignore .vscode folder
Signed-off-by: Oliver Lippert <oliver@allesit.de>
2022-03-13 10:17:42 +01:00
Paperless Translation Bot e886c38b45 New translations messages.xlf (Slovenian) (#303)
[ci skip]
2022-03-13 01:16:46 -08:00
shamoon 33a5823801 Update PULL_REQUEST_TEMPLATE.md 2022-03-13 01:15:15 -08:00
shamoon b220d15fff Create PULL_REQUEST_TEMPLATE.md 2022-03-13 01:08:49 -08:00
Tooa 6fb856ee70 fix(gotenberg): use command flags
Gotenberg v7 does not use environment variables anymore, but command's flags.

See: https://gotenberg.dev/docs/get-started/docker-compose#modules-properties
2022-03-13 07:40:31 +01:00
Paperless Translation Bot 3922588716 New Crowdin updates (#292)
* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations django.po (Slovak)
[ci skip]

* New translations messages.xlf (Slovak)
[ci skip]

* New translations django.po (Slovak)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]
2022-03-12 20:24:22 -08:00
shamoon 940b12a908 Merge pull request #297 from stumpylog/dependabot-gha-updates
Enable dependabot GHA updates
2022-03-12 20:12:28 -08:00
Michael Shamoon db5349881d App loading screen 2022-03-12 20:09:16 -08:00
Trenton Holmes 0edfe83a23 Enables dependabot for Github Action versions 2022-03-12 18:03:39 -08:00
Oliver Lippert 7abc6440f6 add link to setup instructions for bare metal (#221) 2022-03-12 08:43:12 -08:00
Quinn Casey 168ce2111d Merge pull request #278 from stumpylog/pre-commit-python-changes
Python Cleanup from pre-commit
2022-03-12 08:09:13 -08:00
Paperless Translation Bot 617d0bfee7 New translations messages.xlf (Portuguese, Brazilian) (#286)
[ci skip]
2022-03-12 03:10:58 -08:00
Quinn Casey 0d0da0d623 Merge pull request #275 from paperless-ngx/org-membership
Add Organization Structure & Membership
2022-03-11 12:39:42 -08:00
Trenton Holmes dc657f2eb0 Maybe make CodeQL happy about this exception handling 2022-03-11 12:39:40 -08:00
shamoon ef2b4a7536 Merge pull request #276 from paperless-ngx/prettier-cleanup-ts-js-md
Prettier cleanup for .ts .js and .md files
2022-03-11 12:31:21 -08:00
Michael Shamoon e41d75c374 Prettier code cleanup for PR #273 2022-03-11 12:00:31 -08:00
Michael Shamoon eb55f5655f Prettier code cleanup for .md files 2022-03-11 11:58:19 -08:00
Michael Shamoon 9f72bf7745 Prettier code cleanup for .js files
See #182
2022-03-11 11:58:19 -08:00
Michael Shamoon f34202a82a Prettier code cleanup for .ts files
See #182
2022-03-11 11:58:19 -08:00
shamoon f8c8161a3e Merge pull request #273 from GruberViktor/dev
Added nav buttons in the document detail view
2022-03-11 11:57:03 -08:00
GruberViktorandshamoon 63aafd3133 remove automatic focus on title in document-detail view
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2022-03-11 20:54:24 +01:00
Trenton Holmes e2303235cd Fixes what looks like a conflict between black and flake8 2022-03-11 11:34:32 -08:00
Trenton Holmes 1771d18a21 Runs the pre-commit hooks over all the Python files 2022-03-11 11:34:28 -08:00
GruberViktorandshamoon d02a0b2213 remove text from close-button in the document-detail view
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2022-03-11 20:22:39 +01:00
GruberViktorandshamoon 6cbbd0c515 Apply suggestions from code review
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2022-03-11 20:16:53 +01:00
Quinn Casey cae26f4f70 Fix typo 2022-03-11 11:01:24 -08:00
dependabot[bot] f328d1461f Bump sphinx from 3.4.3 to 4.4.0
Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 3.4.3 to 4.4.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/4.x/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v3.4.3...v4.4.0)

---
updated-dependencies:
- dependency-name: sphinx
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-11 18:56:10 +00:00
Quinn Casey d3e9799279 Merge pull request #182 from stumpylog/pre-commit-hooks
Adds pre-commit hooks for linting and formatting
2022-03-11 10:50:04 -08:00
Paperless Translation Bot 14eefe1f5d New Crowdin updates (#265)
* New translations django.po (Portuguese)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations django.po (German)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]
2022-03-11 10:49:59 -08:00
Trenton Holmes 6c2cc4cf50 Configures prettier formatting further 2022-03-11 10:32:25 -08:00
shamoon 440f4729ac Merge pull request #253 from paperless-ngx/feature-better-date-keyboard-input
Improve date keyboard input
2022-03-11 10:27:56 -08:00
Quinn Casey e1c6042189 Add Organization Structure & Membership 2022-03-11 10:23:59 -08:00
Quinn Casey 55a057307c Merge pull request #274 from paperless-ngx/add-code-of-conduct-1
Add `CODE_OF_CONDUCT.md`
2022-03-11 09:44:50 -08:00
Trenton Holmes 8a5176e593 Updates the documentation to include installation of the pre-commit hooks 2022-03-11 09:26:41 -08:00
Quinn Casey a757778fba Create CODE_OF_CONDUCT.md 2022-03-11 09:09:48 -08:00
Viktor 1259911275 Added nav buttons in the document detail view
Sometimes, when you are looking for a document, you need to go into the document-detail view
to read the pdf. To view the next document in the detail view, normally you would go back and
then click on the next.

Here I added two buttons to the toolbar to traverse throught the documents easily.
2022-03-11 17:35:38 +01:00
Michael Shamoon 4e4035a867 Fix enter key was prevented 2022-03-11 08:11:35 -08:00
shamoon 9bd87e78dc Merge pull request #263 from paperless-ngx/fix-dropdown-count
Fix: Include excluded items in dropdown count
2022-03-11 08:08:54 -08:00
Trenton Holmes 12a1c4ccbf Ensures Pipfile and requirements are up to date 2022-03-11 07:07:28 -08:00
Trenton Holmes 888e17cb91 Removes flake8 ignored warnings and errors, as black formatting will take care of almost all of these 2022-03-11 07:07:28 -08:00
Trenton Holmes 0fa48cea2a Updates the beautysh hook to use tabs, as this reduces the diff of the output. Updates .editorconfig to use spaces in Markdown files to match prettier formatting 2022-03-11 07:07:27 -08:00
Trenton Holmes 9b7d393d5d Removes migrations exclusion from black formatting 2022-03-11 07:07:27 -08:00
Trenton Holmes cc702cbdfa Adds commenting and a little organization to the hook configuration 2022-03-11 07:07:26 -08:00
Trenton Holmes e8ddb0c427 Removes tslint which doesn't work. Adds exclusions of the migrations folder to Python related hooks 2022-03-11 07:07:26 -08:00
Trenton Holmes feb677e656 Adds and configures pre-commit hooks for linting and formatting during development 2022-03-11 07:07:25 -08:00
Quinn Casey c19dd81ecf Merge pull request #242 from stumpylog/resolve-test-warnings
Reduce warnings in test suite
2022-03-11 05:54:19 -08:00
shamoon 01a50a3a98 Merge pull request #262 from kpj/fix-install_url
Fix install url in docs
2022-03-11 01:27:18 -08:00
Michael Shamoon 8920a32c75 Include excluded items in dropdown count 2022-03-11 01:17:19 -08:00
Michael Shamoon 4773d0bb7f semicolons 2022-03-11 01:03:43 -08:00
Michael Shamoon 20a6c5e7b7 more code cleanup 2022-03-11 00:52:32 -08:00
Michael Shamoon 0826e0f96b code cleanup 2022-03-11 00:48:06 -08:00
Kim bd374f4c36 Also update other occurrences of master branch to main 2022-03-11 09:45:44 +01:00
Kim bac8849f2d Use main instead of master branch in install URL 2022-03-11 09:39:01 +01:00
Michael Shamoon ad87c3c87d Fix dropdown inputs 2022-03-11 00:29:59 -08:00
Michael Shamoon 4c7eb34290 Move padding into date formatter 2022-03-11 00:28:06 -08:00
Michael Shamoon a1fd9f7310 Limit date input field chars and length 2022-03-11 00:11:59 -08:00
Michael Shamoon 9433908218 Delineate -ngx from -ng in changelog 2022-03-10 23:15:12 -08:00
shamoon 8f1c4cd9c4 Merge pull request #243 from paperless-ngx/css-variables
Custom color theming
2022-03-10 19:26:15 -08:00
Trenton Holmes 85b210ebf6 Reduces number of warnings from testing from 165 to 128. In doing so, fixes a few minor things in the decrypt and export commands 2022-03-10 18:12:48 -08:00
Michael Shamoon af7ffa3878 Allow date dropdowns to use new formatter 2022-03-10 16:48:03 -08:00
Michael Shamoon 96a84d16a6 Merge branch 'main' into dev 2022-03-10 16:40:38 -08:00
Michael Shamoon 0737ea30e8 fix comment 2022-03-10 15:27:02 -08:00
Michael Shamoon 1807811903 Allow formatting non-padded dates 2022-03-10 15:17:32 -08:00
Michael Shamoon a33dce1948 Code formatting 2022-03-10 15:17:32 -08:00
Michael Shamoon ef4dc1b49e strip all delimiters 2022-03-10 15:17:31 -08:00
Michael Shamoon 0f886be109 semicolon 2022-03-10 15:17:31 -08:00
shamoon 73a597855f Merge pull request #250 from GruberViktor/date_parser
Parse dates when entered without separators
2022-03-10 15:16:50 -08:00
Quinn Casey 86d9c94962 Fix failed docker run on multi-tags 2022-03-10 14:58:28 -08:00
Quinn Casey 21ec2dfa68 Merge pull request #251 from paperless-ngx/dependabot-label-fix
Make dependabot labels consistent
2022-03-10 14:06:28 -08:00
Quinn Casey 296d1d1b61 Make dependabot labels consistent 2022-03-10 14:01:58 -08:00
Michael Shamoon af536dfefb Fix outline buttons become invisible in light mode 2022-03-10 13:59:31 -08:00
Michael Shamoon 7d7c5207d7 Fix changing theme incorrectly affects dark mode settings 2022-03-10 13:56:22 -08:00
Viktor 52f0a3dfb9 Parse dates when entered without separators
This adds date dividers if none are entered.
It also adds the current year if it wasn't entered.

This allows users to just enter 1003, 100322, 10032022 and
have it expanded to 10.03.2022, in the case of the German format.
(All other formats are also supported)

It also replaces commas with the date divider.
This allows quick entry of the date on the numpad.
2022-03-10 21:31:54 +01:00
Quinn Casey 4532bed7bc 1.6.0 2022-03-10 12:09:19 -08:00
shamoon d3bccc049b 1.6.0
[skip ci]
2022-03-10 12:03:00 -08:00
shamoon 333321e600 Merge pull request #213 from paperless-ngx/beta
Merge 1.6.0 Release Candidate
2022-03-10 12:01:31 -08:00
Ingo Sigmund 081f11af40 Merge pull request #214 from isigmund/dev 2022-03-10 15:09:33 +01:00
Ingo Sigmund 9f0f458a02 Merge pull request #23 from flofeld/patch-1 2022-03-10 15:06:12 +01:00
Paperless Translation Bot e74c716588 New Crowdin updates (#244)
* New translations django.po (Italian)
[ci skip]

* New translations messages.xlf (Italian)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations messages.xlf (Italian)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations django.po (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations django.po (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]
2022-03-09 16:21:06 -08:00
Florian FeldmannandIngo Sigmund 89bd0791dc Apply suggestions from code review
Co-authored-by: Ingo Sigmund <Ingo.sigmund@web.de>
2022-03-10 01:11:23 +01:00
Michael Shamoon a591614a39 Component methods arent really private 2022-03-09 15:43:06 -08:00
Michael Shamoon 0085c8351e Prevent overriding other settings 2022-03-09 15:40:04 -08:00
Michael Shamoon 4df7f92a56 Working conversion 2022-03-09 15:34:26 -08:00
Michael Shamoon 1841cefbd8 Converting colors experiment 2022-03-09 15:19:42 -08:00
Michael Shamoon f13ae930a5 Allow non-hex color modes from color component 2022-03-09 14:12:39 -08:00
Michael Shamoon dbe233f0ae Skeleton implementation of color setting 2022-03-09 14:12:28 -08:00
Michael Shamoon 17e5f6d76b refactor variable names 2022-03-09 11:13:58 -08:00
Michael Shamoon f52d167da3 fix some missed focus styles 2022-03-09 11:10:26 -08:00
Michael Shamoon 63aa7128a7 Increase contrast for dark mode colored buttons 2022-03-08 16:48:31 -08:00
Michael Shamoon d30a652fc1 Make correspondent links on cards buttons 2022-03-08 16:45:36 -08:00
Michael Shamoon 1cd0684f62 tweak dark mode bg coloring 2022-03-08 16:41:56 -08:00
Michael Shamoon bc97a13a62 fix logo coloring, saved view widget link, card coloring 2022-03-08 16:41:49 -08:00
Michael Shamoon db98eed392 fix some light mode stuff due to specificity 2022-03-08 16:28:58 -08:00
Michael Shamoon 76115d6a81 checkbox focus color 2022-03-08 16:05:21 -08:00
Michael Shamoon 9e2fd52434 tab switching styling 2022-03-08 16:03:32 -08:00
Michael Shamoon 7ca12c3dc4 toasts 2022-03-08 16:02:16 -08:00
Michael Shamoon 3dffa09977 fix some focus styling 2022-03-08 15:50:10 -08:00
Michael Shamoon 7c313eed33 unify some button colors 2022-03-08 15:38:16 -08:00
Michael Shamoon 383cf7f4d5 fix some buttons, focus shadow 2022-03-08 15:22:17 -08:00
Michael Shamoon 4babf0d102 Initial conversion to css variables 2022-03-08 14:49:40 -08:00
Quinn Casey df4567f9e4 Merge pull request #236 from stumpylog/minimal-pipfile
Remove non-direct dependencies from Pipfile
2022-03-08 06:25:58 -08:00
Quinn Casey db2bf66eee Merge pull request #235 from paperless-ngx/1.6.0-rc1-dependency-updates
Update @angular/common, @angular/forms, @angular/platform-browser, ts-node, @angular/router
2022-03-08 06:12:49 -08:00
Michael Shamoon 36eaafa52a Update @angular/common, @angular/forms, @angular/platform-browser, ts-node, @angular/router
Closes #228
Closes #229
Closes #230
Closes #231
Closes #232
2022-03-07 13:07:04 -08:00
Trenton Holmes f4d09d46f4 Removes certain packages from the Pipfile 2022-03-07 12:15:16 -08:00
shamoon 01c1b42319 Merge pull request #226 from paperless-ngx/fix-issue-225-management-page-filtering
Fix issue #225 management page filtering, add esc clearing of filter field
2022-03-07 10:50:52 -08:00
Michael Shamoon 472a3a54ab Allow esc key clearing, autofocus on management lists 2022-03-07 09:45:58 -08:00
Michael Shamoon 9fbf9923dc Page parameter breaks filtering on mangement pages
Closes #225
2022-03-07 09:45:39 -08:00
Ingo Sigmund 9d3242c13e Merge branch 'dev' of https://github.com/isigmund/paperless-ngx into dev 2022-03-06 18:03:24 +01:00
Ingo Sigmund 08c6a21bbb Revert "remove logic to delete dangling volumes: node"
This reverts commit c2da0ce521.
2022-03-06 18:03:19 +01:00
Ingo Sigmund 7d18be9928 Merge branch 'paperless-ngx:dev' into dev 2022-03-06 17:43:57 +01:00
Quinn Casey 748fe3b89f Merge pull request #219 from paperless-ngx/1.6.0-rc1-frontend-fixes1
1.6.0 rc1 frontend fixes 1
2022-03-06 08:38:34 -08:00
Michael Shamoon b383e7dd08 Reduce debounce to avoid title erasing
Closes #216
2022-03-05 20:12:17 -08:00
Michael Shamoon 33ab69e010 Clone tags array to prevent false dirty check
Closes #215
2022-03-05 20:12:17 -08:00
shamoon c52070d554 Merge pull request #212 from paperless-ngx/l10n_dev
New Crowdin updates
2022-03-05 20:10:52 -08:00
Quinn Casey 1d67c32351 [skip ci] Add variable body to fix incorrect changelog 2022-03-05 14:49:52 -08:00
Paperless Translation Bot 23d6589a73 New translations messages.xlf (Spanish)
[ci skip]
2022-03-05 08:50:51 -08:00
Ingo Sigmund 3ae73e7df5 Merge branch 'paperless-ngx:dev' into dev 2022-03-05 12:12:42 +01:00
Paperless Translation Bot 8f3f60d249 New translations messages.xlf (Spanish)
[ci skip]
2022-03-05 03:09:56 -08:00
Ingo Sigmund 16664789d2 remove volume: if no named volumes are used 2022-03-05 12:07:52 +01:00
Paperless Translation Bot f97aae1fd8 New translations django.po (Luxembourgish)
[ci skip]
2022-03-04 15:16:09 -08:00
Paperless Translation Bot 7e1bbecc9f New translations django.po (German)
[ci skip]
2022-03-04 15:16:08 -08:00
Paperless Translation Bot 376a56df26 New translations django.po (Luxembourgish)
[ci skip]
2022-03-04 14:17:33 -08:00
Quinn Casey c41b86eb68 [skip ci] Add #24 to changelog 2022-03-04 13:17:24 -08:00
Quinn Casey 77cc7cebf9 Fix close paren 2022-03-04 12:29:34 -08:00
Quinn Casey f61105c041 Ensure build isn't skipped on beta tag 2022-03-04 12:28:03 -08:00
Quinn Casey b4dc073a48 Add additional translations 2022-03-04 12:01:19 -08:00
Quinn Casey 2324f91622 [skip ci] Changelog update
commit 7a12f84cace09f4c0503ef6475608eee68986305
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Wed Mar 2 09:55:56 2022 -0800

    Update to PR 200

commit 689310678f2e53bc6600e49faeb49668449a5657
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Tue Mar 1 14:51:27 2022 -0800

    Proper tense

commit f42ce25fe770609a4f0bea7342cb4b8b48c84a4d
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Tue Mar 1 14:50:31 2022 -0800

    Add PR 168

commit 95cae8f7eabfa4623f1190bfe004056dccf51bfb
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Tue Mar 1 14:47:27 2022 -0800

    Update to PR 192

commit 0cad422be33412a87cdfe0ca208db72fc75a9098
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Tue Feb 22 09:21:46 2022 -0800

    Update to PR 131

commit 01eb86c242bbe6cc0768012b68e5bb55adcf84f9
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Fri Feb 18 11:15:21 2022 -0800

    Added more people

commit 29c2d714747201daeb7191f54602d3a792194657
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Fri Feb 18 10:50:11 2022 -0800

    Update changelog up to PR 91

commit f17f237b41ff0d6ff6746e0efe64a91d38b21f7a
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Thu Feb 17 10:21:36 2022 -0800

    Remove trailing whitespace

commit 34f28195261846261849378b6839a075a926e28d
Author: Quinn Casey <quinn@quinncasey.com>
Date:   Thu Feb 17 10:07:10 2022 -0800

    Update changelog up to PR 77
2022-03-04 11:28:57 -08:00
Quinn Casey 6b5c89b6f8 Tag on beta to prerelease 2022-03-04 09:15:59 -08:00
Quinn Casey e5e94ffb6d Move build-docker-image before release pipeline 2022-03-04 08:36:13 -08:00
Quinn Casey e3584eb61e Add beta to docker build 2022-03-04 08:31:17 -08:00
Michael Shamoon bb5d8497c9 1.6.0-rc1 version string 2022-03-04 08:30:03 -08:00
Quinn Casey 3ea6028c9f Merge pull request #209 from paperless-ngx/feature-ci-ngx-dirs
Update CI from -ng to -ngx
2022-03-04 08:28:01 -08:00
shamoon 6e901ff362 Merge pull request #206 from paperless-ngx/update-docs-migration-ng-to-ngx
Add information about switching from -ng to -ngx
2022-03-03 13:23:03 -08:00
shamoon d1032e4d7d Fix the grammars in setup.rst 2022-03-03 13:20:29 -08:00
Michael Shamoon 67efda7cf4 Add migration line to readme 2022-03-03 13:02:58 -08:00
shamoon 0545d9bab7 More explicit instructions 2022-03-03 12:55:34 -08:00
shamoon a233e5d404 Add note to pull new image 2022-03-03 11:07:48 -08:00
shamoon 2484563ac7 Add information about switching from -ng to -ngx
Closes #204
2022-03-03 10:11:58 -08:00
Paperless Translation Bot 4d4ed7bc7b New Crowdin updates (#202)
* New translations django.po (Danish)
[ci skip]

* New translations messages.xlf (Danish)
[ci skip]

* New translations messages.xlf (Danish)
[ci skip]

* New translations django.po (French)
[ci skip]

* New translations django.po (French)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations django.po (Danish)
[ci skip]

* New translations messages.xlf (French)
[ci skip]
2022-03-03 09:40:22 -08:00
Ingo Sigmund e75ea257e8 Correct install script (stop creating unused named volumes) 2022-03-03 15:17:54 +01:00
Ingo Sigmund ff9df4a6ed Merge pull request #173 from paperless-ngx/feature-fix-install-script
Install: Ask for database folder mount when using postgres
2022-03-03 10:16:47 +01:00
Paperless Translation Bot fdc051114b New Crowdin updates (#201)
* New translations django.po (Romanian)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations messages.xlf (German)
[ci skip]

* New translations messages.xlf (Greek)
[ci skip]

* New translations messages.xlf (Hebrew)
[ci skip]

* New translations messages.xlf (Italian)
[ci skip]

* New translations messages.xlf (Korean)
[ci skip]

* New translations messages.xlf (Dutch)
[ci skip]

* New translations messages.xlf (Polish)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations messages.xlf (Spanish)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations messages.xlf (Swedish)
[ci skip]

* New translations messages.xlf (Chinese Traditional)
[ci skip]

* New translations messages.xlf (Portuguese, Brazilian)
[ci skip]

* New translations messages.xlf (Khmer)
[ci skip]

* New translations messages.xlf (Luxembourgish)
[ci skip]

* New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]

* New translations django.po (Danish)
[ci skip]

* New translations messages.xlf (Czech)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations django.po (French)
[ci skip]

* New translations django.po (Polish)
[ci skip]

* New translations django.po (Spanish)
[ci skip]

* New translations django.po (Czech)
[ci skip]

* New translations django.po (German)
[ci skip]

* New translations django.po (Greek)
[ci skip]

* New translations django.po (Hebrew)
[ci skip]

* New translations django.po (Italian)
[ci skip]

* New translations django.po (Korean)
[ci skip]

* New translations django.po (Dutch)
[ci skip]

* New translations django.po (Portuguese)
[ci skip]

* New translations messages.xlf (Romanian)
[ci skip]

* New translations django.po (Russian)
[ci skip]

* New translations django.po (Slovenian)
[ci skip]

* New translations django.po (Swedish)
[ci skip]

* New translations django.po (Chinese Traditional)
[ci skip]

* New translations django.po (Portuguese, Brazilian)
[ci skip]

* New translations django.po (Khmer)
[ci skip]

* New translations django.po (Luxembourgish)
[ci skip]

* New translations django.po (Arabic, Saudi Arabia)
[ci skip]

* New translations messages.xlf (Danish)
[ci skip]
2022-03-02 14:42:46 -08:00
shamoon 7aa8dcb0e3 Merge pull request #195 from paperless-ngx/update-ngx-in-docs
Update remaining references to -ngx
2022-03-02 14:17:27 -08:00
Quinn Casey 37531ec5e0 Fix "incorrect type" YAML error 2022-03-02 12:18:29 -08:00
Marc Schaefer f8991ca8e0 Switch ci.yml from ng to ngx 2022-03-02 21:00:43 +01:00
Michael Shamoon cd9c46e88e Update django.po 2022-03-02 11:27:53 -08:00
Michael Shamoon 04c28d4105 Update Angular messages.xlf 2022-03-02 11:21:39 -08:00
Quinn Casey 59975087c5 Update paperless-ng to paperless-ngx 2022-03-02 11:18:17 -08:00
Michael Shamoon 0f804937f7 Update -ngx in django templates / urls 2022-03-02 11:05:34 -08:00
Michael Shamoon f3cda7d551 Fix more -ngx references 2022-03-02 10:59:54 -08:00
shamoon 209dba6a4a Fix some -ngx references, -ngx community support 2022-03-02 10:04:27 -08:00
Quinn Casey 43bc42826b Add newline 2022-03-02 10:03:37 -08:00
Quinn Casey 004375b478 Add org.opencontainers.image labels 2022-03-02 10:03:37 -08:00
Quinn Casey 49a1c3f8c2 Update maintainer email 2022-03-02 10:03:37 -08:00
Quinn Casey c748394ff0 Update docs, yml to -ngx 2022-03-02 10:03:37 -08:00
Quinn Casey 9d246b1ad4 Merge pull request #193 from tim-vogel/fix_191
fix document_export issue (#191)
2022-03-02 09:46:30 -08:00
shamoon 038dc21c78 Merge pull request #199 from jschpp/fix-upstream#1672
Switched to `flag()`
2022-03-02 09:39:04 -08:00
Tim Vogel 7c758c0750 fix document_export issue (#191) 2022-03-02 09:35:02 -08:00
Johannes Schöpp 0925c90047 Switched to flag()
Newer versions of imap_tools moved away from `seen()` in favour of
`flag()` and deprecated the former.

This fixes https://github.com/jonaswinkler/paperless-ng/issues/1672

I also remove the mocked `seen()` function and updated the `flag()` mock
2022-03-02 17:48:02 +01:00
shamoon 74b94bc66a Add documents screenshots w browser chrome 2022-03-02 15:49:50 +01:00
shamoon 65e2177964 Add fixpending label to prevent stale 2022-03-02 15:49:50 +01:00
shamoon a48c6e5b43 Update stale.yml 2022-03-02 15:49:50 +01:00
shamoon b00f3102a6 Create stale.yml 2022-03-02 15:49:50 +01:00
Stéphane Brunner f8679a251e Use the image on ghcr.io (#104) 2022-03-02 15:49:50 +01:00
Johann Bauer 9484eb9f6b Enable dependabot for repository (#86) 2022-03-02 15:49:50 +01:00
shamoon dd6c25be13 Merge pull request #196 from paperless-ngx/fix-angular13-bs5-fixes-2
Angular 13 Bootstrap 5 fixes #2
2022-03-02 01:00:38 -08:00
shamoon 4e917b249d Fix scroll always visible on filterable dropdowns 2022-03-02 00:48:36 -08:00
shamoon a87f96d780 Fix date dropdown bs5 compatability 2022-03-02 00:48:20 -08:00
shamoon b959455ff8 Merge pull request #192 from paperless-ngx/fix-angular13-bs5-fixes-1
Angular 13 / Bootstrap 5 Fixes no. 1

Closes #189 and closes #188
2022-03-01 13:41:47 -08:00
Quinn CaseyandJohann Bauer 1e6c666df4 CI: Fix multi stage builds (#190)
* Try fixing build error

* --upgrade instead of --update

* Attempt to fix timeout

* Try build qpdf on arm64

* Revert "Try build qpdf on arm64"

This reverts commit 42823a4d28.

* Format

* Try with libqpdf-dev install

* Move libqpdf-dev install to else

* Try with correct uname

* Run docker container to extract frontend

Co-authored-by: Johann Bauer <bauerj@bauerj.eu>
2022-03-01 12:48:26 -08:00
Michael Shamoon 1fd0f45a02 fix filterable dropdown text color when open 2022-03-01 12:32:06 -08:00
Michael Shamoon 93487b1aeb Fix bs5 selects 2022-03-01 12:25:22 -08:00
Quinn Casey 0772231ac0 Merge pull request #185 from paperless-ngx/fix-build-prod-warning
Fix build --prod depreciated warning
2022-02-28 14:38:05 -08:00
shamoon 37a5627b40 Merge pull request #174 from paperless-ngx/22-02-deps-fix
Fix dependency conflicts, broken frontend build
2022-02-28 14:33:12 -08:00
Quinn Casey a679a1966a Fix build --prod depreciated warning 2022-02-28 12:39:28 -08:00
Michael Shamoon b21e8a77be Bump build-angular to 13.2.5 2022-02-28 12:26:29 -08:00
Quinn Casey 049a2dde96 Merge pull request #18 from benjaminfrank/systemd-socket-port-80
Enable non-root port 80 via systemd
2022-02-28 11:17:50 -08:00
Ingo Sigmund 78a4891dfc Merge pull request #159 from paperless-ngx/pipfile-update 2022-02-28 19:46:39 +01:00
Quinn Casey 5c9c10a6db Merge pull request #168 from kpj/feature-black
GitHub Actions workflow for black code formatting
2022-02-28 10:32:10 -08:00
Michael Shamoon 16cb3ee779 Dont downgrade tslib 2022-02-28 09:37:33 -08:00
Quinn Casey 5bfadc2147 Remove comment used for testing 2022-02-28 08:18:50 -08:00
Quinn Casey 80d05add03 Ask for database folder is using postgres 2022-02-28 08:07:57 -08:00
Quinn Casey 3493f4da7b Use $DATABASE_BACKEND to echo SQLite or not 2022-02-28 07:52:01 -08:00
Quinn Casey 374ce47fcd Swap Folder and Application config steps 2022-02-28 07:45:43 -08:00
Quinn Casey bc58e459ea Merge branch 'dev' into feature-black 2022-02-28 07:31:52 -08:00
Quinn Casey 25c8fe5c0e Merge pull request #172 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-28 06:29:40 -08:00
Quinn Casey dad9de3be3 Merge pull request #161 from stumpylog/multistep-build
Refactor: Do the npm compile as a Build step in docker (Multistep build)
2022-02-28 06:09:17 -08:00
Paperless Translation Bot f8d1fc749c New translations messages.xlf (Chinese Traditional)
[ci skip]
2022-02-28 01:41:16 -08:00
kpj bbd4da5a27 Revert "Update Pipfile.lock"
This reverts commit acc94dcde0.
2022-02-28 09:51:13 +01:00
kpj acc94dcde0 Update Pipfile.lock 2022-02-28 09:42:44 +01:00
kpj 72685b0330 Add black to dev-packages section of Pipfile 2022-02-28 09:42:30 +01:00
Felix E cffd59f9ba Merge pull request #170 from paperless-ngx/qcasey-patch-1
Fix typo in `extending.rst`
2022-02-28 08:54:30 +01:00
Michael Shamoon c5e55be84a Update package-lock.json, add popper 2022-02-27 22:32:00 -08:00
Quinn Casey 03b48078df Decrement build-angular 2022-02-27 19:39:47 -08:00
Quinn Casey f0908f3a58 Bump deps to fix TypeError, downgrade tslib for compat 2022-02-27 19:14:33 -08:00
49e6e54e0b Restructure README.md (#147)
* Restructure readme

* Fix line break

* Add Matrix badge

* Some grammar, removed comparison to Paperless

* Remove comparison to original paperless

* Updated documents screenshot (also dark / light)

* Reorganize a little, add demo

* fix link

* Demo note, fix TOC, add -ngx

* Make the logo smaller

For once its not 'make the logo bigger'

* Reorganizing, move more translation stuff into contributing.md

* fix 'community support' links

* https for demo

* Update autogenerated TOC

* Change GHCR.io to Github Packages

* Add curl install script

* Remove demo heading

* Remove trailing whitespace

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
Co-authored-by: Felix Eckhofer <felix@eckhofer.com>
2022-02-27 17:55:33 -08:00
Quinn Casey cbe4e698c5 Fix typo in extending.rst
```
unknown shorthand flag: 'r' in -restart
See 'docker run --help'.
```

I think this should be `--restart`
2022-02-27 17:02:00 -08:00
Quinn Casey aa39abc41a Merge pull request #156 from paperless-ngx/docker-fix-ci
Fix Armv7 Docker Build
2022-02-27 16:54:22 -08:00
Quinn Casey c0ce6e28d4 Add black to docs and CONTRIBUTING 2022-02-27 12:35:26 -08:00
kpj 9b42c0aa50 Make pycodestyle ignore E203
See https://github.com/psf/black/issues/315 for more details.
2022-02-27 15:46:12 +01:00
kpj f7caad9af9 Run pycodestyle with --max-line-length=88 to match black's defaults 2022-02-27 15:42:26 +01:00
kpj 992406d5a0 Format remaining Python files 2022-02-27 15:37:20 +01:00
kpj 60ad0bb4e2 Run black on all files in project root 2022-02-27 15:36:16 +01:00
kpj f23d53fe1a Remove --verbose parameter from black call 2022-02-27 15:33:10 +01:00
kpj 12fa3c7417 Fix wrong job name in CI dependency list 2022-02-27 15:30:49 +01:00
kpj fc695896dd Format Python code with black 2022-02-27 15:26:41 +01:00
kpj 13885968e3 Add GitHub Actions workflow to check black formatting 2022-02-27 15:21:20 +01:00
shamoon e331f23bb0 Merge pull request #165 from paperless-ngx/feature-logo-2022
New -ngx logo 2022
2022-02-27 06:09:51 -08:00
Ingo Sigmund d89ac59004 Merge pull request #163 from paperless-ngx/bauerj-patch-1
Fix whitespace issue in scanners.rst
2022-02-27 08:42:21 +01:00
Paperless Translation Bot 5b365a15c5 New Crowdin updates (#154)
* New translations messages.xlf (Luxembourgish)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations messages.xlf (German)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations messages.xlf (Luxembourgish)
[ci skip]

* New translations messages.xlf (Portuguese, Brazilian)
[ci skip]

* New translations messages.xlf (German)
[ci skip]

* New translations messages.xlf (German)
[ci skip]
2022-02-26 20:48:43 -08:00
Michael Shamoon d8617746eb New -ngx logo 2022
Cause why not
2022-02-26 20:14:24 -08:00
Johann Bauer 1a830eb555 Fix whitespace issue in scanners.rst 2022-02-26 23:21:25 +01:00
Gabriel Augendre bb0e858dfe Update QuickScan name and add WebDAV capability
QuickScan is now named "OCR Scanner - QuickScan" as per the App Store listing.
It also supports WebDAV.
2022-02-26 22:52:18 +01:00
Johann Bauer 4377998232 Fix Armv7 Docker build 2022-02-26 13:43:48 +01:00
Trenton Holmes 6852127c33 Adds missing step to run npm install 2022-02-25 14:23:40 -08:00
Trenton Holmes 83e40f3e87 Updates node version to 16 for the builder image 2022-02-25 14:23:40 -08:00
Toxix 31d96ea85b Fix node version
From automatic codereview. We should use a specific node version.

We are using the same version that was used before in the github
pipeline.
2022-02-25 14:23:40 -08:00
Toxix 9f895fe65f Doc Update docs for frontend-compile
As frontend compile step is done now inside docker container, we do not
need to do it before. This is updating the documentation so it reflects
the code changes made.
2022-02-25 14:23:40 -08:00
Toxix 84f96d7a98 Feat adjust github pipeline for docker frontend artifacts
This should allow to use docker building the frontend artifacts and
reusing them in the bare metal release.
2022-02-25 14:23:40 -08:00
Toxix a6144e9692 Refector: Do the npm compile as a Build step
This removes the requirement of npm on the host system and removes an
additional manual step during the building of the docker image.

Updated the documentation accordingly and fixed a typo.
2022-02-25 14:23:40 -08:00
Johann Bauer 88d5bdc8bf Enable GitHub CodeQL (#160) 2022-02-25 23:20:14 +01:00
Johann Bauer c2fae07c11 Update dependencies 2022-02-25 22:38:31 +01:00
shamoon 630cdaf08f Add documents screenshots w browser chrome 2022-02-25 01:26:34 -08:00
shamoon 2309b12a31 Merge pull request #149 from paperless-ngx/fix-misc-frontend-fixes
Misc frontend fixes
2022-02-25 01:21:03 -08:00
Michael Shamoon 8dc57e8e87 fix position and bs5 underline of suggestion link 2022-02-25 01:17:05 -08:00
Michael Shamoon da4c6e8fb6 force ng2-pdf-viewer page width 2022-02-25 01:10:26 -08:00
Michael Shamoon a1a01870e6 card checkboxes werent clickable 2022-02-25 00:49:32 -08:00
Michael Shamoon 80d2f34ad0 Fix pdf border 2022-02-25 00:47:27 -08:00
Timo Heckel b5b7cf67bf Update .env (#102)
added visual indicator that pipenv is active
2022-02-24 17:05:19 +01:00
Quinn Casey ca87b6dbfd Merge pull request #144 from paperless-ngx/tags-ngx
Make CI build from tags starting with ngx-
2022-02-24 08:02:41 -08:00
Quinn Casey 7cfad2d7ef Merge pull request #145 from paperless-ngx/fix-docker-build
Fix `build-docker-image` CI step
2022-02-24 08:00:13 -08:00
dependabot[bot] ae18b82282 Bump django-cors-headers from 3.8.0 to 3.11.0 (#95)
Bumps [django-cors-headers](https://github.com/adamchainz/django-cors-headers) from 3.8.0 to 3.11.0.
- [Release notes](https://github.com/adamchainz/django-cors-headers/releases)
- [Changelog](https://github.com/adamchainz/django-cors-headers/blob/main/HISTORY.rst)
- [Commits](https://github.com/adamchainz/django-cors-headers/compare/3.8.0...3.11.0)

---
updated-dependencies:
- dependency-name: django-cors-headers
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-24 16:48:56 +01:00
Johann Bauer 701506e569 Fix build-docker-image CI step 2022-02-24 16:43:57 +01:00
dependabot[bot] 2f04e0de85 Bump uvicorn from 0.15.0 to 0.17.5 (#92)
Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.15.0 to 0.17.5.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/encode/uvicorn/compare/0.15.0...0.17.5)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-24 16:08:23 +01:00
dependabot[bot] a561cfe808 Bump pikepdf from 2.16.1 to 5.0.1 (#143)
Bumps [pikepdf](https://github.com/pikepdf/pikepdf) from 2.16.1 to 5.0.1.
- [Release notes](https://github.com/pikepdf/pikepdf/releases)
- [Changelog](https://github.com/pikepdf/pikepdf/blob/master/docs/release_notes.rst)
- [Commits](https://github.com/pikepdf/pikepdf/compare/v2.16.1...v5.0.1)

---
updated-dependencies:
- dependency-name: pikepdf
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-02-24 15:40:46 +01:00
Johann Bauer 9ce3708647 Make CI build from tags starting with ngx- 2022-02-24 15:19:25 +01:00
Johann Bauer 9dcfda1f41 Drop support for Python 3.7 (#142) 2022-02-24 15:07:30 +01:00
Quinn CaseyandDaniel Blittschau e23859f776 Update project name, copyright (#55)
* Update project name, copyright

* Update copyright to 2015-2022

* Scrub README.md for references to paperless-ng

* Update badges

* Update instances of paperless-ngx

* Remove ansible role

Co-authored-by: Daniel Blittschau <d@dblitt.com>
2022-02-24 15:00:21 +01:00
Paperless Translation Bot ae94b90fe4 New Crowdin updates (#135)
* New translations messages.xlf (German)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations messages.xlf (Greek)
[ci skip]

* New translations messages.xlf (Hebrew)
[ci skip]

* New translations messages.xlf (Italian)
[ci skip]

* New translations messages.xlf (Dutch)
[ci skip]

* New translations messages.xlf (Polish)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations messages.xlf (Spanish)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations messages.xlf (Swedish)
[ci skip]

* New translations messages.xlf (Portuguese, Brazilian)
[ci skip]

* New translations messages.xlf (Luxembourgish)
[ci skip]

* New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]

* New translations messages.xlf (Czech)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations messages.xlf (Romanian)
[ci skip]

* New translations messages.xlf (Chinese Traditional)
[ci skip]

* New translations messages.xlf (Khmer)
[ci skip]

* New translations django.po (Portuguese)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations messages.xlf (German)
[ci skip]

* New translations messages.xlf (Greek)
[ci skip]

* New translations messages.xlf (Hebrew)
[ci skip]

* New translations messages.xlf (Italian)
[ci skip]

* New translations messages.xlf (Korean)
[ci skip]

* New translations messages.xlf (Dutch)
[ci skip]

* New translations messages.xlf (Polish)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations messages.xlf (Spanish)
[ci skip]

* New translations messages.xlf (Slovenian)
[ci skip]

* New translations messages.xlf (Swedish)
[ci skip]

* New translations messages.xlf (Chinese Traditional)
[ci skip]

* New translations messages.xlf (Portuguese, Brazilian)
[ci skip]

* New translations messages.xlf (Khmer)
[ci skip]

* New translations messages.xlf (Luxembourgish)
[ci skip]

* New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]

* New translations messages.xlf (Czech)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations messages.xlf (Romanian)
[ci skip]

* New translations messages.xlf (Danish)
[ci skip]

* New translations messages.xlf (Italian)
[ci skip]

* New translations messages.xlf (Spanish)
[ci skip]

* New translations messages.xlf (Czech)
[ci skip]

* New translations messages.xlf (German)
[ci skip]

* New translations messages.xlf (Hebrew)
[ci skip]

* New translations messages.xlf (Dutch)
[ci skip]

* New translations messages.xlf (Polish)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations messages.xlf (Swedish)
[ci skip]

* New translations messages.xlf (Romanian)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations messages.xlf (Portuguese, Brazilian)
[ci skip]

* New translations messages.xlf (Luxembourgish)
[ci skip]

* New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2022-02-23 13:37:45 -08:00
shamoon cbac6fc8d5 Merge pull request #138 from paperless-ngx/fix-angular-translation-source
Regenerate angular messages.xlf, see https://github.com/paperless-ngx/paperless-ngx/pull/135#issuecomment-1048970786
2022-02-23 13:13:13 -08:00
Michael Shamoon 5941c383b6 Remove strings from node_modules
See https://github.com/angular/angular-cli/issues/18885
2022-02-23 08:40:29 -08:00
Michael Shamoon 396c3fb554 Regenerate angular messages.xlf 2022-02-23 08:30:20 -08:00
Alexander Bauer dbdd9b93f8 Merge pull request #133 from muellermartin/fix-png-alpha
Remove alpha layer from PNG files for img2pdf
2022-02-22 20:02:18 -05:00
Quinn Casey 84e7e74d00 Merge pull request #132 from paperless-ngx/named-volumes
Use a named volume for broker
2022-02-22 12:41:23 -08:00
Yannic Schröder 0103e6546f Merge pull request #124 from paperless-ngx/feature-configure-port
Allow specifying port through PAPERLESS_PORT environment variable
2022-02-22 21:37:53 +01:00
Felix Eckhofer a1f09bdc4e Clarify description of PAPERLESS_PORT 2022-02-22 21:06:28 +01:00
Quinn Casey ba561604f0 Add back line break (curse you gitlens) 2022-02-22 10:09:34 -08:00
Quinn Casey bad4be4cbc Use a named volume for broker 2022-02-22 10:01:09 -08:00
Quinn Casey 2f7c351039 Merge pull request #109 from slankes/removeansible
chore: remove ansible playbooks and documentation
2022-02-22 07:53:04 -08:00
shamoon 4b05a18e3e Merge pull request #129 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/angular/platform-browser-dynamic-13.2.3
Bump @angular/platform-browser-dynamic from 13.2.2 to 13.2.3 in /src-ui
2022-02-21 21:26:13 -08:00
dependabot[bot] b7352e255e Bump @angular/platform-browser-dynamic from 13.2.2 to 13.2.3 in /src-ui
Bumps [@angular/platform-browser-dynamic](https://github.com/angular/angular/tree/HEAD/packages/platform-browser-dynamic) from 13.2.2 to 13.2.3.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.2.3/packages/platform-browser-dynamic)

---
updated-dependencies:
- dependency-name: "@angular/platform-browser-dynamic"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-22 05:24:40 +00:00
shamoon 1408270fb1 Merge pull request #131 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/angular/localize-13.2.3
Bump @angular/localize from 13.2.2 to 13.2.3 in /src-ui
2022-02-21 21:24:01 -08:00
shamoon cd46b7ae45 Merge pull request #126 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-21 21:21:37 -08:00
dependabot[bot] 6ad5d19cf8 Bump @angular/localize from 13.2.2 to 13.2.3 in /src-ui
Bumps [@angular/localize](https://github.com/angular/angular) from 13.2.2 to 13.2.3.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/compare/13.2.2...13.2.3)

---
updated-dependencies:
- dependency-name: "@angular/localize"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-22 05:15:02 +00:00
shamoon 66bbf322c5 Merge pull request #128 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/angular/platform-browser-13.2.3
Bump @angular/platform-browser from 13.2.2 to 13.2.3 in /src-ui
2022-02-21 21:14:03 -08:00
dependabot[bot] 7bdd397c78 Bump @angular/platform-browser from 13.2.2 to 13.2.3 in /src-ui
Bumps [@angular/platform-browser](https://github.com/angular/angular/tree/HEAD/packages/platform-browser) from 13.2.2 to 13.2.3.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.2.3/packages/platform-browser)

---
updated-dependencies:
- dependency-name: "@angular/platform-browser"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-22 05:12:34 +00:00
shamoon 86069c291f Merge pull request #127 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/jasmine-core-4.0.1
Bump jasmine-core from 3.6.0 to 4.0.1 in /src-ui
2022-02-21 21:04:43 -08:00
shamoon ba87146c61 Merge pull request #130 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/types/jasminewd2-2.0.10
Bump @types/jasminewd2 from 2.0.8 to 2.0.10 in /src-ui
2022-02-21 21:04:24 -08:00
dependabot[bot] 47e177a575 Bump @types/jasminewd2 from 2.0.8 to 2.0.10 in /src-ui
Bumps [@types/jasminewd2](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasminewd2) from 2.0.8 to 2.0.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jasminewd2)

---
updated-dependencies:
- dependency-name: "@types/jasminewd2"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-22 04:59:24 +00:00
shamoon b700b3d1f7 Merge pull request #121 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/angular/compiler-cli-13.2.3
Bump @angular/compiler-cli from 13.2.2 to 13.2.3 in /src-ui
2022-02-21 20:58:29 -08:00
dependabot[bot] 11a377b973 Bump jasmine-core from 3.6.0 to 4.0.1 in /src-ui
Bumps [jasmine-core](https://github.com/jasmine/jasmine) from 3.6.0 to 4.0.1.
- [Release notes](https://github.com/jasmine/jasmine/releases)
- [Changelog](https://github.com/jasmine/jasmine/blob/main/RELEASE.md)
- [Commits](https://github.com/jasmine/jasmine/compare/v3.6.0...v4.0.1)

---
updated-dependencies:
- dependency-name: jasmine-core
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-22 04:57:27 +00:00
dependabot[bot] e889c2e54e Bump @angular/compiler-cli from 13.2.2 to 13.2.3 in /src-ui
Bumps [@angular/compiler-cli](https://github.com/angular/angular/tree/HEAD/packages/compiler-cli) from 13.2.2 to 13.2.3.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/docs/RELEASE_SCHEDULE.md)
- [Commits](https://github.com/angular/angular/commits/13.2.3/packages/compiler-cli)

---
updated-dependencies:
- dependency-name: "@angular/compiler-cli"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-22 04:57:18 +00:00
shamoon ab81439aac Merge pull request #119 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/ng2-pdf-viewer-8.0.1
Bump ng2-pdf-viewer from 8.0.0 to 8.0.1 in /src-ui
2022-02-21 20:56:26 -08:00
shamoon 75b4d46f4c Merge pull request #122 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/codelyzer-6.0.2
Bump codelyzer from 6.0.1 to 6.0.2 in /src-ui
2022-02-21 20:56:11 -08:00
shamoon d680711ffc Merge pull request #120 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/jasmine-spec-reporter-7.0.0
Bump jasmine-spec-reporter from 5.0.2 to 7.0.0 in /src-ui
2022-02-21 20:55:55 -08:00
shamoon ba38c2ad63 Merge pull request #123 from paperless-ngx/dependabot/npm_and_yarn/src-ui/dev/ts-node-10.5.0
Bump ts-node from 8.3.0 to 10.5.0 in /src-ui
2022-02-21 20:55:37 -08:00
shamoon 140b179607 Merge pull request #125 from paperless-ngx/stalebot
Add stale.yml
2022-02-21 18:17:36 -08:00
Paperless Translation Bot 49d7492e05 New translations django.po (German)
[ci skip]
2022-02-21 16:34:27 -08:00
shamoon c8ad4e9bcd Add fixpending label to prevent stale 2022-02-21 16:11:22 -08:00
shamoon 49bc8f95f6 Update stale.yml 2022-02-21 16:05:21 -08:00
shamoon 50bab47f43 Create stale.yml 2022-02-21 14:43:33 -08:00
Martin Müller 1e288100a9 Remove unneded exception handler from has_alpha() 2022-02-21 22:58:19 +01:00
Yannic Schroeder d13fdd0791 Allow specifying port through PAPERLESS_PORT environment variable 2022-02-21 22:46:02 +01:00
Martin Müller 73a8569d21 Modify test for PNG image with alpha 2022-02-21 22:38:25 +01:00
Martin Müller 2a47b3f1a1 Fix code style (line too long) 2022-02-21 22:34:34 +01:00
Martin Müller 41494ee689 Remove alpha layer from PNG files for img2pdf
Fixes issue #1254
2022-02-21 22:06:43 +01:00
Sven Lankes 8bf6fadf0e Merge branch 'dev' into removeansible 2022-02-21 21:45:03 +01:00
dependabot[bot] 13b2c438b9 Bump ts-node from 8.3.0 to 10.5.0 in /src-ui
Bumps [ts-node](https://github.com/TypeStrong/ts-node) from 8.3.0 to 10.5.0.
- [Release notes](https://github.com/TypeStrong/ts-node/releases)
- [Commits](https://github.com/TypeStrong/ts-node/compare/v8.3.0...v10.5.0)

---
updated-dependencies:
- dependency-name: ts-node
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 20:24:10 +00:00
dependabot[bot] 368f7ab0ed Bump codelyzer from 6.0.1 to 6.0.2 in /src-ui
Bumps [codelyzer](https://github.com/mgechev/codelyzer) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/mgechev/codelyzer/releases)
- [Changelog](https://github.com/mgechev/codelyzer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mgechev/codelyzer/commits)

---
updated-dependencies:
- dependency-name: codelyzer
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 20:23:27 +00:00
dependabot[bot] 8b23a5e4c1 Bump jasmine-spec-reporter from 5.0.2 to 7.0.0 in /src-ui
Bumps [jasmine-spec-reporter](https://github.com/bcaudan/jasmine-spec-reporter) from 5.0.2 to 7.0.0.
- [Release notes](https://github.com/bcaudan/jasmine-spec-reporter/releases)
- [Changelog](https://github.com/bcaudan/jasmine-spec-reporter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/bcaudan/jasmine-spec-reporter/compare/v5.0.2...v7.0.0)

---
updated-dependencies:
- dependency-name: jasmine-spec-reporter
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 20:22:41 +00:00
dependabot[bot] 60a87f1541 Bump ng2-pdf-viewer from 8.0.0 to 8.0.1 in /src-ui
Bumps [ng2-pdf-viewer](https://github.com/VadimDez/ng2-pdf-viewer) from 8.0.0 to 8.0.1.
- [Release notes](https://github.com/VadimDez/ng2-pdf-viewer/releases)
- [Changelog](https://github.com/VadimDez/ng2-pdf-viewer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/VadimDez/ng2-pdf-viewer/compare/8.0.0...8.0.1)

---
updated-dependencies:
- dependency-name: ng2-pdf-viewer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-21 20:22:00 +00:00
Quinn Casey 0827553a69 Merge pull request #118 from paperless-ngx/feature-fix-pip-timeout
Increase default timeout of `pip install`
2022-02-21 11:46:13 -08:00
shamoon 1688af7a0d Merge pull request #24 from tribut/feature-trash
Add temporary "delete to trash" functionality
2022-02-21 11:19:57 -08:00
Sven Lankes 1412daf615 chore: remove ansible playbooks and documentation 2022-02-21 20:15:12 +01:00
shamoon 57db05f95b Merge pull request #117 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-21 10:43:18 -08:00
Paperless Translation Bot 1c1e7183e3 New translations messages.xlf (Danish)
[ci skip]
2022-02-21 10:29:34 -08:00
Paperless Translation Bot ed48001fb2 New translations messages.xlf (Romanian)
[ci skip]
2022-02-21 10:29:27 -08:00
Paperless Translation Bot d864734bc5 New translations messages.xlf (French)
[ci skip]
2022-02-21 10:29:20 -08:00
Paperless Translation Bot 150740766f New translations messages.xlf (Czech)
[ci skip]
2022-02-21 10:29:19 -08:00
Paperless Translation Bot 848f52688b New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2022-02-21 10:29:17 -08:00
Paperless Translation Bot bcab0e8579 New translations messages.xlf (Luxembourgish)
[ci skip]
2022-02-21 10:29:16 -08:00
Paperless Translation Bot e6cce4069e New translations messages.xlf (Portuguese, Brazilian)
[ci skip]
2022-02-21 10:29:14 -08:00
Paperless Translation Bot ddfeeb6af7 New translations messages.xlf (Swedish)
[ci skip]
2022-02-21 10:29:13 -08:00
Paperless Translation Bot 5c2b524d07 New translations messages.xlf (Slovenian)
[ci skip]
2022-02-21 10:29:12 -08:00
Paperless Translation Bot 17d51a1cf6 New translations messages.xlf (Spanish)
[ci skip]
2022-02-21 10:29:11 -08:00
Paperless Translation Bot 01ce6c5f6f New translations messages.xlf (Russian)
[ci skip]
2022-02-21 10:29:10 -08:00
Paperless Translation Bot 79aa56c898 New translations messages.xlf (Polish)
[ci skip]
2022-02-21 10:29:09 -08:00
Paperless Translation Bot 93e8d49540 New translations messages.xlf (Dutch)
[ci skip]
2022-02-21 10:29:07 -08:00
Paperless Translation Bot c5f31481b9 New translations messages.xlf (Italian)
[ci skip]
2022-02-21 10:29:06 -08:00
Paperless Translation Bot 56cdbc0c60 New translations messages.xlf (Hebrew)
[ci skip]
2022-02-21 10:29:05 -08:00
Paperless Translation Bot d0a5160978 New translations messages.xlf (Greek)
[ci skip]
2022-02-21 10:29:03 -08:00
Paperless Translation Bot 106b55fc93 New translations messages.xlf (German)
[ci skip]
2022-02-21 10:29:02 -08:00
Paperless Translation Bot 573da8bd03 New translations messages.xlf (Portuguese)
[ci skip]
2022-02-21 10:29:01 -08:00
Quinn Casey 7845cece6b Add timeout to pip install
Attempt to fix `ConnectionResetError` seen [here](https://github.com/paperless-ngx/paperless-ngx/runs/5275984654?check_suite_focus=true) and [here](https://github.com/paperless-ngx/paperless-ngx/runs/5259904053?check_suite_focus=true)
2022-02-21 10:27:03 -08:00
shamoon 74dea42687 Merge pull request #65 from paperless-ngx/feature-angular-update
Update Angular to version 13, bootstrap to v5, other dependencies
2022-02-21 10:20:56 -08:00
Michael Shamoon 0d610e364c Use calc instead of sass math 2022-02-21 08:50:50 -08:00
Quinn Casey 0476c7204f Remove trailing whitespace 2022-02-21 06:46:42 -08:00
Felix E e0683c19c8 Fix typo (#110) 2022-02-20 15:57:26 +01:00
Felix Eckhofer a7e1c1c4d0 Catch exception during trash-move 2022-02-20 14:17:13 +01:00
Felix Eckhofer 335b8c63e0 Explain file-rename logic 2022-02-20 14:17:13 +01:00
Felix Eckhofer f9bbb9a8c3 Remove stray newline 2022-02-20 14:17:06 +01:00
shamoon fe5293ba36 Amend instructions to add a new language (#108)
Missing required editing of `src-ui/src/app/app.module.ts`
2022-02-20 10:36:31 +01:00
Michael Shamoon 3297596f2e fix layout columns in settings saved views 2022-02-20 01:32:24 -08:00
Michael Shamoon 5b5e8d7860 bs5: fix popover carat colors in dark mode 2022-02-20 01:25:31 -08:00
Michael Shamoon 7049d04d71 Reduce calls to isDirty for filterable dropdowns
And make disabled more visually obvious
2022-02-20 01:08:42 -08:00
Michael Shamoon 17ddf18a67 fix display of ng2-pdf-viewer 8.0.0 2022-02-20 00:37:42 -08:00
Michael Shamoon e60bfda93f Bump tslib to 2.3.1
Replaces #90
2022-02-20 00:27:30 -08:00
Michael Shamoon 40dda1e0f7 Bump @types/jasmine to 3.10.3
Replaces #91
2022-02-20 00:26:53 -08:00
Michael Shamoon 3715afbb97 Bump rxjs to 6.6.7
Replaces #88
2022-02-20 00:26:05 -08:00
Michael Shamoon 6f22f720e9 Bump @angular/cli to 13.2.4
Replaces #87
2022-02-20 00:25:25 -08:00
Stéphane Brunner 785fcfb998 Use the image on ghcr.io (#104) 2022-02-20 09:23:18 +01:00
Michael Shamoon ddce6e1f0a bs5: show single filterable dropdown without number 2022-02-20 00:19:44 -08:00
Michael Shamoon 199affb244 bs5: fix dark mode dashboard widget table display 2022-02-20 00:16:49 -08:00
Michael Shamoon 899e3eed1b bs5: upload widget dismissal button 2022-02-20 00:05:45 -08:00
Michael Shamoon 744a0f1c8c bs5: fix dark mode close button 2022-02-20 00:05:32 -08:00
Michael Shamoon c6fc435869 bs5: fix color component display 2022-02-19 23:55:17 -08:00
Michael Shamoon 81ef51fd01 bs5: fix correspondent / tag / doctype management list display 2022-02-19 23:48:49 -08:00
Michael Shamoon 0eaa1e3385 bs5: fix settings display 2022-02-19 23:34:32 -08:00
Michael Shamoon e9a3a53849 Import Czech and Danish locales
Fixes incorrect #83 and #84
2022-02-19 23:26:21 -08:00
Michael Shamoon 4ae4fb65e6 fix missing darkModeInvertThumbs form control 2022-02-19 23:14:39 -08:00
Michael Shamoon 95a4d7e8a9 bs5: fix user navbar dropdown menu placement 2022-02-19 23:10:13 -08:00
Michael Shamoon bf30297829 bs5: fix document detail input group 2022-02-19 23:07:36 -08:00
Michael Shamoon f5f6985e4e bs5: remove custom control scss 2022-02-19 23:05:52 -08:00
Michael Shamoon efe5df3459 bs5: document list table checkboxes 2022-02-19 23:05:41 -08:00
Michael Shamoon 99409f258f bs5: fix card checkboxes no longer custom controls 2022-02-19 22:57:04 -08:00
Michael Shamoon 4400915e0c bs5: form input spacing, renamed controls 2022-02-19 22:40:27 -08:00
Michael Shamoon 37f6b249dc bs5: fix document list sort form toggle button 2022-02-19 22:25:06 -08:00
Michael Shamoon 4826c645cd bs5: fix search icon location 2022-02-19 22:23:56 -08:00
Michael Shamoon 545b8e2b6e bs5: fix filter editor spacing 2022-02-19 22:20:53 -08:00
Michael Shamoon d6744f0996 bs5: dropdown toggle button fill color 2022-02-19 22:06:06 -08:00
Michael Shamoon 55b980991b bs5: fix color sass map 2022-02-19 22:05:10 -08:00
Michael Shamoon add09db40a bs5: fix badges 2022-02-19 22:04:52 -08:00
Michael Shamoon f08901c639 bs5: fix toggle buttons 2022-02-19 21:46:15 -08:00
Michael Shamoon fd58096112 bs5: fix underline weirdness 2022-02-19 21:39:02 -08:00
Michael Shamoon 3a652a8941 bs5: fix reversed borders 2022-02-19 21:38:45 -08:00
Michael Shamoon 52e6b45580 bs5: fix small cards display 2022-02-19 21:38:29 -08:00
Michael Shamoon 7b7ba83a87 bs5: fix large card display 2022-02-19 21:38:07 -08:00
Yannic Schroeder 8ba282362d Migrate Bootstrap close buttons to v5
https://getbootstrap.com/docs/5.0/migration/#close-button
2022-02-20 01:43:31 +01:00
Yannic Schroeder 4451acbf0b Migrate Bootstrap utilities to v5
Names of utility classes have changed:
https://getbootstrap.com/docs/5.0/migration/#utilities
2022-02-20 01:25:57 +01:00
Yannic Schroeder d257eeeabf Remove ngx-bootstrap dependency
This was not used anywhere.
2022-02-20 00:16:38 +01:00
Yannic Schroeder 9f062fa14b Update ng2-pdf-viewer
Now with ivy support!
2022-02-20 00:16:38 +01:00
Yannic Schroeder ba1038b4a8 Update nodejs version in CI
Angular does not allow nodejs version 15.
2022-02-20 00:16:38 +01:00
Yannic Schroeder ef1b971fca Update bootstrap 2022-02-20 00:16:38 +01:00
Yannic Schroeder 3444f9e5f2 Fix wrong migrations from update to Angular 13 2022-02-20 00:15:43 +01:00
Yannic Schroeder af768b8d66 Bump dependency versions for security fixes 2022-02-20 00:15:43 +01:00
Yannic Schroeder fbe0cdadd4 Update ngx-infinite-scroll 2022-02-20 00:15:43 +01:00
Yannic Schroeder ff3d455f45 Update ngx-file-drop 2022-02-20 00:15:43 +01:00
Yannic Schroeder 2eba2942d0 Update ngx-color 2022-02-20 00:15:43 +01:00
Yannic Schroeder 556143a941 Update ngx-bootstrap 2022-02-20 00:15:43 +01:00
Yannic Schroeder e82011a91d Update ng2-pdf-viewer 2022-02-20 00:15:43 +01:00
Yannic Schroeder f2f80685a8 Update ng-select 2022-02-20 00:15:43 +01:00
Yannic Schroeder 7aa77eab07 Update ng-bootstrap 2022-02-20 00:14:35 +01:00
Yannic Schroeder 419fe7fc68 Update ngx-cookie-service 2022-02-20 00:14:35 +01:00
Yannic Schroeder 1d4b5e243c Update to Angular 13 2022-02-20 00:14:35 +01:00
Yannic Schroeder d25604da81 Fix deprecated Sass syntax 2022-02-20 00:14:35 +01:00
Yannic Schroeder 17617b82c6 Disable legacy i18n IDs 2022-02-20 00:14:35 +01:00
Yannic Schroeder 3f89fdf300 Migrate legacy i18n IDs
Angular 12 introduced a new way of generating IDs. This migrates all
IDs to new format.

More info: https://angular.io/guide/migration-legacy-message-id
2022-02-20 00:14:35 +01:00
Yannic Schroeder 0cc9b7e357 Remove invalid option from angular.json 2022-02-20 00:09:35 +01:00
Yannic Schroeder 32e1188207 Update ngx-cookie-service
Old version is incompatible with Angular 12.
2022-02-20 00:09:35 +01:00
Yannic Schroeder c634e6a801 Update to Angular 12 2022-02-20 00:09:35 +01:00
shamoon d1a7557405 Merge pull request #107 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-19 15:08:51 -08:00
Paperless Translation Bot b1a7c27d96 New translations messages.xlf (Swedish)
[ci skip]
2022-02-19 15:07:20 -08:00
Paperless Translation Bot 5ebf8534ba New translations messages.xlf (French)
[ci skip]
2022-02-19 15:05:58 -08:00
Paperless Translation Bot 65bb5d067a New translations messages.xlf (Czech)
[ci skip]
2022-02-19 15:01:56 -08:00
Paperless Translation Bot 0a5da90f84 New translations messages.xlf (Danish)
[ci skip]
2022-02-19 14:58:17 -08:00
Paperless Translation Bot 59827290dc New translations django.po (Khmer)
[ci skip]
2022-02-19 14:58:15 -08:00
Paperless Translation Bot b0f8d15542 New translations messages.xlf (Romanian)
[ci skip]
2022-02-19 14:58:10 -08:00
Paperless Translation Bot 366ffec165 New translations messages.xlf (French)
[ci skip]
2022-02-19 14:58:02 -08:00
Paperless Translation Bot 0cd3059831 New translations messages.xlf (Czech)
[ci skip]
2022-02-19 14:57:59 -08:00
Paperless Translation Bot db4da7092b New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2022-02-19 14:57:58 -08:00
Paperless Translation Bot c6851c9f70 New translations messages.xlf (Luxembourgish)
[ci skip]
2022-02-19 14:57:57 -08:00
Paperless Translation Bot 7c4a098977 New translations messages.xlf (Portuguese, Brazilian)
[ci skip]
2022-02-19 14:57:55 -08:00
Paperless Translation Bot cfb3db311c New translations messages.xlf (Swedish)
[ci skip]
2022-02-19 14:57:54 -08:00
Paperless Translation Bot b049ad4f3a New translations messages.xlf (Spanish)
[ci skip]
2022-02-19 14:57:52 -08:00
Paperless Translation Bot fd5a761c8c New translations messages.xlf (Russian)
[ci skip]
2022-02-19 14:57:51 -08:00
Paperless Translation Bot e9befc44ec New translations messages.xlf (Polish)
[ci skip]
2022-02-19 14:57:50 -08:00
Paperless Translation Bot 180c82c694 New translations messages.xlf (Dutch)
[ci skip]
2022-02-19 14:57:49 -08:00
Paperless Translation Bot 36b041376c New translations messages.xlf (Italian)
[ci skip]
2022-02-19 14:57:47 -08:00
Paperless Translation Bot 387db5ffb6 New translations messages.xlf (German)
[ci skip]
2022-02-19 14:57:45 -08:00
Paperless Translation Bot ee27e71e29 New translations messages.xlf (Portuguese)
[ci skip]
2022-02-19 14:57:44 -08:00
shamoon 189110ec09 Merge pull request #10 from shamoon/feature/any-all-filtering
Feature: any / all filtering with tags
2022-02-19 14:52:55 -08:00
Paperless Translation Bot 4fc44060ea New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2022-02-19 14:26:24 -08:00
Michael Shamoon c945b90b64 Indicate disabled but active All button 2022-02-19 14:03:55 -08:00
Stéphane Brunner 7113a18f3b Hide the password field (#103) 2022-02-19 22:49:57 +01:00
Paperless Translation Bot 921000625e New translations messages.xlf (Danish)
[ci skip]
2022-02-19 13:17:03 -08:00
Paperless Translation Bot b272d695e3 New translations messages.xlf (Spanish)
[ci skip]
2022-02-19 13:17:02 -08:00
Paperless Translation Bot e93c85ba92 New translations messages.xlf (Czech)
[ci skip]
2022-02-19 13:16:59 -08:00
Paperless Translation Bot 6d58491d1c New translations messages.xlf (German)
[ci skip]
2022-02-19 13:16:58 -08:00
Paperless Translation Bot 413897639f New translations messages.xlf (Hebrew)
[ci skip]
2022-02-19 13:16:55 -08:00
Paperless Translation Bot 065d9bc1e3 New translations messages.xlf (Italian)
[ci skip]
2022-02-19 13:16:54 -08:00
Paperless Translation Bot bb56254e88 New translations messages.xlf (Dutch)
[ci skip]
2022-02-19 13:16:52 -08:00
Paperless Translation Bot 8b01336d54 New translations messages.xlf (French)
[ci skip]
2022-02-19 13:16:51 -08:00
Paperless Translation Bot 4d5f1bd81a New translations messages.xlf (Polish)
[ci skip]
2022-02-19 13:16:50 -08:00
Paperless Translation Bot 78efd4961e New translations messages.xlf (Russian)
[ci skip]
2022-02-19 13:16:49 -08:00
Paperless Translation Bot 1ab157c2a9 New translations messages.xlf (Swedish)
[ci skip]
2022-02-19 13:16:47 -08:00
Paperless Translation Bot 10bde76494 New translations messages.xlf (Portuguese, Brazilian)
[ci skip]
2022-02-19 13:16:45 -08:00
Paperless Translation Bot 81499665d8 New translations messages.xlf (Luxembourgish)
[ci skip]
2022-02-19 13:16:43 -08:00
Paperless Translation Bot 8621546736 New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2022-02-19 13:16:42 -08:00
Paperless Translation Bot abd27342b6 New translations messages.xlf (Portuguese)
[ci skip]
2022-02-19 13:16:41 -08:00
Paperless Translation Bot f9a3a7f2c6 New translations messages.xlf (Romanian)
[ci skip]
2022-02-19 13:16:40 -08:00
Quinn Casey 165b476635 Merge pull request #106 from paperless-ngx/revert-79-ci-build-container-on-prs
Revert "CI: Build and tag container on PRs"
2022-02-19 13:09:17 -08:00
Quinn Casey 7448609ba7 Revert "CI: Build and tag container on PRs" 2022-02-19 12:44:53 -08:00
Yannic Schröder 7380e056cd Update frontend strings to Paperless-ngx (#105)
This also includes URLs to ressources.
2022-02-19 21:42:09 +01:00
Michael Shamoon 0b6c749b60 Hide double-click note on non-multiple dropdowns 2022-02-19 09:20:41 -08:00
Michael Shamoon 1ba1df2529 Change alt-click to second click 2022-02-18 19:35:02 -08:00
Johann Bauer c7541cb516 Enable dependabot for repository (#86) 2022-02-18 16:06:56 +01:00
shamoon 8ef913b117 Merge pull request #13 from shamoon/feature/unsaved-changes
Warnings for unsaved changes, 'intelligent' buttons when editing
2022-02-18 06:58:09 -08:00
Quinn Casey e1c29d09e7 Merge pull request #79 from paperless-ngx/ci-build-container-on-prs
CI: Build and tag container on PRs
2022-02-18 06:25:11 -08:00
Filip Kraus 1b7f1614b5 Update name in docs (#80)
* Update name in docs

Will document on #52 what's left do do.

* Update usage_overview.rst
2022-02-18 09:42:55 +01:00
shamoon dcb8c17c75 Merge pull request #83 from mweimerskirch/additional-language-cs-cz
Enabled the Czech (cs-cz) translations
2022-02-18 00:41:22 -08:00
Michel Weimerskirch f42811285d Enabled the Czech (cs-cz) translations 2022-02-18 09:39:06 +01:00
shamoon f9aa40fb57 Merge pull request #84 from mweimerskirch/additional-language-da-dk
Enabled the Danish (da-dk) translations
2022-02-18 00:22:22 -08:00
shamoon d3900536a1 Merge pull request #82 from mweimerskirch/contributing-translations
Detailed description on how to add new languages
2022-02-18 00:19:46 -08:00
Michel Weimerskirch 01c139ef2d Enabled the Danish (da-dk) translations 2022-02-18 09:18:04 +01:00
mweimerskirchandshamoon 6442f1c572 Translation section in README: Added link to CONTRIBUTING.md
Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2022-02-18 09:15:25 +01:00
Michel Weimerskirch 8b5a35cc70 Minor formatting and orthography changes to the Translation section in the README.md 2022-02-18 08:48:38 +01:00
Michel Weimerskirch 8d443f212a Added a paragraph on how to add a new language to CONTRIBUTING.md 2022-02-18 08:46:43 +01:00
shamoon 6ab2e881a3 Merge pull request #78 from mweimerskirch/fix/sort-languages
Sort languages
2022-02-17 23:15:31 -08:00
Michael Shamoon c9baa76afd clear 'dirty' documents when closing all 2022-02-17 23:05:14 -08:00
Michael Shamoon 66b9a99e71 Correct runtime issue(s) with saveEditNext 2022-02-17 23:04:38 -08:00
Michel Weimerskirch 27a835a69c Sort languages by localized name at runtime 2022-02-18 08:02:03 +01:00
Michel Weimerskirch 1830cd856a Sort language lists by locale 2022-02-18 08:02:00 +01:00
Florian c656610c93 tests: fix management_consumer test (#66)
this test failed due to a strict polling delay,
which caused the test to be interrupted by an async call,
which stated "Incomplete File READ FAILED"

see also https://github.com/NixOS/nixpkgs/pull/158118

Signed-off-by: florian on nixos (Florian Brandes) <florian.brandes@posteo.de>
2022-02-17 23:30:16 +01:00
Quinn Casey e32f63d76e Build and tag container on PRs 2022-02-17 12:24:46 -08:00
shamoon 7eca68dfc0 Merge pull request #75 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-17 08:33:00 -08:00
Quinn Casey 75e3506046 Merge pull request #53 from paperless-ngx/contributing-prs
Merging Non-Trivial PRs
2022-02-17 08:05:56 -08:00
Quinn Casey c839a5dd55 Merge pull request #77 from kpj/dev
Update `install-paperless-ngx.sh`
2022-02-17 07:59:08 -08:00
Paperless Translation Bot 7349ab063d New translations messages.xlf (Danish)
[ci skip]
2022-02-17 06:58:54 -08:00
Paperless Translation Bot 165f1d3341 New translations django.po (Danish)
[ci skip]
2022-02-17 06:58:53 -08:00
kpj 2a91a09835 Merge branch 'kpj-fix-install_script' into dev 2022-02-17 15:53:47 +01:00
kpj 8f20003687 Merge branch 'fix-install_script' of https://github.com/kpj/paperless-ngx into kpj-fix-install_script 2022-02-17 15:53:22 +01:00
Paperless Translation Bot 94e07fee96 New translations messages.xlf (Danish)
[ci skip]
2022-02-17 05:26:36 -08:00
Paperless Translation Bot c6618b2cc0 New translations django.po (Danish)
[ci skip]
2022-02-17 05:26:34 -08:00
Paperless Translation Bot 7af291622f New translations messages.xlf (Danish)
[ci skip]
2022-02-17 04:31:26 -08:00
Paperless Translation Bot e7603eff5f New translations django.po (Danish)
[ci skip]
2022-02-17 04:31:25 -08:00
Paperless Translation Bot 866f365e0b New translations messages.xlf (Danish)
[ci skip]
2022-02-17 03:32:07 -08:00
Paperless Translation Bot eac40ccd26 New translations django.po (Danish)
[ci skip]
2022-02-17 03:32:06 -08:00
Paperless Translation Bot 1e6d9dda40 New translations messages.xlf (Dutch)
[ci skip]
2022-02-17 03:32:05 -08:00
Paperless Translation Bot 7ecf42d70f New translations django.po (Danish)
[ci skip]
2022-02-17 02:35:54 -08:00
Paperless Translation Bot d92e48bc33 New translations django.po (Danish)
[ci skip]
2022-02-17 01:38:36 -08:00
Kim 51be0f07a5 Use command substitution instead of piping in easy-install docs 2022-02-17 09:18:01 +01:00
Paperless Translation Bot 6751ed33af New translations messages.xlf (Danish)
[ci skip]
2022-02-16 23:59:04 -08:00
Paperless Translation Bot 5313909cd8 New translations django.po (Danish)
[ci skip]
2022-02-16 23:59:03 -08:00
Paperless Translation Bot a6e65583f2 New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2022-02-16 23:59:02 -08:00
Paperless Translation Bot e17a33e110 New translations messages.xlf (Slovenian)
[ci skip]
2022-02-16 23:59:00 -08:00
Paperless Translation Bot 2a99765020 New translations messages.xlf (Hebrew)
[ci skip]
2022-02-16 23:58:59 -08:00
Paperless Translation Bot 98f2ba949c New translations messages.xlf (Greek)
[ci skip]
2022-02-16 23:58:58 -08:00
Paperless Translation Bot 66318b7e39 New translations messages.xlf (Czech)
[ci skip]
2022-02-16 23:58:56 -08:00
Paperless Translation Bot eb91b02ebf New translations django.po (Arabic, Saudi Arabia)
[ci skip]
2022-02-16 23:58:55 -08:00
Paperless Translation Bot c643c0fe36 New translations django.po (Slovenian)
[ci skip]
2022-02-16 23:58:53 -08:00
Paperless Translation Bot 285579822a New translations django.po (Hebrew)
[ci skip]
2022-02-16 23:58:52 -08:00
Paperless Translation Bot adacb2ab92 New translations django.po (Greek)
[ci skip]
2022-02-16 23:58:51 -08:00
Paperless Translation Bot e338274669 New translations django.po (Czech)
[ci skip]
2022-02-16 23:58:50 -08:00
shamoon 7ce65cbbaa Merge pull request #74 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-16 23:00:13 -08:00
shamoon 7e0345cda6 Merge branch 'dev' into l10n_dev 2022-02-16 22:59:27 -08:00
Paperless Translation Bot c27a7ac60a New translations django.po (Arabic, Saudi Arabia)
[ci skip]
2022-02-16 22:54:13 -08:00
Paperless Translation Bot 0e7f03c595 New translations django.po (Slovenian)
[ci skip]
2022-02-16 22:54:09 -08:00
Paperless Translation Bot 6bc44fd93f New translations django.po (Greek)
[ci skip]
2022-02-16 22:54:05 -08:00
Paperless Translation Bot 074decc320 New translations django.po (Czech)
[ci skip]
2022-02-16 22:54:04 -08:00
Paperless Translation Bot ccc99a45f9 New translations django.po (French)
[ci skip]
2022-02-16 22:54:02 -08:00
Paperless Translation Bot dab8b6ac87 New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2022-02-16 22:53:59 -08:00
Paperless Translation Bot a134ca098a New translations messages.xlf (Luxembourgish)
[ci skip]
2022-02-16 22:53:57 -08:00
Paperless Translation Bot 8d2a809df2 New translations messages.xlf (French)
[ci skip]
2022-02-16 22:53:53 -08:00
Paperless Translation Bot 0b8db1fec9 New translations messages.xlf (Slovenian)
[ci skip]
2022-02-16 22:53:52 -08:00
Paperless Translation Bot 791e6cf54f New translations messages.xlf (Hebrew)
[ci skip]
2022-02-16 22:53:48 -08:00
Paperless Translation Bot 14a117acfa New translations messages.xlf (Greek)
[ci skip]
2022-02-16 22:53:47 -08:00
Paperless Translation Bot 6eef72d524 New translations messages.xlf (Czech)
[ci skip]
2022-02-16 22:53:46 -08:00
shamoon 05543e5341 Merge pull request #73 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-16 22:50:23 -08:00
Paperless Translation Bot 4b64b80d86 New translations messages.xlf (Korean)
[ci skip]
2022-02-16 22:45:34 -08:00
Paperless Translation Bot c20c1f96ca New translations django.po (Luxembourgish)
[ci skip]
2022-02-16 22:45:12 -08:00
Paperless Translation Bot 7194915bf3 New translations django.po (Korean)
[ci skip]
2022-02-16 22:44:55 -08:00
shamoon 8156580e4f Merge pull request #72 from paperless-ngx/revert-71-l10n_dev
Revert "New Crowdin updates"
2022-02-16 22:40:29 -08:00
shamoon b63a01f527 Revert "New Crowdin updates" 2022-02-16 22:35:17 -08:00
Michael Shamoon 10b16dbcdf Merge pull request #70 from paperless-ngx/shamoon-patch-1
Add new Crowdin info to readme
2022-02-16 21:22:49 -08:00
Michael Shamoon 4d24f92914 Merge pull request #71 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-16 20:51:59 -08:00
Michael Shamoon 8db6d9cd34 Add notes about translation directly to readme 2022-02-16 20:49:52 -08:00
paperless-l10n 821398437f New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2022-02-16 20:33:43 -08:00
paperless-l10n 1a2213b1fb New translations messages.xlf (Slovenian)
[ci skip]
2022-02-16 20:33:40 -08:00
paperless-l10n e49b4c137e New translations messages.xlf (Hebrew)
[ci skip]
2022-02-16 20:33:39 -08:00
paperless-l10n cabb5cafca New translations messages.xlf (Greek)
[ci skip]
2022-02-16 20:33:38 -08:00
paperless-l10n 016f7d90dc New translations messages.xlf (Czech)
[ci skip]
2022-02-16 20:33:37 -08:00
paperless-l10n 934d5f7164 New translations django.po (Arabic, Egypt)
[ci skip]
2022-02-16 20:33:36 -08:00
paperless-l10n a2c0d6d920 New translations django.po (Arabic, Yemen)
[ci skip]
2022-02-16 20:33:35 -08:00
paperless-l10n 7e1161db62 New translations django.po (Arabic, Saudi Arabia)
[ci skip]
2022-02-16 20:33:33 -08:00
paperless-l10n 4cfdb54a0e New translations django.po (Khmer)
[ci skip]
2022-02-16 20:33:32 -08:00
paperless-l10n b35544a44d New translations django.po (Slovenian)
[ci skip]
2022-02-16 20:33:31 -08:00
paperless-l10n 46a4ec7dd0 New translations django.po (Hebrew)
[ci skip]
2022-02-16 20:33:30 -08:00
paperless-l10n 35202662f3 New translations django.po (Greek)
[ci skip]
2022-02-16 20:33:29 -08:00
paperless-l10n d1267dc398 New translations django.po (Czech)
[ci skip]
2022-02-16 20:33:28 -08:00
paperless-l10n 37b1b9ae39 New translations django.po (Arabic, Bahrain)
[ci skip]
2022-02-16 20:33:25 -08:00
Michael Shamoon 31f9938d1b Update localized badge 2022-02-16 20:32:33 -08:00
Michael Shamoon f8b5ec0f7d Merge pull request #69 from paperless-ngx/l10n_dev
New Crowdin updates
2022-02-16 20:29:41 -08:00
Michael Shamoon 1dc474d33d Add new Crowdin link to readme
Part of #64
2022-02-16 20:26:27 -08:00
paperless-l10n 1dfe86a069 New translations messages.xlf (Chinese Traditional)
[ci skip]
2022-02-16 20:19:11 -08:00
paperless-l10n 63778935b0 New translations django.po (Chinese Traditional)
[ci skip]
2022-02-16 20:18:59 -08:00
paperless-l10n 39f7f5e512 New translations django.po (Chinese Simplified)
[ci skip]
2022-02-16 20:18:57 -08:00
paperless-l10n e320c32182 New translations messages.xlf (Chinese Simplified)
[ci skip]
2022-02-16 20:18:55 -08:00
paperless-l10n cd8c524b19 New translations messages.xlf (Luxembourgish)
[ci skip]
2022-02-16 20:17:19 -08:00
paperless-l10n f7554e7f33 New translations django.po (Spanish)
[ci skip]
2022-02-16 20:17:18 -08:00
paperless-l10n 6ae39361a5 New translations django.po (German)
[ci skip]
2022-02-16 20:17:17 -08:00
paperless-l10n dfe88864ad New translations django.po (Italian)
[ci skip]
2022-02-16 20:17:16 -08:00
paperless-l10n 8c14d05494 New translations django.po (Dutch)
[ci skip]
2022-02-16 20:17:15 -08:00
paperless-l10n bc77cbf956 New translations django.po (Polish)
[ci skip]
2022-02-16 20:17:14 -08:00
paperless-l10n 0bb9f47590 New translations django.po (Portuguese)
[ci skip]
2022-02-16 20:17:13 -08:00
paperless-l10n effa3cd3a5 New translations django.po (Russian)
[ci skip]
2022-02-16 20:17:12 -08:00
paperless-l10n fd811d68ff New translations django.po (Swedish)
[ci skip]
2022-02-16 20:17:11 -08:00
paperless-l10n fda64e81a5 New translations django.po (English)
[ci skip]
2022-02-16 20:17:10 -08:00
paperless-l10n 3c598dfca9 New translations django.po (Portuguese, Brazilian)
[ci skip]
2022-02-16 20:17:09 -08:00
paperless-l10n 0c1e1b6b68 New translations django.po (English, United Kingdom)
[ci skip]
2022-02-16 20:17:08 -08:00
paperless-l10n 7f2f4c666e New translations django.po (Luxembourgish)
[ci skip]
2022-02-16 20:17:07 -08:00
paperless-l10n 94e6e36f26 New translations django.po (French)
[ci skip]
2022-02-16 20:17:06 -08:00
paperless-l10n 45a534e176 New translations messages.xlf (Romanian)
[ci skip]
2022-02-16 20:17:05 -08:00
paperless-l10n 3303ee1afc New translations messages.xlf (Spanish)
[ci skip]
2022-02-16 20:17:02 -08:00
paperless-l10n 337330a508 New translations messages.xlf (German)
[ci skip]
2022-02-16 20:17:01 -08:00
paperless-l10n 8b6001c328 New translations messages.xlf (Italian)
[ci skip]
2022-02-16 20:17:00 -08:00
paperless-l10n 9ebf3c270c New translations messages.xlf (Dutch)
[ci skip]
2022-02-16 20:16:58 -08:00
paperless-l10n fbde0ce88f New translations messages.xlf (Polish)
[ci skip]
2022-02-16 20:16:57 -08:00
paperless-l10n 5009989a59 New translations messages.xlf (Portuguese)
[ci skip]
2022-02-16 20:16:56 -08:00
paperless-l10n 436368ad22 New translations messages.xlf (Russian)
[ci skip]
2022-02-16 20:16:55 -08:00
paperless-l10n cc7bbeca97 New translations messages.xlf (Swedish)
[ci skip]
2022-02-16 20:16:54 -08:00
paperless-l10n d608d6a441 New translations messages.xlf (English)
[ci skip]
2022-02-16 20:16:53 -08:00
paperless-l10n cd80f7ddbe New translations messages.xlf (Portuguese, Brazilian)
[ci skip]
2022-02-16 20:16:51 -08:00
paperless-l10n 5bff97ec96 New translations messages.xlf (English, United Kingdom)
[ci skip]
2022-02-16 20:16:50 -08:00
paperless-l10n 23c1ea1b79 New translations messages.xlf (French)
[ci skip]
2022-02-16 20:16:49 -08:00
paperless-l10n 097d1a55fe New translations django.po (Romanian)
[ci skip]
2022-02-16 20:16:48 -08:00
Quinn Casey 13426d3c3f Merge pull request #62 from paperless-ngx/feature-docker-build-fix
CI: Use Github Container Registry for docker build step
2022-02-16 16:19:58 -08:00
kpj e4859412bc Update installation url in setup docs to new repo 2022-02-17 00:46:03 +01:00
kpj 95309ad4ae Use paperless-ngx in install script 2022-02-17 00:42:47 +01:00
kpj 41bdf1bcc9 Rename script to paperless-ngx 2022-02-17 00:40:52 +01:00
Florian 04a4cd7d76 Merge pull request #63 from paperless-ngx/ansible-ci-fixes
CI: Ansible Test fix
2022-02-17 00:25:13 +01:00
Quinn Casey 582f7a9301 Merge pull request #51 from jonaswinkler/l10n_dev
New Crowdin updates
2022-02-16 14:37:48 -08:00
Michael Shamoon 9bc48fed73 Check for live changes on document detail title 2022-02-16 14:34:19 -08:00
Quinn Casey 3e7e7023fc update source repo 2022-02-16 14:01:16 -08:00
Michael Shamoon 8c853e56e4 Reset networkActive & error after switchmap pipes complete 2022-02-16 13:43:25 -08:00
Michael Shamoon 1941be8f53 fix conflict with mobile preview pane 2022-02-16 12:00:19 -08:00
Michael Shamoon 06253ed8f2 titleInput may be undefined if in a different tab 2022-02-16 11:36:22 -08:00
Quinn Casey ec5416abfd Merge pull request #57 from Nicarim/fix-unicode-filename-issue-when-downloading-files
Provide UTF-8 encoded content-disposition field to address the issues in the firefox when downloading files
2022-02-16 11:11:26 -08:00
Marcin Gordziejewski 940d056657 Provide utf-8 encoded content-disposition field to address the issues in the firefox when downloading files
Fixes #56
2022-02-16 19:50:13 +01:00
Quinn Casey a10d331296 Merge pull request #61 from paperless-ngx/revert-46-patch-1
Revert "Update setup.rst"
2022-02-16 09:09:39 -08:00
Quinn Casey c2035b4324 Revert "Update setup.rst" 2022-02-16 09:07:54 -08:00
Quinn Casey 879a239bcd Merge branch 'RidaAyed-doc-docker-post-consumption' into dev 2022-02-16 09:04:30 -08:00
Quinn Casey 4d1e33af9e Merge pull request #36 from dblitt/patch-1
Update login.html to not autocapitalize username
2022-02-16 08:57:05 -08:00
Quinn Casey 64c7699a19 Merge pull request #44 from muued/pre_consume_script
Increase visibility of PAPERLESS_PRE_CONSUME_SCRIPT
2022-02-16 08:55:32 -08:00
Quinn Casey 0219aa97fe Merge pull request #28 from m0veax/patch-1
Added hint to use Management Utilities
2022-02-16 08:50:10 -08:00
Quinn Casey 657ed211c0 Merge pull request #46 from a-waider/patch-1
Update setup.rst
2022-02-16 08:36:32 -08:00
Quinn Casey 305666378b Fix image name 2022-02-16 08:24:12 -08:00
Quinn Casey 50102af229 Use github container registry 2022-02-16 07:15:22 -08:00
Quinn Casey ff4fa4f164 Merge pull request #42 from s4nf4n/feature_fix_ansible_ci
add ansible role_name to fix ci
2022-02-16 06:35:27 -08:00
Michael Shamoon 3e35d9cd8c Rewrite nested subscriptions 2022-02-16 02:27:17 -08:00
Michael Shamoon e1a36972b1 cleanup subscriptions 2022-02-16 01:06:22 -08:00
Michael Shamoon 250575acb9 Fix spelling error 2022-02-16 00:29:04 -08:00
Michael Shamoon d9cd312d07 Cleanup subscriptions 2022-02-15 23:43:54 -08:00
Michael Shamoon d733de9d9f Code cleanup 2022-02-15 23:43:02 -08:00
Quinn Casey 088cc9cd71 Merge pull request #58 from Nicarim/add-docs-note-on-python-version-for-development
Add docs note on python version for development
2022-02-15 15:39:26 -08:00
Marcin Gordziejewski 895781c5a3 Add a note in extending.rst on python version requirements and pyenv suggestion 2022-02-16 00:13:23 +01:00
Marcin Gordziejewski f493bd539d Add .editorconfig entry for .rst files to enforce space indentation 2022-02-16 00:13:23 +01:00
Quinn Casey de9fbd48df Typos and clarifications 2022-02-15 14:08:02 -08:00
Ingo Sigmund 1e58b0c43e Merge pull request #31 from denilsonsa/patch-4
Clarifying documentation on filename placeholders
2022-02-15 20:57:57 +01:00
Michael Shamoon 68cfde5b65 missed from merge 2022-02-15 11:41:56 -08:00
Michael Shamoon 99157b76b2 Update dirty check forms package 2022-02-15 11:39:03 -08:00
Johann Bauerandevilsidekick 5f58a329d3 Make Worker Timeout Configurable (#37)
* Make Worker Timeout Configurable

- defaults to 1800 seconds
- can be configured through environment for systems with weaker CPUs
- description added to documentation

Co-authored-by: evilsidekick <>
2022-02-15 20:28:08 +01:00
Michael Shamoon 67b9977d57 Merge branch 'dev' into feature/unsaved-changes 2022-02-15 11:20:05 -08:00
Ingo Sigmund b469937d4d Merge pull request #33 from sAksham-Ar/master 2022-02-15 20:14:03 +01:00
Quinn Casey 30b540045e Update header link 2022-02-15 11:03:10 -08:00
Quinn Casey 87af195862 Remove trailing whitespace 2022-02-15 11:01:15 -08:00
Quinn Casey 0ff001b4de Wow that's a rigid test, love it 2022-02-15 10:59:56 -08:00
Quinn Casey d6280b7939 add PRs and Non-Trivial process 2022-02-15 10:50:03 -08:00
Quinn Casey 07f10d3907 minor typos and clarifications 2022-02-15 10:10:09 -08:00
Quinn Casey 9fb18802fc roadmap does not exist 2022-02-15 09:59:32 -08:00
Quinn Casey 0936a2c474 fix typo 2022-02-15 09:58:37 -08:00
Quinn Casey edd21d1233 Merge pull request #40 from davemachado/master
Update documentation for grammar and additional clarity
2022-02-15 09:38:57 -08:00
Quinn Casey 86e4ec03dd Merge branch 'philpagel-scannertable' into dev 2022-02-15 09:35:29 -08:00
Quinn Casey 994d502c41 Merge branch 'scannertable' of https://github.com/philpagel/paperless-ng into philpagel-scannertable 2022-02-15 09:35:06 -08:00
Quinn Casey 3d3de5d0fe Merge branch 'fignew-patch-1' into dev 2022-02-15 09:24:22 -08:00
Quinn Casey f303a1c423 Merge branch 'patch-1' of https://github.com/fignew/paperless-ng into fignew-patch-1 2022-02-15 09:21:04 -08:00
Johann BauerandDenilson Sá Maia 1fa814e6e5 Tell users about multiple OCR languages in the install script (#30)
This valuable piece of information was only mentioned in the docs: https://paperless-ng.readthedocs.io/en/latest/configuration.html#ocr-settings

It would be good to have it in the install script, because that's where/when the user is explicitly asked to choose a language.

Co-authored-by: Denilson Sá Maia <denilsonsa@gmail.com>
2022-02-15 17:13:43 +01:00
Michael Shamoon 0aed34cb71 Merge pull request #49 from jonaswinkler/dependabot/npm_and_yarn/src-ui/karma-6.3.14 2022-02-15 07:59:28 -08:00
Michael Shamoon abddbb11c1 Merge pull request #50 from jonaswinkler/dependabot/npm_and_yarn/src-ui/follow-redirects-1.14.8 2022-02-15 07:58:57 -08:00
Felix E a25ba99bfb Merge pull request #32 from amenk/patch-1
Fix: Search box overlays menu on mobile (jonaswinkler#1382)
2022-02-15 16:19:39 +01:00
Simon Siebert 512615631a Merge pull request #45 from 2600box/patch-1
Typo corrected
2022-02-15 15:16:35 +01:00
Simon Siebert 98086fd04b Merge pull request #29 from denilsonsa/patch-2
Fixing broken link to docker CLI basics
2022-02-15 15:12:03 +01:00
Simon SiebertandSimon Siebert fe2aa2bbf3 Update README.md (#11)
Co-authored-by: Simon Siebert <simon.siebert@outlook.com>
2022-02-15 14:43:42 +01:00
Michael Shamoon da361e9d64 Update filter-rule-type.ts 2022-02-14 22:23:39 -08:00
Michael Shamoon f75d4ccc89 Merge branch 'dev' into feature/any-all-filtering 2022-02-14 22:23:31 -08:00
Michael Shamoon c2621f4633 Merge pull request #9 from shamoon/fix/issue-1228
Add white background to plaintext documents
2022-02-14 22:14:36 -08:00
Michael Shamoon e6602f1153 Merge pull request #2 from shamoon/pdf-viewer-mobile-improvements
Pdf viewer mobile improvements
2022-02-14 22:07:41 -08:00
Michael Shamoon 069e78881d Merge branch 'dev' into pdf-viewer-mobile-improvements 2022-02-14 22:00:39 -08:00
dependabot[bot] e4e7ee8433 Bump follow-redirects from 1.13.0 to 1.14.8 in /src-ui
Bumps [follow-redirects](https://github.com/follow-redirects/follow-redirects) from 1.13.0 to 1.14.8.
- [Release notes](https://github.com/follow-redirects/follow-redirects/releases)
- [Commits](https://github.com/follow-redirects/follow-redirects/compare/v1.13.0...v1.14.8)

---
updated-dependencies:
- dependency-name: follow-redirects
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-15 00:50:56 +00:00
Michael Shamoon ddb25ce281 Merge pull request #7 from isigmund/dev
Corrected layout of supported scanner table
2022-02-14 14:50:53 -08:00
Ingo Sigmund b4863173bd Corrected layout of supported scanner table 2022-02-14 23:39:54 +01:00
Michael Shamoon 140dbe1686 Merge branch 'muued-patch-1' into dev 2022-02-14 14:19:28 -08:00
Michael Shamoon f2f7b71367 Merge branch 'patch-1' of https://github.com/muued/paperless-ng into muued-patch-1 2022-02-14 14:17:52 -08:00
dependabot[bot] 10a57687a3 Bump karma from 6.3.3 to 6.3.14 in /src-ui
Bumps [karma](https://github.com/karma-runner/karma) from 6.3.3 to 6.3.14.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.3.3...v6.3.14)

---
updated-dependencies:
- dependency-name: karma
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-11 13:28:26 +00:00
Andreas f84be89e49 Update setup.rst
In my installation environment the setup didn't work. I think running `docker exec` instead of `docker-compose run` is more error free. Or is there any specific reason why `docker-compose run` is used?
2022-01-31 10:09:57 +01:00
Jonas Winkler fb6369f43c New translations django.po (Portuguese, Brazilian)
[ci skip]
2022-01-30 10:10:09 +01:00
Jonas Winkler 4b7c8c6157 New translations messages.xlf (Portuguese, Brazilian)
[ci skip]
2022-01-30 09:06:57 +01:00
Jonas Winkler 81e8317326 New translations django.po (Portuguese, Brazilian)
[ci skip]
2022-01-30 09:06:55 +01:00
2600box 3d6ca2cda3 Update usage_overview.rst
Corrected typo
2022-01-27 19:11:24 +01:00
Jonas Winkler 0740473ecc New translations django.po (German)
[ci skip]
2022-01-26 20:53:49 +01:00
Fabian Ohler 1bce697475 add visibility of PAPERLESS_PRE_CONSUME_SCRIPT 2022-01-26 10:48:05 +01:00
Jonas Winkler baaae7f76c New translations django.po (English, United Kingdom)
[ci skip]
2022-01-23 18:06:40 +01:00
Jonas Winkler bb19d4de9f New translations messages.xlf (Hebrew)
[ci skip]
2022-01-18 19:55:59 +01:00
Jonas Winkler 6880f72472 New translations messages.xlf (Slovenian)
[ci skip]
2022-01-16 18:11:53 +01:00
Jonas Winkler 89fda615f6 New translations django.po (Slovenian)
[ci skip]
2022-01-16 18:11:51 +01:00
s4nf4n 2c84d29050 add ansible role_name to fix ci 2022-01-16 17:49:05 +01:00
Michael Shamoon 85399cf99f Add white background to plaintext documents 2022-01-13 11:13:33 -08:00
Dave Machado e655b40d3a Update documentation for grammar and additional clarity
Small tweaks to be consistent in oxford comma usage already at work in
the docs. More importantly, adding some clarification here and there
to try and make things even more dead simple to read :)
2022-01-07 21:51:08 -05:00
Phil 3e94f3c58c Remove duplicate line 2021-12-20 09:36:59 +01:00
Jonas Winkler 61a42f45ab New translations messages.xlf (Czech)
[ci skip]
2021-12-17 09:59:59 +01:00
Jonas Winkler 4e7863c27f New translations messages.xlf (Czech)
[ci skip]
2021-12-17 08:36:14 +01:00
Jonas Winkler f9a5081438 New translations messages.xlf (Czech)
[ci skip]
2021-12-16 22:36:37 +01:00
Jonas Winkler ea5d7ac6f0 New translations messages.xlf (Czech)
[ci skip]
2021-12-16 21:28:24 +01:00
Phil b318c0ab04 Add two more scanner recommendations
* Brother ADS-2800W
* Brother MFC-8950DW
* Add column for SFTP
2021-12-16 15:56:12 +01:00
Jonas Winkler 3d0a7c73e9 New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2021-12-13 13:43:16 +01:00
Jonas Winkler e98bf547e5 New translations django.po (Arabic, Saudi Arabia)
[ci skip]
2021-12-13 12:45:44 +01:00
Jonas Winkler 8cb2e588fb New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2021-12-13 12:45:42 +01:00
Jonas Winkler e4f99de13d New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2021-12-13 11:31:04 +01:00
Daniel Blittschau 206d5be46c Update login.html to not autocapitalize username 2021-11-26 16:15:08 -06:00
Jonas Winkler e0f80c4364 New translations messages.xlf (Arabic, Egypt)
[ci skip]
2021-11-23 19:07:26 +01:00
Jonas Winkler 86891323ea New translations django.po (Arabic, Egypt)
[ci skip]
2021-11-23 19:07:25 +01:00
Jonas Winkler 69e315ee8a New translations messages.xlf (Arabic, Yemen)
[ci skip]
2021-11-23 19:07:24 +01:00
Jonas Winkler ced3aefc54 New translations django.po (Arabic, Yemen)
[ci skip]
2021-11-23 19:07:23 +01:00
Jonas Winkler 6abf26bd99 New translations messages.xlf (Arabic, Saudi Arabia)
[ci skip]
2021-11-23 19:07:22 +01:00
Jonas Winkler 4667a7a6a2 New translations django.po (Arabic, Saudi Arabia)
[ci skip]
2021-11-23 19:07:21 +01:00
Jonas Winkler 6eb5f3a518 New translations messages.xlf (Arabic, Bahrain)
[ci skip]
2021-11-23 19:07:20 +01:00
Jonas Winkler 6f87b7830d New translations django.po (Arabic, Bahrain)
[ci skip]
2021-11-23 19:07:19 +01:00
Jonas Winkler ccf974b1b7 New translations messages.xlf (Slovenian)
[ci skip]
2021-11-23 19:07:18 +01:00
Jonas Winkler d9016ed619 New translations django.po (Slovenian)
[ci skip]
2021-11-23 19:07:16 +01:00
Jonas Winkler bd2eade33d New translations messages.xlf (Khmer)
[ci skip]
2021-11-01 19:47:02 +01:00
Jonas Winkler 11e8ea471d New translations django.po (Khmer)
[ci skip]
2021-11-01 19:47:01 +01:00
Jonas Winkler 992bef1553 New translations messages.xlf (Greek)
[ci skip]
2021-10-31 23:52:21 +01:00
Jonas Winkler 396235be3e New translations django.po (Greek)
[ci skip]
2021-10-31 23:52:19 +01:00
Jonas Winkler 9662463510 New translations messages.xlf (Greek)
[ci skip]
2021-10-31 22:48:03 +01:00
Jonas Winkler 64e1590d9e New translations django.po (Greek)
[ci skip]
2021-10-31 22:48:02 +01:00
Saksham Arya c751690e79 fixed setup command 2021-11-01 00:08:36 +05:30
Alexander Menk f76915117b #1382 Fix: Search box overlays menu on mobile
Fix Z-index problem
2021-10-31 12:34:22 +01:00
Jonas Winkler ba915844a4 New translations messages.xlf (Greek)
[ci skip]
2021-10-30 21:49:45 +02:00
Jonas Winkler 59d96d170e New translations django.po (Greek)
[ci skip]
2021-10-30 21:49:44 +02:00
Denilson Sá Maia a9a27eda51 Clarifying documentation on filename placeholders
The documentation text now better describes what the code does. It is now clear that the time is not included, and that all date placeholders are either zero-padded or ISO-formatted.

https://github.com/jonaswinkler/paperless-ng/blob/05c36f91cfa5613bdea5b3c490774cc40b586eeb/src/documents/file_handling.py#L164-L171
2021-10-15 15:14:06 +02:00
Jonas Winkler 249de7ec6d New translations messages.xlf (Czech)
[ci skip]
2021-10-13 21:07:55 +02:00
Jonas Winkler 8aabf4805a New translations django.po (Czech)
[ci skip]
2021-10-13 21:07:54 +02:00
Jonas Winkler 2ab06d7294 New translations messages.xlf (Czech)
[ci skip]
2021-10-13 20:07:40 +02:00
Jonas Winkler e71f38deea New translations django.po (Czech)
[ci skip]
2021-10-13 20:07:39 +02:00
Denilson Sá Maia 0d70925abe Fixing broken link to docker CLI basics
The old post is still archived: https://web.archive.org/web/20210218064256/https://sehn.tech/post/devops-with-docker/

The content seems to have moved to a new URL: https://www.sehn.tech/refs/devops-with-docker/
2021-10-11 01:34:18 +02:00
Patrick Kilter 89bb73aa25 typo fixed 2021-10-07 21:59:35 +02:00
Patrick Kilter 1c93f26034 Added hint to use Management Utilities
Enable User to find the Management Utiltities Docs
2021-10-07 21:49:12 +02:00
Jonas Winkler 86e44da695 New translations django.po (Chinese Simplified)
[ci skip]
2021-09-26 14:38:30 +02:00
Jonas Winkler 530ad72e18 New translations messages.xlf (Portuguese)
[ci skip]
2021-09-21 13:59:29 +02:00
Jonas Winkler ae185a1848 New translations messages.xlf (Portuguese)
[ci skip]
2021-09-21 13:00:15 +02:00
Jonas Winkler e3682b69f7 New translations messages.xlf (Portuguese)
[ci skip]
2021-09-21 12:03:15 +02:00
Jonas Winkler fe72fc173d New translations messages.xlf (Chinese Traditional)
[ci skip]
2021-09-21 06:54:50 +02:00
Jonas Winkler 3b4663639d New translations django.po (Chinese Traditional)
[ci skip]
2021-09-21 06:54:49 +02:00
Jonas Winkler 51b20a6e17 New translations messages.xlf (Chinese Simplified)
[ci skip]
2021-09-21 06:54:48 +02:00
Jonas Winkler ad9122cd4f New translations messages.xlf (Chinese Simplified)
[ci skip]
2021-09-20 20:37:38 +02:00
Jonas Winkler 7d8bf75e44 New translations django.po (Chinese Simplified)
[ci skip]
2021-09-20 20:35:39 +02:00
Jonas Winkler e36e4f61b3 New translations django.po (Chinese Simplified)
[ci skip]
2021-09-20 19:38:04 +02:00
Jonas Winkler 5612ad08dd New Crowdin updates (#1305) 2021-09-14 21:34:53 +02:00
Jonas Winkler 7bc8325df9 Merge pull request #1311 from mattlamb99/patch-1
Incorrect path to docker-compose files
2021-09-14 21:34:36 +02:00
Matt Lamb 2aca64bfcd Incorrect path to docker-compose files 2021-09-13 16:33:46 +12:00
Jonas Winkler e9956234a3 Merge pull request #1297 from shamoon/feature/issue-1260
Add loading indicator when document list reloading
2021-09-10 20:37:37 +02:00
Jonas Winkler d656de8883 Merge pull request #1258 from tribut/logout-url
Add PAPERLESS_LOGOUT_REDIRECT_URL
2021-09-10 20:36:21 +02:00
Jonas Winkler 32f0ebaac3 Merge pull request #1270 from ajkavanagh/fix-ansible-role-gotenberg-endpoint
Fix PAPERLESS_TIKA_GOTENBERG_ENDPOINT in a/t/main.yml
2021-09-10 20:35:35 +02:00
Jonas Winkler 73700437e4 New Crowdin updates (#1276) 2021-09-10 20:34:33 +02:00
Michael Shamoon 14d96350c3 Add i18n 2021-09-10 11:28:49 -07:00
Jonas Winkler 4e9c4ebd02 Merge pull request #1274 from padraigkitterick/patch-1
Updated docker instructions re webserver port
2021-09-10 20:28:47 +02:00
Michael Shamoon 097fe424c2 Show loading with spinner on document list reloading 2021-09-08 21:12:44 -07:00
Pádraig Kitterick 12abb592be Updated docker instructions re webserver port
Clarified exactly what to change to modify the default webserver port (issue #1273)
2021-08-31 14:36:55 +01:00
Alex Kavanagh 4f0951402a Fix PAPERLESS_TIKA_GOTENBERG_ENDPOINT in a/t/main.yml
This fixes the ansible role for installing paperless-ng where the config
item PAPERLESS_TIKA_GOTENBERG_ENDPOINT derived from the wrong ansible
variable "paperlessng_tika_endpoint".  This patch corrects that to
"paperlessng_tika_gotenberg_endpoint".
2021-08-30 18:01:33 +01:00
Jonas Winkler b555b3664f Merge pull request #1262 from Tooa/fix-issue-1250
fix(tika): adapt to Gotenberg 7 API
2021-08-28 13:57:23 +02:00
Uli Fahrer 2dcacaee14 fix(tika): adapt to Gotenberg 7 API
This commit adapts to the latest breaking changes from Gotenberg 7.
It also freezes the usage of the Gotenberg server to v7.x. Doing
this prevents further breaking changes leaking in our code base.

* refs #1250
2021-08-27 08:32:16 +02:00
Felix Eckhofer bf2cdae3b1 Add PAPERLESS_LOGOUT_REDIRECT_URL
When set, the user is redirected to this URL after a logout. Especially
useful in conjunction with PAPERLESS_ENABLE_HTTP_REMOTE_USER and SSO.
2021-08-26 18:40:12 +02:00
Felix Eckhofer 64304c5121 Add PAPERLESS_TRASH_DIR
When set, original files are moved here instead of being permanently
removed when a document is deleted.
2021-08-24 12:50:13 +02:00
jonaswinkler cd43bc1f66 changelog 2021-08-22 17:15:14 +02:00
jonaswinkler 1b24136590 version bump 2021-08-22 17:11:36 +02:00
jonaswinkler e8d5b549de documentation 2021-08-22 17:10:10 +02:00
jonaswinkler 3866a77d68 Merge branch 'master' into dev 2021-08-22 17:03:58 +02:00
jonaswinkler 360fe68f92 fix whitespace 2021-08-22 17:03:45 +02:00
Jonas Winkler c9229f9c80 Merge pull request #1066 from holzhannes/patch-3
Info for The input device is not a TTY Errors
2021-08-22 17:02:08 +02:00
Jonas WinklerandStéphane Brunner e5b92d895d Update docs/administration.rst
Co-authored-by: Stéphane Brunner <stephane.brunner@camptocamp.com>
2021-08-22 17:00:36 +02:00
jonaswinkler a7643c1c29 Merge branch 'master' into dev 2021-08-22 16:27:59 +02:00
jonaswinkler 45fd4e8565 fix whitespace 2021-08-22 16:27:44 +02:00
jonaswinkler 211a9d720a changelog 2021-08-22 16:26:58 +02:00
Jonas Winkler da9c2735b4 Merge pull request #1201 from pewter77/patch-1
update configuration docs for languages
2021-08-22 16:26:27 +02:00
jonaswinkler d31baca442 downgrade numpy due to armv7 issues 2021-08-19 16:18:49 +02:00
jonaswinkler 499d6f79aa Merge remote-tracking branch 'origin/master' into dev 2021-08-19 00:06:47 +02:00
jonaswinkler 49e049f1c5 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-08-19 00:06:37 +02:00
jonaswinkler 7411d7c1e2 update dependencies 2021-08-19 00:06:23 +02:00
Jonas Winkler 3f5d3d15fd Merge pull request #1209 from Unkn0wnCat/patch-1
Add Doxie Q to scanners.rst
2021-08-18 23:53:14 +02:00
Jonas Winkler 68fb85ceca Merge pull request #1221 from AlD/master
Make ignores configurable
2021-08-18 22:41:27 +02:00
Daniel Albers 3ebe6d5aef Make ignores configurable
Adds config file setting PAPERLESS_CONSUMER_IGNORE_PATTERNS.
2021-08-18 22:23:18 +02:00
jonaswinkler 566b3ed53d Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-08-18 22:03:31 +02:00
Jonas Winkler a688c747d7 New Crowdin updates (#1198) 2021-08-18 21:56:59 +02:00
jonaswinkler 83b90e1416 install required dependency for building paperless-ng on GitHub CI 2021-08-18 18:40:27 +02:00
jonaswinkler 23c6f849d6 fix bug with DPI calculation 2021-08-18 18:33:33 +02:00
jonaswinkler ba6843df83 update python dependencies 2021-08-18 18:21:41 +02:00
jonaswinkler 0b90e69119 update dockerfile 2021-08-18 18:21:31 +02:00
jonaswinkler dbe820323e switch to python 3.9 2021-08-18 17:47:53 +02:00
Florian Feldmann 7680bf7c0d Added a sentence about python-dotenv format
Something like this would have helped me to get the configuration right without debugging
2021-08-09 12:15:01 +02:00
Kevin Kandlbinder 47d95d5b0a Add Doxie Q to scanners.rst
The Doxie Q / Q2 is a budget-scanner I've been using for my paperless-usage. It has POST-Support to a custom endpoint like paperless over WiFi and has a rather open API (See https://help.getdoxie.com/doxieq/wifi/api/).
2021-08-04 15:23:12 +02:00
fignew 757507e634 Add Epson ES-580W recommendation and organize table 2021-07-31 14:32:36 -04:00
pewter77 971192f6f3 update configuration docs for languages
Due to tesseract naming scheme, packages use '-' but the internal OCR uses '_' . This is to clarify in the documentation that this is the case for new users.
2021-07-30 23:21:22 +08:00
Fabian Ohler 07d3f47978 recommend Brother MFC-L2750DW 2021-07-23 10:27:31 +02:00
Jonas Winkler fbfc7df593 Merge pull request #1173 from mweimerskirch/feature/l10n-lb_LU
Added support for Luxembourgish (lb_LU) as an interface language
2021-07-18 21:42:58 +02:00
Jonas Winkler 3c7644ce79 Merge pull request #1153 from jonaswinkler/l10n_dev
New Crowdin updates
2021-07-18 17:36:14 +02:00
Jonas Winkler 4e4a8bcca8 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-16 17:20:14 +02:00
Michel Weimerskirch dc5586b16d Added support for Luxembourgish (lb_LU) as an interface language 2021-07-16 16:43:55 +02:00
Jonas Winkler 1d87b48471 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-16 16:22:10 +02:00
Jonas Winkler 353a3432df New translations django.po (Luxembourgish)
[ci skip]
2021-07-16 16:22:08 +02:00
Jonas Winkler efe94bbf18 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-16 15:01:08 +02:00
Jonas Winkler cea6ec09bc New translations django.po (Luxembourgish)
[ci skip]
2021-07-16 15:01:07 +02:00
Jonas Winkler 4a3276f69c New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-16 13:47:43 +02:00
Jonas Winkler f164def2ed New translations django.po (Luxembourgish)
[ci skip]
2021-07-16 13:47:42 +02:00
Jonas Winkler 511c76ae7a New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-15 10:58:18 +02:00
Jonas Winkler bfa6dda0de New translations django.po (Luxembourgish)
[ci skip]
2021-07-15 10:58:16 +02:00
Jonas Winkler 54af734971 New translations django.po (Luxembourgish)
[ci skip]
2021-07-15 09:42:47 +02:00
Jonas Winkler 5b9763ecb4 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-14 18:00:31 +02:00
Jonas Winkler 438bad23e8 New translations django.po (Luxembourgish)
[ci skip]
2021-07-14 18:00:29 +02:00
Jonas Winkler ae5a205ba3 New translations django.po (Luxembourgish)
[ci skip]
2021-07-14 10:42:55 +02:00
Jonas Winkler 19b683e7b0 New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-13 23:45:12 +02:00
Jonas Winkler 0c92027414 New translations django.po (Luxembourgish)
[ci skip]
2021-07-13 23:45:11 +02:00
Jonas Winkler c4e3b2ca2f New translations messages.xlf (Luxembourgish)
[ci skip]
2021-07-13 22:18:15 +02:00
Jonas Winkler ba67b89db7 New translations django.po (Luxembourgish)
[ci skip]
2021-07-13 22:18:14 +02:00
Jonas Winkler 06f308ede3 New translations messages.xlf (Spanish)
[ci skip]
2021-07-11 12:20:36 +02:00
Jonas Winkler 214fb8204b New translations messages.xlf (Spanish)
[ci skip]
2021-07-11 10:29:21 +02:00
Jonas Winkler 2a2d7be9f9 New translations django.po (Spanish)
[ci skip]
2021-07-11 10:29:20 +02:00
Jonas Winkler 23304c3746 New translations django.po (Spanish)
[ci skip]
2021-07-11 09:21:44 +02:00
Jonas Winkler 20829c90b2 New translations django.po (German)
[ci skip]
2021-07-05 13:17:50 +02:00
Jonas Winkler 33cc3ce7e0 Merge pull request #1127 from jonaswinkler/l10n_dev
New Crowdin updates
2021-07-04 12:47:07 +02:00
Jonas Winkler 3487b23e88 New translations django.po (English, United Kingdom)
[ci skip]
2021-06-19 23:20:13 +02:00
benjaminfrank ec707bd02a formatting 2021-06-16 23:04:39 +02:00
benjaminfrank 3cc463b2c3 add section 2021-06-16 23:03:28 +02:00
benjaminfrank 99e5cf0cdc remove whitespaces 2021-06-16 23:02:49 +02:00
benjaminfrank ab0ec0d5a5 documentation
I have no clue why it looks funny though
2021-06-16 22:56:51 +02:00
benjaminfrank e0a2af3d98 Create paperless-webserver.socket 2021-06-16 22:42:54 +02:00
benjaminfrank 524bc2722f Update paperless-webserver.service 2021-06-16 22:40:26 +02:00
Jonas Winkler 4718fe13c2 Merge pull request #1116 from ytzelf/patch-1
Update scanners.rst
2021-06-14 18:18:57 +02:00
ytzelf 8592acf6b8 Update scanners.rst
Added ADS-1100w which has FTP (and only FTP) capabilities but is quite cheap
2021-06-14 18:11:06 +02:00
jonaswinkler 88042d7072 fix wording 2021-06-13 21:30:20 +02:00
jonaswinkler bf92e52d5c update dependencies 2021-06-13 21:21:56 +02:00
jonaswinkler 419580b3be changelog, versions 2021-06-13 19:17:29 +02:00
jonaswinkler 5ee1f6b82b Merge branch 'normalize-whitespace' into dev 2021-06-13 19:06:08 +02:00
Michael Lynch 410bb6a84e Fix trailing newlines in configuration.rst 2021-06-13 10:57:58 -04:00
Michael Lynch af2b5fef13 Add checkout step to whitespace CI job 2021-06-13 10:57:40 -04:00
Michael Lynch 372ac3a40c Normalize whitespace in source files
Ensure that no source files have trailing whitespace at end of lines and ensure that all files end with a single trailing newline.

This also adds Github Actions to enforce whitespace conventions.
2021-06-13 10:57:40 -04:00
jonaswinkler a1507d6079 update django-q 2021-06-13 16:36:05 +02:00
jonaswinkler 9242a8901a update django-q 2021-06-13 15:43:32 +02:00
jonaswinkler 1d4f25f930 update datepipe implementation due to interface change 2021-06-13 15:27:04 +02:00
jonaswinkler 7323ec8d16 update angular devkit 2021-06-13 15:18:23 +02:00
jonaswinkler 39d45367d0 replace ng-bootstrap with ngx-bootstrap 2021-06-13 15:12:56 +02:00
jonaswinkler a6521952b0 update to Angular 11 2021-06-13 15:08:56 +02:00
jonaswinkler 7148c10f1b update docker entrypoint 2021-06-13 12:54:24 +02:00
jonaswinkler 4a1a66248d update requirements.txt 2021-06-13 12:40:28 +02:00
Jonas Winkler 67d0773231 Merge pull request #933 from sbrunner/suggest
Add suggest
2021-06-13 12:20:34 +02:00
jonaswinkler ff370172b5 fix pycodestyle 2021-06-13 12:18:21 +02:00
jonaswinkler 1f707e86cc fix logging getting spammed with pdfminer warnings on JPG files 2021-06-13 12:09:16 +02:00
jonaswinkler a3dae02cfb write classifier model to temporary file before copying to final location 2021-06-13 12:03:20 +02:00
jonaswinkler 3eae8a2210 update dependencies 2021-06-13 12:02:49 +02:00
Jonas Winkler 0f18fe1853 Merge pull request #1107 from MJWcodr/patch-1
Update setup.rst
2021-06-13 11:34:03 +02:00
Jonas Winkler 513c61eb79 Merge pull request #1113 from magnetic6/master
Document specification of the expected creation date order
2021-06-13 11:33:43 +02:00
Peter M 4031233fd4 Document specification of the expected creation date order 2021-06-12 10:15:51 -04:00
Matthias J. Wünsch 76ff6100a3 Update setup.rst 2021-06-09 16:46:53 +02:00
Jonas Winkler 05c36f91cf Merge pull request #1105 from mtlynch/single-install-cmd
Simplify installation command
2021-06-07 00:48:29 +02:00
Michael Lynch 6625f8962a Simplify installation command
The installation for docker is currently three separate commands, but it can be a single command if the user simply pipes to the sh interpreter directly. I know there are some who object to piping to sh from a URL, but the current method has no security benefit over piping directly to sh.
2021-06-06 18:02:23 -04:00
Jonas Winkler 63402b70d2 Merge pull request #1057 from muued/patch-6
adjust ansible README to installation instructions
2021-06-03 15:14:36 +02:00
Stéphane Brunner 2ae4a7806d Add suggest 2021-05-30 14:50:29 +02:00
Jonas Winkler fcc4ecd007 Merge pull request #1068 from servusoft/dev
Solving issue with search criteria 'maximum age' for some mail server
2021-05-29 19:13:10 +02:00
Jonas Winkler 45497250cd Merge pull request #1074 from sbrunner/scan-to-paperless
Add Scan to Paperless as affiliated project
2021-05-29 19:12:46 +02:00
Stéphane Brunner 7dd957140e Add Scan to Paperless as affiliated project 2021-05-29 16:38:16 +02:00
servusoft 4cd772a39e Solving issue with search criteria maximum age for some mail server
Some mail servers (mail.ru) do not support search criteria for the maximum age. By setting the maximum age to 0, it is possible to hide the search criteria. This PR solves that problem.
2021-05-27 18:30:57 +02:00
HolzHannes b3906e7bc1 Corrected position of info 2021-05-27 10:01:30 +02:00
HolzHannes e5009b4cd2 Info for The input device is not a TTY Errors 2021-05-27 08:30:21 +02:00
Fabian Ohler 10bf9fd1f8 Adjusted paperlessng_version variable explanation 2021-05-26 08:30:17 +02:00
Jonas Winkler bd8e68692e New translations django.po (Dutch) (#1048) 2021-05-25 00:01:38 +02:00
Jonas Winkler b8386a1531 Merge pull request #1052 from muued/patch-5
Use ansible-galaxy during updates
2021-05-25 00:01:20 +02:00
Fabian OhlerandFabian Koller 61534fb29d Apply suggestions from code review
Co-authored-by: Fabian Koller <C0nsultant@users.noreply.github.com>
2021-05-24 15:27:11 +02:00
Fabian Ohler 9ad81be38c adjust ansible README to installation instructions
and fix some typos
2021-05-24 15:10:41 +02:00
Fabian Ohler cf7048e336 Use ansible-galaxy during updates
This mechanism is already used for the installation process.
2021-05-22 23:29:44 +02:00
jonaswinkler a6105b3ad3 update frontend dependencies 2021-05-21 15:27:10 +02:00
jonaswinkler a262a82cad Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-05-19 23:11:43 +02:00
jonaswinkler 635c96accf better exception handling 2021-05-19 23:11:24 +02:00
Jonas Winkler 5c174a69c2 New Crowdin updates (#1043) 2021-05-19 23:00:51 +02:00
jonaswinkler de08d17835 changelog 2021-05-19 23:00:03 +02:00
jonaswinkler ca1e838c52 catch another exception regarding classifier loading 2021-05-19 22:57:52 +02:00
jonaswinkler 3b73146ecd changelog and version bump 2021-05-19 22:40:56 +02:00
jonaswinkler 8e3822f8e6 Merge remote-tracking branch 'origin/master' into dev 2021-05-19 22:37:01 +02:00
jonaswinkler 3b912a0de1 improved docker startup time 2021-05-19 22:26:51 +02:00
jonaswinkler c72791bd21 Fix file permissions 2021-05-19 22:05:23 +02:00
jonaswinkler 80ba5b561f codestyle 2021-05-19 20:26:12 +02:00
jonaswinkler f9f4d4c937 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-05-19 20:03:05 +02:00
jonaswinkler 0419c52d35 fix file permissions 2021-05-19 20:02:56 +02:00
jonaswinkler 93a79be1e2 delete macOS specific files 2021-05-19 20:02:47 +02:00
jonaswinkler f8afbae2cd ignore macOS specific files 2021-05-19 19:56:01 +02:00
jonaswinkler 4a52d346f9 remove dead code 2021-05-19 19:55:35 +02:00
Jonas Winkler 7d59d11725 New Crowdin updates (#1026) 2021-05-18 14:46:12 +02:00
Jonas Winkler 5886348188 Merge pull request #1034 from steviehs/patch-1
Update setup.rst
2021-05-18 14:45:52 +02:00
steviehs a8135528b1 Update setup.rst
Added hint to upgrade pip first.
2021-05-17 09:07:31 +02:00
jonaswinkler df6b991161 File permissions 2021-05-16 23:01:41 +02:00
Jonas Winkler 3f33f66387 New Crowdin updates (#1023) 2021-05-16 13:13:54 +02:00
jonaswinkler 870808f3c2 add support for configuring mail server character set per server. fixes #548 2021-05-16 11:58:32 +02:00
Jonas Winkler b12fcca20d Merge remote-tracking branch 'origin/dev' into dev 2021-05-16 01:23:07 +02:00
Jonas Winkler 61b47e358f correct file mode 2021-05-16 01:22:51 +02:00
Jonas Winkler 40a2fb7936 New Crowdin updates (#1022) 2021-05-15 21:14:03 +02:00
jonaswinkler 9afc8ba43d Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-05-15 19:21:34 +02:00
jonaswinkler b122a05c71 changelog and version bump 2021-05-15 19:21:15 +02:00
Jonas Winkler f568a9fdfa Merge pull request #934 from sbrunner/no-progress
Add --no-progress-bar option to commands
2021-05-15 19:06:50 +02:00
jonaswinkler a350bb3086 add translation hint 2021-05-15 18:58:23 +02:00
jonaswinkler 8ae4b7560b added some missing strings 2021-05-15 18:53:55 +02:00
jonaswinkler 96f4924911 frontend support for fulltext sorting 2021-05-15 18:48:39 +02:00
jonaswinkler f3703fc6e3 only show score when sorting by score 2021-05-15 17:25:49 +02:00
jonaswinkler 0d5fd229bf disable reverse sorting by score 2021-05-15 17:11:26 +02:00
jonaswinkler 1519e66550 fix pycodestyle 2021-05-15 15:14:22 +02:00
Jonas Winkler fcae461430 Merge pull request #1003 from puuu/baseurl
Fix sub path support
2021-05-15 15:12:00 +02:00
jonaswinkler 039d797dfc Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-05-15 15:00:39 +02:00
Jonas Winkler 4f61868b28 New Crowdin updates (#989) 2021-05-15 15:00:00 +02:00
jonaswinkler 9efbc55fd6 update dependencies 2021-05-15 14:59:35 +02:00
Jonas Winkler 2e4e88114e Merge pull request #1019 from amenk/feature/print-css-for-doc-list
Add print css for document list
2021-05-15 14:35:02 +02:00
jonaswinkler 8ee2e8b23d sorting for full text queries 2021-05-15 13:58:11 +02:00
Alexander Menk 37287c3e7e Add print css for document list
Allow printing of the document list in a clean way

* Hide sidebar, filter
* Use full width
2021-05-15 12:26:04 +02:00
jonaswinkler 814d90745b Workaround for all PDFminer.six issues. 2021-05-15 12:15:32 +02:00
jonaswinkler 48e8076e34 Merge branch 'master' into dev 2021-05-15 12:04:45 +02:00
Jonas Winkler edb9d934b2 Merge pull request #1017 from muued/patch-3
fix description of paperless-scheduler.service
2021-05-14 21:14:14 +02:00
Fabian Ohler ed44f0cb04 fix description of paperless-scheduler.service 2021-05-14 13:43:39 +02:00
puuu 1c2f3cf9af Fix serving static files under root_path 2021-05-14 18:14:59 +09:00
puuu 13afd25690 Update documentation about PAPERLESS_FORCE_SCRIPT_NAME 2021-05-14 15:39:20 +09:00
puuu f9b6374685 use {% url %} template to refere to root path 2021-05-14 14:44:13 +09:00
puuu 56c9b578e3 Make redirections respect root_path or STATIC_URL, name IndexView 2021-05-14 14:44:13 +09:00
puuu e792a00feb Introduce BASE_URL, make LOGIN_URL and STATIC_URL work with subpath 2021-05-14 14:44:13 +09:00
puuu c35c4eade9 Introduce ConfigurableWorker to make uvicorn respect FORCE_SCRIPT_NAME 2021-05-14 14:44:13 +09:00
puuu 5bf725546b use baseURI for websocket and api calls 2021-05-14 14:44:13 +09:00
puuu 6b6862705e make all links relative 2021-05-14 14:44:13 +09:00
jonaswinkler b89b51b121 Merge branch 'master' into dev 2021-05-09 16:22:21 +02:00
Jonas Winkler 1b31388232 Merge pull request #995 from cmer/prevent-robot-indexing
Tell web crawlers to not index Paperless
2021-05-07 22:30:49 +02:00
Jonas Winkler 8256e73f04 Merge pull request #994 from shamoon/fix/issue-985
Respect user dark mode setting on login page
2021-05-07 22:30:03 +02:00
Carl Mercier fc4e59ec00 Tell web crawlers to not index Paperless 2021-05-07 14:02:11 -04:00
Michael Shamoon 428e00ba23 Respect user dark mode setting on login page 2021-05-07 10:50:08 -07:00
Jonas Winkler 2ccbb08c3f Merge pull request #992 from muued/patch-2
Mention lacking support for ARM in ansible setup
2021-05-06 20:58:59 +02:00
Jonas Winkler eefc026a17 Merge pull request #991 from muued/patch-1
Use ansible-galaxy for ansible setup
2021-05-06 17:51:21 +02:00
Fabian Ohler d89022a280 Mention lacking support for ARM in ansible setup
Since the jbig2enc dependency is pulled from a repository that only provides i386 and amd64 packages, the installation will fail on arm hosts.
2021-05-06 14:15:12 +02:00
Fabian Ohler 93bd24c9d2 Update setup.rst
use ansible-galaxy to fetch the ansible scripts to have a role called paperless-ng instead of ansible
2021-05-06 14:08:49 +02:00
Jonas Winkler 197aec2945 New Crowdin updates (#988)
* New translations django.po (French)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations django.po (Portuguese)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]
2021-05-05 22:36:22 +02:00
Jonas Winkler e16d58cff5 New Crowdin updates (#986) 2021-05-05 14:49:08 +02:00
Jonas Winkler 92667009be add swedish locale 2021-05-04 17:01:39 +02:00
Jonas Winkler c93657f40e New Crowdin updates (#976) 2021-05-04 15:28:10 +02:00
Jonas Winkler 16658f5939 Merge pull request #965 from jovandeginste/add-rtf
Add support for rtf
2021-04-30 19:11:07 +02:00
Jo Vandeginste ec0af59596 Add support for rtf
Signed-off-by: Jo Vandeginste <Jo.Vandeginste@kuleuven.be>
2021-04-30 13:19:12 +02:00
Jonas Winkler 9e1f9d6d9d Merge pull request #960 from shamoon/fix/issue-65-2
Remove PDF type attribute to fix macOS Safari native PDF viewer crashing
2021-04-28 16:45:22 +02:00
Michael Shamoon e652b927ce Remove type attribute of pdf object in document detail 2021-04-28 07:32:18 -07:00
Jonas Winkler 5a97f3f94b update libseccomp2 2021-04-28 02:12:55 +02:00
Jonas Winkler 9494c243a4 changelog, version bump 2021-04-27 22:52:50 +02:00
Jonas Winkler c0a1be4325 Merge pull request #956 from WhiteHatTux/bugfix/879
Use gosu as it is less complicated than sudo
2021-04-27 09:59:05 +02:00
Jonas Winkler 70fda8e2f8 New Crowdin updates (#932) 2021-04-27 09:52:30 +02:00
Christopher Timm 5765893f69 Use gosu instead of sudo for easier configuration
#879
2021-04-26 19:06:30 -05:00
Stéphane Brunner dc26c9b7cc Add --no-progress-bar option to commands 2021-04-18 16:16:11 +02:00
jonaswinkler 17b9d7eb42 Merge branch 'master' into dev 2021-04-18 12:41:52 +02:00
jonaswinkler 0a897cae32 bugfix 2021-04-18 11:29:12 +02:00
jonaswinkler 37f56e824a Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-04-18 11:25:21 +02:00
jonaswinkler a8e7ec0e96 changelog, version bump 2021-04-18 11:25:11 +02:00
Jonas Winkler b86d853cf1 New Crowdin updates (#931) 2021-04-18 10:49:22 +02:00
Jonas Winkler da0c94c9a1 New Crowdin updates (#930) 2021-04-17 22:33:42 +02:00
jonaswinkler 0547fd2760 fix minor issue 2021-04-17 22:33:06 +02:00
jonaswinkler e0a6df8435 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-04-17 22:30:45 +02:00
jonaswinkler c2d4ca7566 lets hope this works 2021-04-17 22:29:54 +02:00
jonaswinkler 56ce278bbd update FAQ 2021-04-17 22:29:24 +02:00
Jonas Winkler e112541f5b New Crowdin updates (#929) 2021-04-17 20:34:57 +02:00
jonaswinkler 17c7b0840b changes for django 3.2 2021-04-17 16:00:29 +02:00
jonaswinkler 68658bd407 update dependencies 2021-04-17 14:56:25 +02:00
Jonas Winkler 9184845a9d Merge pull request #890 from what-name/feature/superuser-manager
Create initial Paperless user automatically
2021-04-17 14:44:01 +02:00
Jonas Winkler 8ddb2fb305 New Crowdin updates (#928) 2021-04-17 14:37:31 +02:00
jonaswinkler 96f53986b7 pycodestyle 2021-04-17 14:36:04 +02:00
jonaswinkler 8566682209 add test case, update password if changed 2021-04-17 14:33:07 +02:00
jonaswinkler 4f9ae17059 Merge branch 'dev' into feature/superuser-manager
# Conflicts:
#	docker/docker-entrypoint.sh
2021-04-17 14:10:56 +02:00
jonaswinkler 7f9f805c5f Merge branch 'dev' into feature/superuser-manager 2021-04-17 14:01:42 +02:00
Jonas Winkler 5208e81715 Merge pull request #856 from sbrl/patch-1
docker-entrypoint.sh: don't crash on chown errors
2021-04-17 13:57:14 +02:00
Jonas Winkler 01a786c117 Merge pull request #894 from lknop/master
add single compose file for usage in portainer environments
2021-04-17 13:50:11 +02:00
Jonas Winkler 8bf4f31954 Merge pull request #918 from shamoon/fix/issue-907
"Sticky" filter editor and bulk editor
2021-04-17 13:48:54 +02:00
jonaswinkler 07ab3e98ed add pl-PL locale 2021-04-17 13:41:26 +02:00
Jonas Winkler ba5899de7b New Crowdin updates (#874) 2021-04-17 13:34:42 +02:00
Michael Shamoon a4fef056ed Fix breakpoint
File missing from last commit
2021-04-14 13:24:03 -07:00
Michael Shamoon c266cd6aae Spacing tweaks, mobile breakpoint 2021-04-14 09:34:39 -07:00
Michael Shamoon 43d05b2e6d Hide visible underlying shadows on filter / bulk editor 2021-04-14 09:00:57 -07:00
Michael Shamoon 6f0c14cc07 Make filter editor / bulk editor 'sticky' on scroll 2021-04-14 09:00:30 -07:00
Lukasz Knop 2eac8fa91c disabled unnecessary overrides, copied variable comments 2021-04-11 21:48:50 +02:00
Lukasz Knop 31f5e178b3 add single compose file for usage in portainer environments 2021-04-11 15:16:04 +02:00
Chris Nagy c3d7088168 Fix code guidelines 2021-04-10 16:10:45 +02:00
Chris Nagy a9e11b1cb7 Add newline end of file 2021-04-10 16:02:48 +02:00
Chris Nagy ee51a0be13 Minor docs change 2021-04-10 15:08:33 +02:00
jonaswinkler 1091387f48 better logging for the retagger 2021-04-10 14:38:39 +02:00
jonaswinkler 4db75537cb install sudo from stable 2021-04-10 14:38:19 +02:00
Chris Nagy cb4e738a0f Fix env variable in docker entrypoint 2021-04-10 13:50:52 +02:00
Chris Nagy 0cc32e7ed7 Extend docs with superuser 2021-04-10 13:47:31 +02:00
Jonas Winkler 94f90e1e81 Merge pull request #887 from alexpovel/master
Fix typo
2021-04-10 00:21:45 +02:00
Alex Povel ce8f315747 Fix typo
See also https://github.com/jonaswinkler/paperless-ng/blob/a3c4e4c6b65086f9c1af9569b9a771ef8320d917/docker/compose/docker-compose.env#L30
2021-04-09 22:14:09 +02:00
Starbeamrainbowlabs b761a549c0 docker-prepare.sh: remove rogue instances of sudo
This is being done by calling the script as the correct user in the 
first place.
2021-04-08 03:06:01 +01:00
Starbeamrainbowlabs dd7c5da256 docker-entrypoint.sh: split non-root tasks into docker-prepare.sh 2021-04-08 00:03:55 +01:00
Starbeamrainbowlabs 02dd7ec615 docker: mark scripts as executable 2021-04-07 23:19:20 +01:00
Jonas Winkler b7b448b870 Merge pull request #875 from shamoon/fix/large-card-info-layout
Fix alignment of card info on large cards
2021-04-06 23:41:03 +02:00
Michael Shamoon b7326afe5a Fix alignment of card info on large cards 2021-04-06 14:25:59 -07:00
jonaswinkler a3c4e4c6b6 install script: configure time zone 2021-04-06 21:46:18 +02:00
jonaswinkler 645297d68c documentation 2021-04-06 21:46:16 +02:00
Jonas Winkler 6d8782f771 Merge pull request #860 from shamoon/feature/issue-858
Suppport search term PDF open parameter
2021-04-06 20:28:53 +02:00
Jonas Winkler 2728183eee New Crowdin updates (#871) 2021-04-06 20:23:18 +02:00
Michael Shamoon 3d0891c73b Updated to work with new unified search interface 2021-04-05 16:35:15 -07:00
Michael Shamoon 8226a8793e Merge remote-tracking branch 'upstream/dev' into feature/issue-858 2021-04-05 13:59:21 -07:00
jonaswinkler d01477b337 changelog 2021-04-05 22:23:11 +02:00
jonaswinkler 6bb07c72ab API search documentation 2021-04-05 22:19:42 +02:00
jonaswinkler a009462b80 update messages 2021-04-05 22:05:26 +02:00
jonaswinkler 9111b130e4 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-04-05 21:53:39 +02:00
jonaswinkler 1dbd7b9bb4 fix some issues with the search index 2021-04-05 21:53:07 +02:00
Jonas Winkler 2f95dfc0e7 New Crowdin updates (#855) 2021-04-05 21:44:14 +02:00
Jonas Winkler acc317ddfd Merge pull request #818 from shamoon/fix/issue-817
Support passing current term from tag / document type / correspondent search field to 'create new' dialog
2021-04-05 21:43:50 +02:00
jonaswinkler 1fbd3935ea focus text filter input automatically 2021-04-05 21:43:20 +02:00
jonaswinkler ca2bf962e9 force update of search index if out of date 2021-04-05 21:33:17 +02:00
jonaswinkler 1d27a3a14b fixed the write permission check 2021-04-05 21:33:04 +02:00
jonaswinkler 8e1a9dde05 bugfix 2021-04-05 21:05:32 +02:00
Michael Shamoon 8eabf8c77a Refactor unneeded ngIf 2021-04-04 19:57:16 -07:00
Michael Shamoon ec4ec41552 Add back plus button which retains filter text 2021-04-04 17:05:27 -07:00
jonaswinkler 8960b0300f changelog and version bump 2021-04-05 00:36:44 +02:00
jonaswinkler d6a2672cab Merge branch 'feature-unified-search' into dev 2021-04-05 00:25:10 +02:00
jonaswinkler 4b281ca89d logging before executing pre and post consume scripts 2021-04-05 00:22:11 +02:00
jonaswinkler 808b507b0f fix migration 2021-04-05 00:16:50 +02:00
jonaswinkler ab47d03e1a update messages 2021-04-04 20:46:25 +02:00
jonaswinkler aca999090b Merge branch 'dev' into feature-unified-search 2021-04-04 20:41:29 +02:00
jonaswinkler 1322aaf4da add migration to fix null characters in document contents 2021-04-04 20:41:08 +02:00
jonaswinkler c49471fb3b bugfix 2021-04-04 01:25:54 +02:00
jonaswinkler d13baab0a6 more testing 2021-04-04 01:19:07 +02:00
jonaswinkler 359b46c15b fixed the test cases 2021-04-04 00:29:40 +02:00
jonaswinkler 3b83e9a43d pycodestyle 2021-04-04 00:04:00 +02:00
jonaswinkler ab7a499e8f refactor filter reset 2021-04-04 00:03:51 +02:00
jonaswinkler fffe4f694f reset page when doing full text search 2021-04-03 22:19:12 +02:00
Michael Shamoon 18c028cafd Suppport search term PDF open parameter 2021-04-03 13:10:39 -07:00
jonaswinkler 4e289c7dab rename search 2021-04-03 21:56:33 +02:00
jonaswinkler 3dfe5c9262 fix page out of range with full text 2021-04-03 21:50:23 +02:00
jonaswinkler be87caf7f6 fix search scores 2021-04-03 21:50:05 +02:00
jonaswinkler b7063b199a disable sorting for now 2021-04-03 21:49:31 +02:00
jonaswinkler 1ed9c245f5 fixed more like this 2021-04-03 21:07:36 +02:00
jonaswinkler fb1e9fe66a error messages for invalid search queries 2021-04-03 21:02:33 +02:00
jonaswinkler 38a386d5ae fix date filtering for full text search 2021-04-03 21:02:13 +02:00
jonaswinkler 726114575e Merge branch 'dev' into feature-unified-search 2021-04-03 20:31:16 +02:00
Michael Shamoon 026c213ea4 Refactor to use ng-select addTag function 2021-04-03 09:30:29 -07:00
jonaswinkler cd85d4e86a update tooltips and messages 2021-04-02 14:59:02 +02:00
jonaswinkler e906bf58f0 Save list view state across sessions 2021-04-02 14:46:45 +02:00
jonaswinkler 87d2209e6d update dependencies 2021-04-02 14:26:20 +02:00
jonaswinkler 704f8ea680 update dependencies 2021-04-02 14:21:05 +02:00
Jonas Winkler 1e101fb3db Merge pull request #842 from Bart1909/master
Implements #807
2021-04-02 14:08:01 +02:00
Jonas Winkler a16643ee29 New Crowdin updates (#847) 2021-04-02 10:47:11 +02:00
Tobi b783e0e211 refactoring 2021-03-30 20:51:49 +02:00
Tobi 1ec4570c8d renames document-asn component 2021-03-30 19:26:20 +02:00
Tobi 434194d290 Merge remote-tracking branch 'origin/master' 2021-03-30 19:07:44 +02:00
Tobi f62e64357b implements #807 2021-03-30 19:07:29 +02:00
Jonas Winkler b9f49c5eca Merge pull request #834 from benjaminfrank/patch-1
New android scanner app recommendation
2021-03-30 00:42:28 +02:00
Jonas Winkler 13a839de57 New Crowdin updates (#837) 2021-03-30 00:42:06 +02:00
benjaminfrank 7eb4253c00 Update scanners.rst 2021-03-27 14:40:13 +01:00
Jonas Winkler dab210a183 Merge pull request #819 from shamoon/fix/issue-293-2
Remove all rem units on SVG elements
2021-03-26 23:13:06 +01:00
Jonas Winkler 5319d4782a New translations django.po (Italian) (#813) 2021-03-26 23:12:36 +01:00
Michael Shamoon 0463c3fe54 1.3em not 1.5em 2021-03-24 16:21:08 -07:00
Michael Shamoon fe84430679 Remove all rem units on SVG elements
See https://bugzilla.mozilla.org/show_bug.cgi?id=1231147
2021-03-24 16:17:40 -07:00
Michael Shamoon 9514e79bfb Not needed, clearing will be done by timeout 2021-03-24 12:42:14 -07:00
Michael Shamoon b6756595d9 Clear last search term when clear button clicked 2021-03-24 12:37:26 -07:00
Michael Shamoon 8ddb3e80b7 Add timeout for clearing last search term on select blur 2021-03-24 12:21:51 -07:00
Michael Shamoon 52bc1a62e1 Support passing current term from input-select search to create dialog e.g. for doc type / correspondent 2021-03-24 12:21:13 -07:00
Michael Shamoon cd72ed2cec Support passing current term from tag search to create dialog 2021-03-24 12:13:37 -07:00
Jonas Winkler ccaee4ce62 Update README.md 2021-03-24 10:31:05 +01:00
jonaswinkler 0e596bd1fc also apply \0 removal to sidecar contents 2021-03-22 23:08:34 +01:00
Jonas Winkler 21fafd3255 Update README.md 2021-03-22 23:03:01 +01:00
jonaswinkler fda2bfbea7 better exception logging 2021-03-22 23:00:15 +01:00
jonaswinkler d26c46e034 fixes #794 2021-03-22 22:46:35 +01:00
jonaswinkler 27cb243a2f fix dependencies 2021-03-21 13:50:48 +01:00
jonaswinkler d3514fc5f9 update dependencies 2021-03-21 12:20:10 +01:00
jonaswinkler 4954851b68 Revert "update requirements"
This reverts commit 8f6e1360
2021-03-21 11:43:16 +01:00
Jonas Winkler 6bcb12ddc9 Merge pull request #796 from holzhannes/patch-2
Three new scanners, one iOS App and column for SMTP Support
2021-03-20 12:15:33 +01:00
HolzHannes 126a4ec21f Update scanners.rst
Some new scanners and a new Support column SMTP for Scanner which can directly send mails via SMTP. Also one iOS App to scan documents
2021-03-20 11:10:05 +01:00
Jonas Winkler 0aa084c792 New Crowdin updates (#790) 2021-03-18 23:50:54 +01:00
jonaswinkler 8f6e1360e1 update requirements 2021-03-18 23:49:49 +01:00
jonaswinkler b7e570aba0 Merge branch 'dev' 2021-03-18 19:41:45 +01:00
jonaswinkler ce2bae12af changelog and version bump 2021-03-18 19:13:45 +01:00
Jonas Winkler b6111d8da6 New Crowdin updates (#788) 2021-03-18 16:22:45 +01:00
jonaswinkler 2fb1132b69 fix test case 2021-03-17 23:08:19 +01:00
jonaswinkler 9a04bc1beb fixes #771 2021-03-17 22:57:37 +01:00
jonaswinkler b39c3f7866 fixes #668 (see https://github.com/the-paperless-project/paperless/pull/571) 2021-03-17 22:44:18 +01:00
jonaswinkler 740237a8fa add migration 2021-03-17 22:33:00 +01:00
jonaswinkler 391db73ea8 added pt-pt locale 2021-03-17 22:32:39 +01:00
jonaswinkler b6ff88645b lots of changes for the new unified search 2021-03-17 22:25:22 +01:00
Jonas Winkler 4cd1672094 New Crowdin updates (#787) 2021-03-17 02:14:43 +01:00
jonaswinkler 630cd814e2 Merge branch 'dev' into feature-unified-search 2021-03-16 20:48:05 +01:00
jonaswinkler 6606d7572c API refactoring 2021-03-16 20:47:45 +01:00
Jonas Winkler b331e3388f Merge pull request #778 from shamoon/fix/issue-774-775
Fix extra scrollbar on log container, auto scroll logs to bottom
2021-03-16 17:29:07 +01:00
Jonas Winkler b6428aa85f Merge pull request #785 from isaacsando/master
update advanced_usage.rst to remove wording regarding filename parsing
2021-03-16 17:28:29 +01:00
isaacsando fa6d554d1f update advanced_usage.rst to remove wording regarding filename parsing 2021-03-16 11:16:48 -05:00
Michael Shamoon 816871eed3 Redundant call to scroll 2021-03-16 03:08:48 -07:00
Michael Shamoon ee04a9226b Don’t remove OnInit 2021-03-16 03:06:20 -07:00
Jonas Winkler 6b15093c43 New Crowdin updates (#776) 2021-03-16 10:40:38 +01:00
Michael Shamoon b9d0954924 Automatically scroll log ouput 2021-03-15 09:56:17 -07:00
Michael Shamoon a94a81d839 Revert "Reverse log order"
This reverts commit 2e21fbf619.
2021-03-15 08:45:33 -07:00
Michael Shamoon 46be3924e4 Revert "Side effecting"
This reverts commit 316a2469b8.
2021-03-15 08:45:30 -07:00
Michael Shamoon 316a2469b8 Side effecting 2021-03-15 08:42:10 -07:00
Michael Shamoon 2e21fbf619 Reverse log order 2021-03-15 08:38:55 -07:00
Michael Shamoon e1254a053a Fix log container taller than viewport 2021-03-15 08:38:47 -07:00
Jonas Winkler 50bcd3daf1 New Crowdin updates (#764) 2021-03-15 10:48:25 +01:00
Chris Nagy e3ba968fef Add superuser management script 2021-03-14 19:43:22 +01:00
Jonas Winkler 7725973b62 Merge pull request #766 from shamoon/fix/additional-card-info-icons-fix
Fix additional card info icons sometimes cut off in certain browsers
2021-03-14 18:44:48 +01:00
Michael Shamoon 30bf7418f5 Dont change size overall 2021-03-14 09:35:53 -07:00
Michael Shamoon eb611b2c41 Fix icons sometimes cut off in certain browsers 2021-03-14 09:33:57 -07:00
jonaswinkler e4909c3133 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-03-14 15:22:34 +01:00
jonaswinkler 2216330118 bump version 2021-03-14 15:22:25 +01:00
Jonas Winkler ca090aa2fa New Crowdin updates (#763) 2021-03-14 15:12:10 +01:00
jonaswinkler ec7ca2c352 changelog 2021-03-14 14:49:38 +01:00
jonaswinkler 2eb5e289ce optimized default thumbnail 2021-03-14 14:45:29 +01:00
jonaswinkler 40ce38254b fixes #631 2021-03-14 14:42:48 +01:00
jonaswinkler 0ad2b05455 fixes #745 2021-03-14 14:17:21 +01:00
jonaswinkler c74d261f6a Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-03-14 14:06:27 +01:00
Jonas Winkler 68fe18fe36 Merge pull request #748 from shamoon/feature/additional-card-info
Additional / organized card info
2021-03-14 14:06:08 +01:00
jonaswinkler 47313db2c7 changelog 2021-03-14 14:01:43 +01:00
jonaswinkler 127129fbeb Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-03-14 13:34:31 +01:00
jonaswinkler f43a8d6f2e Add spanish locale 2021-03-14 13:34:14 +01:00
Jonas Winkler 7cde850d98 New Crowdin updates (#757)
* New translations django.po (Spanish)
[ci skip]

* New translations messages.xlf (Spanish)
[ci skip]
2021-03-14 13:28:12 +01:00
Jonas Winkler 1bcfc5b54d New Crowdin updates (#752) 2021-03-13 23:19:03 +01:00
Michael Shamoon 7a8494da4d Small card tooltip tweaks, medium date 2021-03-12 20:15:18 -08:00
Michael Shamoon 65733863b1 tooltip placement 2021-03-12 20:12:05 -08:00
Michael Shamoon e62ecefcd7 dark mode background color 2021-03-12 20:12:00 -08:00
Michael Shamoon 0aacebf783 Display date & ASN on one line if fits 2021-03-12 20:00:23 -08:00
Michael Shamoon 43b1700e91 hover color for card footer buttons 2021-03-12 19:59:45 -08:00
Michael Shamoon 9b4625b4a5 Fix pager color in dark mode 2021-03-12 19:52:31 -08:00
Michael Shamoon 27998df6e4 div instead of li 2021-03-12 19:35:25 -08:00
Michael Shamoon eb5eabf3c6 fix text not visible in light mode on large card 2021-03-12 09:17:49 -08:00
Michael Shamoon 76cee78408 Visual tweaks for responsive 2021-03-12 08:12:36 -08:00
Michael Shamoon 0ba35a6eb5 More semantically correct elements 2021-03-12 07:58:37 -08:00
Michael Shamoon 6a58bd30ad Fix incomplete doc type clicking for large cards 2021-03-12 07:21:00 -08:00
Michael Shamoon e71d055ef2 Tooltip consistency 2021-03-12 07:19:14 -08:00
Michael Shamoon cb2eff47cc Refactor 2021-03-12 07:15:00 -08:00
Michael Shamoon 4696f9896b Support large cards 2021-03-12 06:54:22 -08:00
Jonas Winkler 424835880d New Crowdin updates (#738) 2021-03-12 15:53:37 +01:00
Jonas Winkler e0e0ee4a77 Merge pull request #744 from shamoon/fix/miscellaneous-css-fixes
Fixes for mobile logger cut off & dark mode hidden "logged in as"
2021-03-12 15:48:16 +01:00
Michael Shamoon 5eca0ce554 Light mode fixes 2021-03-12 06:30:03 -08:00
Michael Shamoon f5a06ac0dd Slightly shorter thumbnail 2021-03-12 06:11:53 -08:00
Michael Shamoon 81ea8873e0 Use medium date 2021-03-12 06:02:39 -08:00
Michael Shamoon 63b4ccacde Fix log lines hidden on narrow screens 2021-03-11 16:03:17 -08:00
Michael Shamoon ccc39e0e55 Fix illegible logged in as in dark mode 2021-03-11 16:03:00 -08:00
Michael Shamoon d264df1504 Additional metadata for small cards 2021-03-11 15:54:30 -08:00
jonaswinkler 9b7bc16b3e keep the ng2-pdf-viewer; this might come in handy for splitting documents at specific pages #706 2021-03-10 22:38:33 +01:00
jonaswinkler f7f51f4f73 Merge branch 'dev' into feature/popover-previews 2021-03-10 22:32:37 +01:00
jonaswinkler 143ae1092c changelog 2021-03-10 22:31:49 +01:00
jonaswinkler 6470a443ac fix #735 2021-03-10 18:32:57 +01:00
jonaswinkler 7795baf989 change ISO date to always display 4 digit years #736 2021-03-10 18:15:23 +01:00
Jonas Winkler 5ab717c6be New Crowdin updates (#727) 2021-03-10 13:55:03 +01:00
Jonas Winkler fac265486a Merge pull request #726 from darmiel/feature/664-filter-by-asn
Implemented 'Filter by: ASN'
2021-03-08 21:00:58 +01:00
darmiel 707efff644 Updated messages.xlf 2021-03-08 20:40:18 +01:00
Jonas Winkler 15291fd659 New Crowdin updates (#725) 2021-03-08 19:41:25 +01:00
darmiel 6535a20b21 Implemented 'Filter by: ASN' 2021-03-08 17:11:25 +01:00
Jonas Winkler 8c922dbffc Merge pull request #715 from rost314/fix_nfs_write_check
fix writable check for NFS mounts
2021-03-08 12:34:37 +01:00
Jonas Winkler 874f5fd2ca New Crowdin updates (#722) 2021-03-08 12:31:37 +01:00
Jonas Winkler 50864b10dd New Crowdin updates (#719)
New translations
2021-03-08 10:04:03 +01:00
Robert 57a5df1fce fix writable check for NFS mounts
For some reason, os.access(directory, os.W_OK | os.X_OK) does not work correctly on NFS mounts.
After some research, found out that the only secure and portable way to check for write access, is to touch a file.
2021-03-07 23:46:29 +01:00
Jonas Winkler 14828b15d8 New Crowdin updates (#718)
* New translations messages.xlf (English, United Kingdom)
[ci skip]

* New translations django.po (Romanian)
[ci skip]

* New translations messages.xlf (Dutch)
[ci skip]

* New translations django.po (Xhosa)
[ci skip]

* New translations messages.xlf (English, United Kingdom)
[ci skip]

* New translations django.po (English, United Kingdom)
[ci skip]

* New translations messages.xlf (Portuguese, Brazilian)
[ci skip]

* New translations django.po (Portuguese, Brazilian)
[ci skip]

* New translations messages.xlf (Chinese Simplified)
[ci skip]

* New translations django.po (Chinese Simplified)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations django.po (Russian)
[ci skip]

* New translations messages.xlf (Portuguese)
[ci skip]

* New translations django.po (Portuguese)
[ci skip]

* New translations django.po (Dutch)
[ci skip]

* New translations messages.xlf (Romanian)
[ci skip]

* New translations messages.xlf (Italian)
[ci skip]

* New translations django.po (Italian)
[ci skip]

* New translations messages.xlf (Hungarian)
[ci skip]

* New translations django.po (Hungarian)
[ci skip]

* New translations messages.xlf (German)
[ci skip]

* New translations django.po (German)
[ci skip]

* New translations messages.xlf (Czech)
[ci skip]

* New translations django.po (Czech)
[ci skip]

* New translations messages.xlf (Spanish)
[ci skip]

* New translations django.po (Spanish)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations django.po (French)
[ci skip]

* New translations messages.xlf (Xhosa)
[ci skip]

* New translations django.po (Romanian)
[ci skip]

* New translations messages.xlf (Dutch)
[ci skip]

* New translations messages.xlf (English, United Kingdom)
[ci skip]

* New translations django.po (English, United Kingdom)
[ci skip]

* New translations messages.xlf (Portuguese, Brazilian)
[ci skip]

* New translations django.po (Portuguese, Brazilian)
[ci skip]

* New translations messages.xlf (Russian)
[ci skip]

* New translations django.po (Russian)
[ci skip]

* New translations django.po (Dutch)
[ci skip]

* New translations messages.xlf (Romanian)
[ci skip]

* New translations messages.xlf (Italian)
[ci skip]

* New translations django.po (Italian)
[ci skip]

* New translations messages.xlf (German)
[ci skip]

* New translations django.po (German)
[ci skip]

* New translations messages.xlf (Spanish)
[ci skip]

* New translations django.po (Spanish)
[ci skip]

* New translations messages.xlf (French)
[ci skip]

* New translations django.po (French)
[ci skip]
2021-03-07 22:37:04 +01:00
jonaswinkler 5f03e9e4cc Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-03-07 21:35:04 +01:00
jonaswinkler c2b82fa063 fix up some messages 2021-03-07 21:34:55 +01:00
Jonas Winkler 40c4cfda75 Merge pull request #713 from jonaswinkler/l10n_dev
New Crowdin updates
2021-03-07 18:19:17 +01:00
Jonas Winkler 5c5ce6eedb New translations messages.xlf (Italian)
[ci skip]
2021-03-07 14:09:28 +01:00
jonaswinkler f9263ddb62 some initial attempts to merge search and document list 2021-03-07 13:16:23 +01:00
Jonas Winkler 2fd1074729 New translations messages.xlf (Dutch)
[ci skip]
2021-03-07 13:11:07 +01:00
Jonas Winkler 2e379ad422 Merge pull request #712 from jonaswinkler/l10n_dev
New Crowdin updates
2021-03-07 12:27:43 +01:00
Jonas Winkler c1cecb3e0e New translations messages.xlf (Dutch)
[ci skip]
2021-03-07 11:08:33 +01:00
Jonas Winkler b0d13bed72 New translations messages.xlf (German)
[ci skip]
2021-03-07 11:08:32 +01:00
Jonas Winkler d23a0d230c New translations django.po (German)
[ci skip]
2021-03-07 11:08:30 +01:00
Jonas Winkler 91b87f4e2c Merge pull request #711 from jonaswinkler/l10n_dev
New Crowdin updates
2021-03-07 11:06:08 +01:00
Jonas Winkler a77c1f3ad1 New translations messages.xlf (Xhosa)
[ci skip]
2021-03-07 10:14:00 +01:00
Jonas Winkler 4c3cdaab0e New translations messages.xlf (French)
[ci skip]
2021-03-07 10:13:57 +01:00
Jonas Winkler 3e86c3d0d0 New translations messages.xlf (Spanish)
[ci skip]
2021-03-07 10:13:55 +01:00
Jonas Winkler 5a40d3c6fe New translations messages.xlf (Czech)
[ci skip]
2021-03-07 10:13:52 +01:00
Jonas Winkler f79c1e0bcc New translations messages.xlf (German)
[ci skip]
2021-03-07 10:13:50 +01:00
Jonas Winkler 8f14ff7210 New translations messages.xlf (Hungarian)
[ci skip]
2021-03-07 10:13:48 +01:00
Jonas Winkler 90732d6a2f New translations messages.xlf (Italian)
[ci skip]
2021-03-07 10:13:46 +01:00
Jonas Winkler f179ff9da4 New translations messages.xlf (Romanian)
[ci skip]
2021-03-07 10:13:44 +01:00
Jonas Winkler 90fd999220 New translations messages.xlf (Dutch)
[ci skip]
2021-03-07 10:13:43 +01:00
Jonas Winkler 04afbdd938 New translations messages.xlf (Portuguese)
[ci skip]
2021-03-07 10:13:41 +01:00
Jonas Winkler 5d3ef3d338 New translations messages.xlf (Russian)
[ci skip]
2021-03-07 10:13:39 +01:00
Jonas Winkler 4477d083e8 New translations messages.xlf (Chinese Simplified)
[ci skip]
2021-03-07 10:13:37 +01:00
Jonas Winkler b7b3f54617 New translations messages.xlf (Portuguese, Brazilian)
[ci skip]
2021-03-07 10:13:35 +01:00
Jonas Winkler 5fc9f3f4da New translations messages.xlf (Thai)
[ci skip]
2021-03-07 10:13:32 +01:00
Jonas Winkler c4b31f2f72 New translations messages.xlf (English, United Kingdom)
[ci skip]
2021-03-07 10:13:30 +01:00
Jonas Winkler 6c6b0511a6 New translations messages.xlf (Latin)
[ci skip]
2021-03-07 10:13:28 +01:00
jonaswinkler 6d20fc14ab updates messages 2021-03-07 10:08:45 +01:00
jonaswinkler 895c10600d add ru-ru locale 2021-03-07 10:07:42 +01:00
Jonas Winkler c024efa578 Merge pull request #710 from jonaswinkler/l10n_dev
New Crowdin updates
2021-03-07 10:00:08 +01:00
Jonas Winkler 0022588b02 New translations messages.xlf (Russian)
[ci skip]
2021-03-07 02:58:09 +01:00
Jonas Winkler 47ec3d9149 New translations django.po (Russian)
[ci skip]
2021-03-07 02:58:08 +01:00
Jonas Winkler 811b82181d New translations messages.xlf (Russian)
[ci skip]
2021-03-07 01:59:13 +01:00
Jonas Winkler 32318ddbf6 Merge pull request #707 from jonaswinkler/l10n_dev
New Crowdin updates
2021-03-06 23:59:22 +01:00
Jonas Winkler 65a416fdae New translations django.po (French)
[ci skip]
2021-03-06 23:56:37 +01:00
Jonas Winkler 58d1f98368 New translations messages.xlf (French)
[ci skip]
2021-03-06 23:56:36 +01:00
Jonas Winkler 4cd7bf7123 New translations django.po (Spanish)
[ci skip]
2021-03-06 23:56:35 +01:00
Jonas Winkler d4dea13eee New translations messages.xlf (Spanish)
[ci skip]
2021-03-06 23:56:34 +01:00
Jonas Winkler 507cdca757 New translations django.po (Czech)
[ci skip]
2021-03-06 23:56:33 +01:00
Jonas Winkler 27bfb2d3b0 New translations messages.xlf (Czech)
[ci skip]
2021-03-06 23:56:32 +01:00
Jonas Winkler 43118a1ffd New translations django.po (German)
[ci skip]
2021-03-06 23:56:30 +01:00
Jonas Winkler 729b305860 New translations messages.xlf (German)
[ci skip]
2021-03-06 23:56:29 +01:00
Jonas Winkler 72950d7872 New translations django.po (Hungarian)
[ci skip]
2021-03-06 23:56:28 +01:00
Jonas Winkler 364ffe8f38 New translations messages.xlf (Hungarian)
[ci skip]
2021-03-06 23:56:27 +01:00
Jonas Winkler 84d822b497 New translations django.po (Italian)
[ci skip]
2021-03-06 23:56:26 +01:00
Jonas Winkler df99035c93 New translations messages.xlf (Italian)
[ci skip]
2021-03-06 23:56:25 +01:00
Jonas Winkler 63fc68cf83 New translations django.po (Dutch)
[ci skip]
2021-03-06 23:56:23 +01:00
Jonas Winkler 9c742fbf08 New translations messages.xlf (Romanian)
[ci skip]
2021-03-06 23:56:23 +01:00
Jonas Winkler 9965c35d2f New translations messages.xlf (Dutch)
[ci skip]
2021-03-06 23:56:21 +01:00
Jonas Winkler 0af567bc72 New translations messages.xlf (Portuguese)
[ci skip]
2021-03-06 23:56:20 +01:00
Jonas Winkler 0959a4e915 New translations django.po (Russian)
[ci skip]
2021-03-06 23:56:19 +01:00
Jonas Winkler 83be71f622 New translations messages.xlf (Russian)
[ci skip]
2021-03-06 23:56:18 +01:00
Jonas Winkler 9c985b36b3 New translations django.po (Chinese Simplified)
[ci skip]
2021-03-06 23:56:16 +01:00
Jonas Winkler 4ef0e20b5c New translations messages.xlf (Chinese Simplified)
[ci skip]
2021-03-06 23:56:15 +01:00
Jonas Winkler d1cef044e5 New translations django.po (Portuguese, Brazilian)
[ci skip]
2021-03-06 23:56:14 +01:00
Jonas Winkler f1d4860c79 New translations messages.xlf (Portuguese, Brazilian)
[ci skip]
2021-03-06 23:56:13 +01:00
Jonas Winkler f1d6dd7d36 New translations django.po (English, United Kingdom)
[ci skip]
2021-03-06 23:56:08 +01:00
Jonas Winkler 46ae7f16dd New translations messages.xlf (English, United Kingdom)
[ci skip]
2021-03-06 23:56:07 +01:00
Jonas Winkler 5da441a001 New translations django.po (Portuguese)
[ci skip]
2021-03-06 23:56:05 +01:00
Jonas Winkler d495bfab51 New translations django.po (Romanian)
[ci skip]
2021-03-06 23:56:03 +01:00
Michael Shamoon 4b4f3e76cc Re-merging this branch with Reverted dev 2021-03-06 14:50:38 -08:00
Michael Shamoon ab0e97c1a0 Merge remote-tracking branch 'upstream/dev' into feature/popover-previews 2021-03-06 14:47:10 -08:00
jonaswinkler 381af329bd fix language codes 2021-03-06 23:40:29 +01:00
Michael Shamoon 4a0d17fc57 Merge branch 'feature/popover-previews' of https://github.com/shamoon/paperless-ng into feature/popover-previews 2021-03-06 14:39:53 -08:00
Michael Shamoon e61f042547 Remove metadata API calls 2021-03-06 14:38:47 -08:00
Michael Shamoon 77815af5fb Update angular.json 2021-03-06 14:29:24 -08:00
jonaswinkler e9cdb21164 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-03-06 23:25:07 +01:00
Jonas Winkler 59bc467c50 Update README.md 2021-03-06 22:52:52 +01:00
Jonas Winkler 254dc62ca6 Update README.md 2021-03-06 22:50:35 +01:00
Jonas Winkler 253bde4e25 Merge pull request #705 from jonaswinkler/l10n_dev
New Crowdin updates
2021-03-06 22:47:27 +01:00
jonaswinkler ea9e852216 fix a failing test case 2021-03-06 22:41:35 +01:00
Jonas Winkler 89150e99bf New translations messages.xlf (Xhosa)
[ci skip]
2021-03-06 22:40:29 +01:00
Jonas Winkler 5fd05f3d20 New translations django.po (French)
[ci skip]
2021-03-06 22:40:27 +01:00
Jonas Winkler 6c1a5f1a98 New translations messages.xlf (French)
[ci skip]
2021-03-06 22:40:26 +01:00
Jonas Winkler 7815a011af New translations django.po (Spanish)
[ci skip]
2021-03-06 22:40:25 +01:00
Jonas Winkler efca0083bf New translations messages.xlf (Spanish)
[ci skip]
2021-03-06 22:40:24 +01:00
Jonas Winkler 4c983b0e25 New translations django.po (Czech)
[ci skip]
2021-03-06 22:40:23 +01:00
Jonas Winkler d81f64ec06 New translations messages.xlf (Czech)
[ci skip]
2021-03-06 22:40:22 +01:00
Jonas Winkler 5735313392 New translations django.po (German)
[ci skip]
2021-03-06 22:40:20 +01:00
Jonas Winkler 259b2fe429 New translations messages.xlf (German)
[ci skip]
2021-03-06 22:40:19 +01:00
Jonas Winkler bb739a55a5 New translations django.po (Hungarian)
[ci skip]
2021-03-06 22:40:18 +01:00
Jonas Winkler 7436b75566 New translations messages.xlf (Hungarian)
[ci skip]
2021-03-06 22:40:17 +01:00
Jonas Winkler 573ac882f5 New translations django.po (Italian)
[ci skip]
2021-03-06 22:40:15 +01:00
Jonas Winkler 7f70a886d5 New translations messages.xlf (Italian)
[ci skip]
2021-03-06 22:40:14 +01:00
Jonas Winkler 4a1c0c2971 New translations django.po (Dutch)
[ci skip]
2021-03-06 22:40:13 +01:00
Jonas Winkler ad37ccd76d New translations messages.xlf (Dutch)
[ci skip]
2021-03-06 22:40:12 +01:00
Jonas Winkler d3a4b17d59 New translations messages.xlf (Romanian)
[ci skip]
2021-03-06 22:40:10 +01:00
Jonas Winkler 4233d73569 New translations django.po (Portuguese)
[ci skip]
2021-03-06 22:40:09 +01:00
Jonas Winkler 6d9a0162b2 New translations django.po (Russian)
[ci skip]
2021-03-06 22:40:08 +01:00
Jonas Winkler 72f89de994 New translations messages.xlf (Russian)
[ci skip]
2021-03-06 22:40:07 +01:00
Jonas Winkler bf01799d57 New translations django.po (Chinese Simplified)
[ci skip]
2021-03-06 22:40:05 +01:00
Jonas Winkler 6b63d3855b New translations messages.xlf (Chinese Simplified)
[ci skip]
2021-03-06 22:40:04 +01:00
Jonas Winkler f0e0e780c5 New translations django.po (Portuguese, Brazilian)
[ci skip]
2021-03-06 22:40:03 +01:00
Jonas Winkler 646803b93e New translations messages.xlf (Portuguese, Brazilian)
[ci skip]
2021-03-06 22:40:02 +01:00
Jonas Winkler 3026b59af4 New translations django.po (Thai)
[ci skip]
2021-03-06 22:40:00 +01:00
Jonas Winkler 5adee00ca1 New translations messages.xlf (Thai)
[ci skip]
2021-03-06 22:39:59 +01:00
Jonas Winkler 47e887dac5 New translations django.po (English, United Kingdom)
[ci skip]
2021-03-06 22:39:58 +01:00
Jonas Winkler 70395a035c New translations messages.xlf (English, United Kingdom)
[ci skip]
2021-03-06 22:39:57 +01:00
Jonas Winkler 2f63dcb3b5 New translations django.po (Latin)
[ci skip]
2021-03-06 22:39:55 +01:00
Jonas Winkler 468ea09965 New translations messages.xlf (Latin)
[ci skip]
2021-03-06 22:39:54 +01:00
Jonas Winkler b6a94d33b8 New translations django.po (Xhosa)
[ci skip]
2021-03-06 22:39:53 +01:00
Jonas Winkler 40c89a8a38 New translations messages.xlf (Portuguese)
[ci skip]
2021-03-06 22:39:52 +01:00
Jonas Winkler 92a61902b5 New translations django.po (Romanian)
[ci skip]
2021-03-06 22:39:51 +01:00
jonaswinkler 23ee01b1ce Merge branch 'crowdin-test' of github.com:jonaswinkler/paperless-ng into crowdin-test 2021-03-06 22:20:30 +01:00
jonaswinkler fc727e0472 fix up language file locations 2021-03-06 22:20:06 +01:00
Jonas Winkler 9427c70b10 Update Crowdin configuration file 2021-03-06 22:13:12 +01:00
jonaswinkler cba71ed8e0 fix config 2021-03-06 22:12:44 +01:00
jonaswinkler 728778bdf4 update crowdin.yml 2021-03-06 22:09:03 +01:00
Jonas Winkler 30a92e25c1 Merge pull request #703 from darmiel/patch-1
Installation Script: Check for Docker permissions on startup
2021-03-06 16:44:44 +01:00
Daniel 4862eb5e84 Use -e switch after docker permission check 2021-03-06 15:40:19 +01:00
Daniel 42fd62ecfd Changed spaces to tabs 2021-03-06 15:30:16 +01:00
Daniel 67437f7b9c Check if the user has permissions for Docker 2021-03-06 15:27:55 +01:00
jonaswinkler 6c961dfad9 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-03-06 12:59:29 +01:00
Jonas Winkler b0b5f9e0a1 Merge pull request #702 from auanasgheps/patch-1
Update Italian Translation
2021-03-06 12:58:49 +01:00
Oliver Cervera 69df7f8ef6 Update Italian Translation
Minor change to Italian translation.
Manual PR since Transifex doesn't do it.
2021-03-06 12:55:24 +01:00
jonaswinkler 0bb0fc5a19 changelog 2021-03-06 12:42:07 +01:00
jonaswinkler be15e86458 added a test case for title_content filter 2021-03-06 12:41:59 +01:00
jonaswinkler 24eff6b02b documentation 2021-03-06 12:28:41 +01:00
jonaswinkler ddb96829ca fix typo 2021-03-06 12:08:52 +01:00
jonaswinkler 4290f38e81 fix closing all documents from sidebar 2021-03-06 12:00:58 +01:00
jonaswinkler ee4a5d53ad instructions on building the docker image 2021-03-06 11:47:11 +01:00
jonaswinkler 1f4d2e76d7 dark mode for color picker 2021-03-05 23:36:09 +01:00
jonaswinkler 9816efb816 Revert "Merge pull request #628 from shamoon/feature/popover-previews"
This reverts commit 8da1521508, reversing
changes made to a7846925b1.
2021-03-05 23:19:44 +01:00
Jonas Winkler 8da1521508 Merge pull request #628 from shamoon/feature/popover-previews
Feature: popover document previews
2021-03-05 21:34:19 +01:00
Jonas Winkler a7846925b1 Merge pull request #699 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_en_GB
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'en_GB'
2021-03-05 09:36:52 +01:00
Jonas Winkler d678bd71e8 Merge pull request #700 from jonaswinkler/translations_src-ui-messages-xlf--dev_en_GB
Translate '/src-ui/messages.xlf' in 'en_GB'
2021-03-05 09:36:39 +01:00
transifex-integration[bot] 67754efd36 Translate /src-ui/messages.xlf in en_GB
translation completed for the source file '/src-ui/messages.xlf'
on the 'en_GB' language.
2021-03-05 08:36:32 +00:00
transifex-integration[bot] 80e0fc21cc Apply translations in en_GB
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'en_GB' language.
2021-03-05 08:36:30 +00:00
Jonas Winkler 1025f6ccb5 Merge pull request #698 from siancu/dev
Postgres won't run without a password.
2021-03-04 16:44:49 +01:00
Stelian Iancu ede06f4fd4 Postgres won't run without a password. 2021-03-04 16:26:03 +01:00
Jonas Winkler 6dd0de0201 Merge pull request #694 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-03-04 11:32:56 +01:00
transifex-integration[bot] 7f01ead374 Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-03-04 10:25:24 +00:00
Michael Shamoon cba507258d Merge remote-tracking branch 'upstream/dev' into feature/popover-previews 2021-03-03 21:19:51 -08:00
Michael Shamoon ae93999f6a Simplify preview tooltip since its delayed 2021-03-03 21:14:24 -08:00
Michael Shamoon 1ff7a89a35 Larger popover preview size 2021-03-03 20:49:14 -08:00
Michael Shamoon 31cd32406c Refactor popover css to single file 2021-03-03 20:49:02 -08:00
Michael Shamoon e5f750dcbe Fix double scrollbar, I think 2021-03-03 20:42:50 -08:00
jonaswinkler 59ecff8701 test case for the migration 2021-03-04 00:16:24 +01:00
jonaswinkler 80e91cde70 changelog 2021-03-04 00:10:15 +01:00
jonaswinkler b1c2c79d80 update docs 2021-03-03 23:58:53 +01:00
jonaswinkler 5b2576ace4 remove test cases #677 2021-03-03 23:55:25 +01:00
Jonas Winkler da9f370924 Merge pull request #677 from skuzzle/dev
Add the possibility to customize the remote user header name
2021-03-03 23:54:33 +01:00
jonaswinkler e56daf07d4 Merge branch 'master' into dev 2021-03-03 23:46:37 +01:00
jonaswinkler 9e3caa57ec fix quoting 2021-03-03 23:44:43 +01:00
jonaswinkler 4fd7b9ef1f Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-03-03 23:44:15 +01:00
jonaswinkler 12235cc853 fixes #689 2021-03-03 23:35:26 +01:00
Jonas Winkler 56e4264394 Merge pull request #680 from jonaswinkler/translations_src-ui-messages-xlf--dev_it
Translate '/src-ui/messages.xlf' in 'it'
2021-03-03 09:39:50 +01:00
Jonas Winkler baf8203b80 Merge pull request #681 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_it
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'it'
2021-03-03 09:39:39 +01:00
transifex-integration[bot] 41d966895f Apply translations in it
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'it' language.
2021-03-03 07:30:59 +00:00
transifex-integration[bot] 551792274f Translate /src-ui/messages.xlf in it
translation completed for the source file '/src-ui/messages.xlf'
on the 'it' language.
2021-03-03 07:30:31 +00:00
jonaswinkler c7abdb61e8 added remote user auth test 2021-03-02 23:19:06 +01:00
Simon Taddiken 72ebe7df58 Improve documentation 2021-03-02 10:21:50 +01:00
Simon Taddiken 97f3c214e8 Add the possibility to customize the remote user header name
Inspired by the discussion here https://github.com/jonaswinkler/paperless-ng/discussions/639#discussion-3242017 it is worthwhile to be able to customize the header name that is used for authentication as its name is not really standardized.
2021-03-02 09:07:42 +01:00
Jonas Winkler 47842bac1c Merge pull request #665 from holzhannes/patch-1
Update to status of affiliateded projects
2021-03-02 00:39:13 +01:00
Jonas Winkler ede498fa52 Merge pull request #671 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_nl_NL
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'nl_NL'
2021-03-01 16:37:53 +01:00
transifex-integration[bot] c8a06416e7 Apply translations in nl_NL
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'nl_NL' language.
2021-03-01 15:30:27 +00:00
Jonas Winkler 5fea7f2bc4 Merge pull request #666 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'de'
2021-02-28 21:48:20 +01:00
Jonas Winkler 15420137fa Merge pull request #667 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-28 21:48:10 +01:00
transifex-integration[bot] 73791e0e50 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-28 20:47:42 +00:00
transifex-integration[bot] 7af0f12e6b Apply translations in de
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'de' language.
2021-02-28 20:47:14 +00:00
HolzHannes 895f9c911b Update to status of affiliateded projects 2021-02-28 20:23:38 +01:00
Jonas Winkler 204f47265b Merge pull request #663 from jonaswinkler/translations_src-ui-messages-xlf--dev_ro
Translate '/src-ui/messages.xlf' in 'ro'
2021-02-28 19:54:45 +01:00
transifex-integration[bot] b240b4821a Translate /src-ui/messages.xlf in ro
translation completed for the source file '/src-ui/messages.xlf'
on the 'ro' language.
2021-02-28 18:04:39 +00:00
Jonas Winkler 249f6e4f27 Merge pull request #661 from jonaswinkler/translations_src-ui-messages-xlf--dev_pt_BR
Translate '/src-ui/messages.xlf' in 'pt_BR'
2021-02-28 18:02:10 +01:00
Jonas Winkler 32facd2877 Merge pull request #662 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_pt_BR
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'pt_BR'
2021-02-28 18:01:23 +01:00
transifex-integration[bot] fd3cb6e2ca Apply translations in pt_BR
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'pt_BR' language.
2021-02-28 16:59:47 +00:00
transifex-integration[bot] 1df6d857e5 Translate /src-ui/messages.xlf in pt_BR
translation completed for the source file '/src-ui/messages.xlf'
on the 'pt_BR' language.
2021-02-28 16:59:35 +00:00
Jonas Winkler 3b9c2fd4d2 Merge pull request #660 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-02-28 17:38:14 +01:00
Jonas Winkler baa130e646 Merge pull request #659 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_fr
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'fr'
2021-02-28 17:38:04 +01:00
transifex-integration[bot] c3ec40189f Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-02-28 16:36:24 +00:00
transifex-integration[bot] 686ae5b213 Apply translations in fr
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'fr' language.
2021-02-28 16:35:20 +00:00
jonaswinkler 5c19a8bb70 improved color generation logic 2021-02-28 16:35:02 +01:00
jonaswinkler efa7b7b0b5 filter by title or title+content fixes #636 2021-02-28 16:19:41 +01:00
jonaswinkler e466c31bb3 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-28 13:39:17 +01:00
Jonas Winkler 942acf5940 Merge pull request #658 from jonaswinkler/translations_src-ui-messages-xlf--dev_ro
Translate '/src-ui/messages.xlf' in 'ro'
2021-02-28 13:39:01 +01:00
Jonas Winkler b38d8d8640 Merge pull request #657 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_ro
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'ro'
2021-02-28 13:38:35 +01:00
transifex-integration[bot] c4c8a96f25 Translate /src-ui/messages.xlf in ro
translation completed for the source file '/src-ui/messages.xlf'
on the 'ro' language.
2021-02-28 12:36:01 +00:00
transifex-integration[bot] 65377d881c Apply translations in ro
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'ro' language.
2021-02-28 12:35:21 +00:00
jonaswinkler b847e0c65e changelog, documentation, version bump 2021-02-28 13:20:31 +01:00
jonaswinkler 6ab884a95c update dependencies 2021-02-28 13:01:26 +01:00
jonaswinkler 4b17a485ae update messages and typo fix 2021-02-28 12:42:46 +01:00
jonaswinkler e5a4715161 add Romanian locale configuration 2021-02-28 12:40:25 +01:00
Jonas Winkler 53b7b14467 Merge pull request #656 from jonaswinkler/translations_src-ui-messages-xlf--dev_ro
Translate '/src-ui/messages.xlf' in 'ro'
2021-02-28 12:02:42 +01:00
transifex-integration[bot] 5eeb012557 Translate /src-ui/messages.xlf in ro
translation completed for the source file '/src-ui/messages.xlf'
on the 'ro' language.
2021-02-28 11:02:26 +00:00
Jonas Winkler cf9884aaba Merge pull request #655 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_ro
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'ro'
2021-02-28 11:47:35 +01:00
transifex-integration[bot] d811cab57e Apply translations in ro
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'ro' language.
2021-02-28 10:33:26 +00:00
jonaswinkler d5a3443076 Merge branch 'fix/issue-603' into dev 2021-02-27 11:25:21 +01:00
jonaswinkler bd11d3a34f small changes 2021-02-27 11:24:58 +01:00
jonaswinkler 5f6a202d65 Merge remote-tracking branch 'shamoon/fix/issue-603' into fix/issue-603 2021-02-27 11:13:21 +01:00
jonaswinkler 6db3f7023f remove unused files 2021-02-26 23:24:13 +01:00
Michael Shamoon 8a64898798 TypeScript fixes 2021-02-26 14:16:31 -08:00
Michael Shamoon 6ad14d63d6 Consistency please 2021-02-26 14:11:25 -08:00
Michael Shamoon a26150ca40 Hover state for close x button 2021-02-26 14:08:13 -08:00
Michael Shamoon 57c9066f81 Closing should only navigate if closing current document 2021-02-26 14:08:04 -08:00
jonaswinkler fe3c3b8946 Merge branch 'dev' into fix/issue-603 2021-02-26 22:25:33 +01:00
Jonas Winkler 76686c22fc Merge pull request #648 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_nl_NL
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'nl_NL'
2021-02-26 22:24:23 +01:00
Jonas Winkler bba4057616 Merge pull request #647 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-02-26 22:24:11 +01:00
transifex-integration[bot] 10a1f34164 Apply translations in nl_NL
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'nl_NL' language.
2021-02-26 21:07:13 +00:00
transifex-integration[bot] 4516a5def5 Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-02-26 21:06:40 +00:00
Jonas Winkler 4ef4af452a Merge pull request #646 from C0nsultant/ansible-CI-stability
Ansible - Fix GitHub actions
2021-02-26 21:28:43 +01:00
Fabian Koller 8f1e95a0ce Fix GitHub actions
Follow-up to #630.
The check for the target git sha can does not work in the molecule step.
Instead expose the sha through an env variable in GitHub actions.
2021-02-26 19:39:44 +01:00
Jonas Winkler 824aea0c7b Merge pull request #645 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_en_GB
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'en_GB'
2021-02-26 15:42:54 +01:00
Jonas Winkler 7d54f0e336 Merge pull request #644 from jonaswinkler/translations_src-ui-messages-xlf--dev_en_GB
Translate '/src-ui/messages.xlf' in 'en_GB'
2021-02-26 15:42:42 +01:00
transifex-integration[bot] 961b47239b Apply translations in en_GB
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'en_GB' language.
2021-02-26 14:36:09 +00:00
transifex-integration[bot] 248f19a550 Translate /src-ui/messages.xlf in en_GB
translation completed for the source file '/src-ui/messages.xlf'
on the 'en_GB' language.
2021-02-26 14:36:04 +00:00
jonaswinkler 29e6529884 Merge branch 'master' into dev 2021-02-26 15:29:58 +01:00
jonaswinkler cb4f822a19 documentation changes 2021-02-26 15:29:33 +01:00
jonaswinkler 2159fefc87 Merge branch 'master' into dev 2021-02-26 14:54:47 +01:00
jonaswinkler d341bf14ff Merge branch 'feature-invert-thumb-option' into dev 2021-02-26 14:31:18 +01:00
Jonas Winkler c793ac9c6c Merge pull request #638 from smaktacular/fix-dev-setup-docs
Added First-Time Step-by-Step procedure for Dev Env and CopyPaste lists of depen…
2021-02-26 14:08:43 +01:00
jonaswinkler 289589654b tests for API versioning 2021-02-26 13:21:33 +01:00
jonaswinkler 8cb9c9faf9 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-26 13:09:14 +01:00
jonaswinkler 1c0069e95e fix pycodestyle 2021-02-26 13:09:02 +01:00
Jonas Winkler 8f23642e7d Merge pull request #643 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'de'
2021-02-26 12:59:56 +01:00
Jonas Winkler b59758379e Merge pull request #642 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-26 12:59:47 +01:00
transifex-integration[bot] d91267ee91 Apply translations in de
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'de' language.
2021-02-26 11:59:26 +00:00
transifex-integration[bot] 6196bc7b2e Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-26 11:59:16 +00:00
jonaswinkler adfe5c123c update messages 2021-02-26 12:57:36 +01:00
jonaswinkler 573726d0b2 add Italian locale 2021-02-26 12:55:39 +01:00
Sebastian König 5cb95b6e55 Minor changes 2021-02-26 12:50:12 +01:00
Jonas Winkler 4ce79955f8 Merge pull request #640 from jonaswinkler/translations_src-ui-messages-xlf--dev_it
Translate '/src-ui/messages.xlf' in 'it'
2021-02-26 12:35:17 +01:00
Jonas Winkler 3d320b4e61 Merge pull request #641 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_it
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'it'
2021-02-26 12:34:58 +01:00
Bolko Schreiber 420feb3a52 lowered thumb brightness in non-inverted mode 2021-02-26 12:26:23 +01:00
transifex-integration[bot] 4d425cf7b8 Apply translations in it
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'it' language.
2021-02-26 11:24:55 +00:00
transifex-integration[bot] f716300152 Translate /src-ui/messages.xlf in it
translation completed for the source file '/src-ui/messages.xlf'
on the 'it' language.
2021-02-26 11:02:24 +00:00
jonaswinkler fea625e443 Merge branch 'dev' into fix/issue-603 2021-02-26 11:27:53 +01:00
jonaswinkler 068fdbd3f9 added versioning headers to the API 2021-02-26 11:13:28 +01:00
Sebastian König fd2cbc13ff Added First-Time Step-by-Step procedure and CopyPaste lists of depeendencies to the docs 2021-02-26 09:49:36 +01:00
jonaswinkler 6a70b9c4b4 Merge branch 'feature-autocolor' into dev 2021-02-25 23:46:27 +01:00
jonaswinkler 4ee7d16d3e fix #600 2021-02-25 23:23:26 +01:00
jonaswinkler 6fd25da80d API documentation 2021-02-25 23:04:37 +01:00
jonaswinkler 2fb286cd43 shadows 2021-02-25 22:49:47 +01:00
jonaswinkler 3a75b2571a increase luminance threshold for better readability 2021-02-25 22:49:38 +01:00
jonaswinkler 66fe821b04 color picker fixes, random default color 2021-02-25 22:43:45 +01:00
jonaswinkler ba478c6cbb tests 2021-02-25 22:17:18 +01:00
jonaswinkler 7b1145c75e bugfixes 2021-02-25 22:16:31 +01:00
jonaswinkler b45630080b Merge branch 'dev' into feature-autocolor 2021-02-25 18:54:40 +01:00
jonaswinkler 170ddbc76f Merge branch 'dev' 2021-02-25 17:53:17 +01:00
Jonas Winkler 91b364f531 Merge pull request #630 from C0nsultant/ansible-CI-stability
Ansible - Improve CI stability
2021-02-25 17:50:40 +01:00
Michael Shamoon aadcc85e73 fix forgot to remove class when nested nav-link-additional scss block 2021-02-25 07:48:48 -08:00
Michael Shamoon 548b1ea7ec Allow closing individual documents from sidebar 2021-02-25 07:43:02 -08:00
jonaswinkler 463696e6a8 changelog 2021-02-25 16:42:06 +01:00
Michael Shamoon 66f7ae3773 Remove redundant openDocuments and unused subscription 2021-02-25 07:29:51 -08:00
jonaswinkler cc2b836646 fix date input error display 2021-02-25 16:29:49 +01:00
jonaswinkler 816a4c1887 fix an issue with the pt-br translation 2021-02-25 16:24:24 +01:00
jonaswinkler 604da64f52 fixed a regression in the date pipe 2021-02-25 16:22:50 +01:00
jonaswinkler 247edc89f0 fix default api version 2021-02-25 16:04:45 +01:00
Bolko Schreiber 6a1f5fb4cd cleanup css 2021-02-25 15:35:15 +01:00
Jonas Winkler 01c11f9fa0 Merge pull request #634 from chriscn/patch-1
Fixed typo of scripts
2021-02-25 15:32:59 +01:00
Christopher Nethercott 9434851c54 Fixed typo of scripts 2021-02-25 14:16:22 +00:00
Bolko Schreiber a331e4b49c Set default value of DARK_MODE_THUMB_INVERTED to true 2021-02-25 14:52:55 +01:00
Bolko Schreiber 772f5cb1a8 Added option to invert thumbnails in dark mode 2021-02-25 13:57:45 +01:00
jonaswinkler 0fa9d71da8 fix duplicate IDs 2021-02-25 11:42:38 +01:00
jonaswinkler 3872c3c49b fixes #603 2021-02-25 11:42:21 +01:00
jonaswinkler 018b53db1b fix pt-br calendar 2021-02-25 11:37:39 +01:00
jonaswinkler 33ed2c8851 adjust frontend to use the new tag color api 2021-02-25 11:32:22 +01:00
jonaswinkler c75e30fd28 validate hex color strings 2021-02-25 11:30:49 +01:00
jonaswinkler 7cc940a16c add text color generation based on luminance 2021-02-25 11:30:36 +01:00
Fabian Koller ba853be00d Use local HEAD hash as installation target
GitHub actions' GITHUB_SHA provides unexpected hashes for manually
re-run pipelines. Instead rely on the commit as seen from the current
git history.
2021-02-25 06:59:27 +01:00
Fabian Koller a720ed6a77 Do not require molecule teardown for success
CI failures should not be caused by intermittently failing docker
communication furing test teardown.
2021-02-25 06:22:59 +01:00
jonaswinkler d84ca511d4 versioning for the tags API 2021-02-24 23:54:19 +01:00
jonaswinkler 95fe803bf6 remove colorhash (this will be done client side) 2021-02-24 23:52:52 +01:00
jonaswinkler 87c364a104 adjust migration 2021-02-24 23:52:25 +01:00
jonaswinkler 7233695824 Merge branch 'dev' into feature-autocolor 2021-02-24 23:10:59 +01:00
jonaswinkler 3d3300ac32 add versioning support to the API 2021-02-24 22:27:43 +01:00
Michael Shamoon ef7775b658 Remove object tag contents 2021-02-24 13:08:39 -08:00
Michael Shamoon a8776603c3 Fix removed setting 2021-02-24 13:08:31 -08:00
Michael Shamoon ee92ab1136 Support large cards 2021-02-24 13:02:26 -08:00
Michael Shamoon 83c88ca472 Unused settings 2021-02-24 12:48:58 -08:00
Michael Shamoon 6f22297158 Merge remote-tracking branch 'upstream/dev' into feature/popover-previews 2021-02-24 12:41:44 -08:00
Jonas Winkler df87599f1b Merge pull request #625 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_fr
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'fr'
2021-02-24 20:53:25 +01:00
Jonas Winkler 367b5e73cb Merge pull request #626 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-02-24 20:53:13 +01:00
transifex-integration[bot] d6cbea97f9 Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-02-24 19:30:01 +00:00
transifex-integration[bot] e43ab23a45 Apply translations in fr
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'fr' language.
2021-02-24 19:29:33 +00:00
Michael Shamoon 706b1f4622 Remove ng2-pdf-viewer and use only native viewer 2021-02-24 11:26:39 -08:00
jonaswinkler 5b75321a31 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-24 20:02:10 +01:00
Michael Shamoon 2f2b5b90ea Dark mode compatibility 2021-02-24 19:58:51 +01:00
Jonas Winkler cf3dedf4bb Merge pull request #622 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_en_GB
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'en_GB'
2021-02-24 19:43:59 +01:00
Jonas Winkler d874145f52 Merge pull request #623 from jonaswinkler/translations_src-ui-messages-xlf--dev_en_GB
Translate '/src-ui/messages.xlf' in 'en_GB'
2021-02-24 19:43:51 +01:00
transifex-integration[bot] 800f4deb90 Translate /src-ui/messages.xlf in en_GB
translation completed for the source file '/src-ui/messages.xlf'
on the 'en_GB' language.
2021-02-24 18:43:40 +00:00
transifex-integration[bot] c22af0a782 Apply translations in en_GB
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'en_GB' language.
2021-02-24 18:43:39 +00:00
Jonas Winkler 8465b8cfca Update README.md 2021-02-24 19:27:16 +01:00
jonaswinkler 6ae65e0ab4 changelog 2021-02-24 19:21:15 +01:00
jonaswinkler 6a64bf6fc1 changelog 2021-02-24 19:05:06 +01:00
jonaswinkler f038bb90bb fixes for #600 2021-02-24 19:03:21 +01:00
jonaswinkler a5ba14e446 version bump 2021-02-24 19:03:03 +01:00
Jonas Winkler 70f657beff Merge pull request #602 from C0nsultant/ansible-newocrvars
Ansible - Update exposed configuration variables
2021-02-24 18:56:20 +01:00
jonaswinkler b1085c36ff Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-24 18:45:16 +01:00
jonaswinkler 1896aa7da1 use new date inputs for the date filter as well 2021-02-24 18:45:05 +01:00
Jonas Winkler 087856c535 Merge pull request #621 from jonaswinkler/translations_src-ui-messages-xlf--dev_pt_BR
Translate '/src-ui/messages.xlf' in 'pt_BR'
2021-02-24 18:26:55 +01:00
Jonas Winkler 27f1364caa Merge pull request #620 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_pt_BR
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'pt_BR'
2021-02-24 18:26:33 +01:00
transifex-integration[bot] bec5365ac9 Translate /src-ui/messages.xlf in pt_BR
translation completed for the source file '/src-ui/messages.xlf'
on the 'pt_BR' language.
2021-02-24 17:18:26 +00:00
transifex-integration[bot] 0db14d6f74 Apply translations in pt_BR
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'pt_BR' language.
2021-02-24 17:18:07 +00:00
Jonas Winkler ccb44e1bd1 Merge pull request #618 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'de'
2021-02-24 18:11:48 +01:00
Jonas Winkler 8c3db627e4 Merge pull request #619 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-24 18:11:36 +01:00
transifex-integration[bot] 56204f8497 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-24 17:10:24 +00:00
transifex-integration[bot] fc75e88cb7 Apply translations in de
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'de' language.
2021-02-24 17:10:20 +00:00
jonaswinkler d2719b5309 added a missing string 2021-02-24 18:08:55 +01:00
jonaswinkler e5254abfcd Merge remote-tracking branch 'origin/master' into dev 2021-02-24 18:07:57 +01:00
jonaswinkler 96b8d35a00 update dependencies 2021-02-24 18:00:35 +01:00
jonaswinkler 035b0a449b use ng-bootstrap date selector, with proper formatting/parsing according to the current locale #177 2021-02-24 18:00:26 +01:00
jonaswinkler 6b20177b09 update README.md 2021-02-24 17:41:32 +01:00
jonaswinkler 15861ea41a add translation strings for portuguese 2021-02-24 16:50:05 +01:00
jonaswinkler d836756e19 fix up quoting (hope this gets pushed into transifex 2021-02-24 16:43:55 +01:00
jonaswinkler 191d9a7b2b add configuration for pt-br 2021-02-24 16:39:41 +01:00
Jonas Winkler 0394cd7631 Merge pull request #617 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_pt_BR
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'pt_BR'
2021-02-24 16:19:00 +01:00
transifex-integration[bot] c1ddff4ee5 Apply translations in pt_BR
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'pt_BR' language.
2021-02-24 15:00:14 +00:00
Jonas Winkler 55cc428cd3 Merge pull request #616 from jonaswinkler/translations_src-ui-messages-xlf--dev_pt_BR
Translate '/src-ui/messages.xlf' in 'pt_BR'
2021-02-24 15:03:51 +01:00
transifex-integration[bot] 39505c9764 Translate /src-ui/messages.xlf in pt_BR
translation completed for the source file '/src-ui/messages.xlf'
on the 'pt_BR' language.
2021-02-24 13:33:41 +00:00
Jonas Winkler 887a2f9be1 Merge pull request #615 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'de'
2021-02-24 12:53:22 +01:00
transifex-integration[bot] 1328fa9e5e Apply translations in de
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'de' language.
2021-02-24 11:52:24 +00:00
Jonas Winkler 513830f319 Merge pull request #612 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_fr
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'fr'
2021-02-24 11:13:36 +01:00
transifex-integration[bot] 440abcda7c Apply translations in fr
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'fr' language.
2021-02-24 09:09:47 +00:00
Jonas Winkler 6f3fdbecea Merge pull request #611 from bish0polis/patch-1
Update README.md
2021-02-24 09:40:50 +01:00
Bishop Clark 3a46cc33ee Update README.md
Like 'stuff' and 'traffic', 'mail' gets no 's'.
2021-02-23 22:09:12 -08:00
Jonas Winkler ae3eb84e01 Merge pull request #600 from joelnordell/apple-touch-icon
Add apple-touch-icon for iOS devices "Add to Home Screen"
2021-02-23 16:18:56 +01:00
jonaswinkler 7a73e18596 fix pycodestyle and messages 2021-02-23 13:21:11 +01:00
jonaswinkler c89779e8fc Merge branch 'master' into dev 2021-02-23 13:17:23 +01:00
jonaswinkler 5ca8d10d04 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-23 13:17:20 +01:00
jonaswinkler 1ce6aef57c Merge branch 'master' of github.com:jonaswinkler/paperless-ng 2021-02-23 13:17:08 +01:00
jonaswinkler 49b23aafa3 documentation typos 2021-02-23 13:16:56 +01:00
jonaswinkler f888647b12 front end support for displaying error messages about regular expressions. 2021-02-23 13:13:38 +01:00
jonaswinkler 065ff6eaf5 rename some steps 2021-02-23 13:13:12 +01:00
Jonas Winkler bf976fe188 Merge pull request #608 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'de'
2021-02-23 13:12:29 +01:00
transifex-integration[bot] 5ce73574c8 Apply translations in de
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'de' language.
2021-02-23 12:12:00 +00:00
jonaswinkler 5d94a983d2 move codestyle checks into separate job 2021-02-23 13:09:41 +01:00
Jonas Winkler 25366af4bb Update CONTRIBUTING.md 2021-02-23 13:03:20 +01:00
jonaswinkler f397c5472c validation for regular expressions on matching models #605 2021-02-23 12:35:24 +01:00
Fabian Koller 6273eb0061 Handle OCR languages with hyphens
See https://github.com/jonaswinkler/paperless-ng/issues/584#issuecomment-782830878
2021-02-23 08:48:46 +01:00
Fabian Koller 734fd7c0fc Update exposed configuration variables
Include the newly added OCR clean and deskew parameters
2021-02-23 08:35:10 +01:00
Joel Nordell 8797a58efc Add apple-touch-icon for iOS devices "Add to Home Screen" 2021-02-22 22:25:10 -06:00
Jonas Winkler 8da85d3609 Update ci.yml 2021-02-22 13:25:21 +01:00
jonaswinkler 127d30918d lets hope this works! 2021-02-22 12:03:07 +01:00
jonaswinkler 3b553f6455 changelog 2021-02-22 11:53:13 +01:00
jonaswinkler 6d934da5dd Revert "associate error messages with documents"
This reverts commit aa3d91a3
2021-02-22 11:52:54 +01:00
jonaswinkler aa3d91a338 associate error messages with documents 2021-02-22 11:38:16 +01:00
jonaswinkler d64818b46c fixes #591 2021-02-22 11:11:04 +01:00
jonaswinkler 99a18516b2 tests 2021-02-22 00:17:16 +01:00
jonaswinkler 30b0a30146 dropdown menu shadows 2021-02-22 00:04:44 +01:00
jonaswinkler cb10617979 enable deskewing and rotation by default 2021-02-21 23:40:26 +01:00
jonaswinkler 265432f2a5 fix up the ocrmypdf parameter construction for clean-final and redo 2021-02-21 23:39:19 +01:00
jonaswinkler a13e9f23b1 use archived file for thumbnail, if available 2021-02-21 23:30:14 +01:00
jonaswinkler 65b37f61ca update thumbnail in archiver, since page rotation might have changed 2021-02-21 23:29:52 +01:00
jonaswinkler 7751755399 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-21 22:27:58 +01:00
jonaswinkler 14e2ad7bc4 more parameter checking 2021-02-21 22:19:24 +01:00
jonaswinkler dfc23a2b38 bugfix for tika parser 2021-02-21 21:36:43 +01:00
Jonas Winkler d2fc840293 Merge pull request #587 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-02-21 16:01:53 +01:00
Jonas Winkler 37fe6fb9c3 Merge pull request #586 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_fr
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'fr'
2021-02-21 16:01:41 +01:00
transifex-integration[bot] a21ec76997 Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-02-21 14:16:49 +00:00
transifex-integration[bot] 501d8d9683 Apply translations in fr
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'fr' language.
2021-02-21 14:15:43 +00:00
jonaswinkler 8562ca9a77 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-21 13:44:15 +01:00
jonaswinkler 29641e5d66 Merge branch 'master' into dev 2021-02-21 13:44:07 +01:00
jonaswinkler ee7308be2d documentation on how to build the documentation 2021-02-21 13:43:54 +01:00
jonaswinkler ef4009e94f documentation 2021-02-21 13:35:47 +01:00
Jonas Winkler 27d2ae6976 Merge pull request #585 from jonaswinkler/translations_src-ui-messages-xlf--dev_en_GB
Translate '/src-ui/messages.xlf' in 'en_GB'
2021-02-21 13:12:31 +01:00
transifex-integration[bot] 0f9675f9d6 Translate /src-ui/messages.xlf in en_GB
translation completed for the source file '/src-ui/messages.xlf'
on the 'en_GB' language.
2021-02-21 12:12:19 +00:00
jonaswinkler bac4a63cc8 run the polling file change checks on individual threads to speed up queueing of new files 2021-02-21 12:43:55 +01:00
jonaswinkler 0453787d38 increased default delay when waiting for file changes with polling 2021-02-21 12:14:54 +01:00
jonaswinkler afc3e41f13 changelog 2021-02-21 01:48:14 +01:00
jonaswinkler 86d6316cc9 version bump 2021-02-21 01:30:03 +01:00
jonaswinkler 7b2c1f82f5 documentation 2021-02-21 01:29:55 +01:00
jonaswinkler e2a932d744 update dependencies 2021-02-21 00:24:33 +01:00
jonaswinkler b978994525 documentation for the new configuration options 2021-02-21 00:23:01 +01:00
jonaswinkler 6da237dd9e pycodestyle 2021-02-21 00:21:43 +01:00
jonaswinkler 50c1978d36 tests 2021-02-21 00:18:34 +01:00
jonaswinkler fdb310c497 changelog 2021-02-21 00:17:12 +01:00
jonaswinkler ce121a261d completely reworked the OCRmyPDF parser. 2021-02-21 00:16:57 +01:00
jonaswinkler ebdfd4241a Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-21 00:13:17 +01:00
jonaswinkler 9cbb1c5726 add some test files 2021-02-21 00:13:08 +01:00
Jonas Winkler 85dabccbe7 Merge pull request #579 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-02-20 19:01:08 +01:00
transifex-integration[bot] a9a8189d4b Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-02-20 17:45:27 +00:00
Jonas Winkler 30579112d2 Merge pull request #578 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-20 16:45:20 +01:00
transifex-integration[bot] ccfd009c1a Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-20 15:44:19 +00:00
jonaswinkler 044a939623 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-20 16:11:25 +01:00
jonaswinkler 203bc162cd front end support for downloading multiple documents 2021-02-20 16:10:50 +01:00
jonaswinkler 31f03ef1d3 API support for downloading compressed archives of multiple documents 2021-02-20 16:09:29 +01:00
Jonas Winkler 4d3552dc64 Merge pull request #570 from jonaswinkler/translations_src-ui-messages-xlf--dev_en_GB
Translate '/src-ui/messages.xlf' in 'en_GB'
2021-02-19 12:18:46 +01:00
Jonas Winkler ea8a52404f Merge pull request #569 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-19 12:18:35 +01:00
Jonas Winkler 0ae9aecdef Update README.md 2021-02-19 11:51:59 +01:00
jonaswinkler 4de4789605 this took way too much time 2021-02-19 11:34:51 +01:00
jonaswinkler 950bb46827 version bump 2021-02-19 11:31:14 +01:00
Jonas Winkler 44936dc5f0 Update README.md 2021-02-19 11:24:21 +01:00
Jonas Winkler 1140a878b4 Update README.md 2021-02-19 11:22:43 +01:00
transifex-integration[bot] efb49af7ac Translate /src-ui/messages.xlf in en_GB
translation completed for the source file '/src-ui/messages.xlf'
on the 'en_GB' language.
2021-02-18 16:44:55 +00:00
transifex-integration[bot] b5a8106a6a Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-18 16:43:41 +00:00
jonaswinkler 0f80eee54e refactored most of the list view; fixes #147, much snappier UX when switching between views 2021-02-18 17:29:21 +01:00
jonaswinkler 0e237fa459 messages 2021-02-18 17:11:47 +01:00
Jonas Winkler 702b985ceb Merge pull request #558 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'de'
2021-02-17 14:46:25 +01:00
Jonas Winkler 7d87bcbb98 Merge pull request #560 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_en_GB
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'en_GB'
2021-02-17 14:46:14 +01:00
Jonas Winkler 340521aa0d Merge pull request #559 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_nl_NL
Translate '/src/locale/en_US/LC_MESSAGES/django.po' in 'nl_NL'
2021-02-17 14:46:03 +01:00
transifex-integration[bot] 7bc557a999 Apply translations in en_GB
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'en_GB' language.
2021-02-17 13:36:15 +00:00
jonaswinkler dfa7cdf47e Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-17 14:26:26 +01:00
jonaswinkler 0d78e58d77 fixed paperless not properly selecting en-gb 2021-02-17 14:26:06 +01:00
transifex-integration[bot] 58df3d5767 Apply translations in nl_NL
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'nl_NL' language.
2021-02-17 12:57:48 +00:00
Jonas Winkler 4e4d6e806c Update Crowdin configuration file 2021-02-17 13:22:45 +01:00
Jonas Winkler 6ff99945f3 Update Crowdin configuration file 2021-02-17 13:18:19 +01:00
transifex-integration[bot] b7f1b9f8ad Apply translations in de
translation completed for the source file '/src/locale/en_US/LC_MESSAGES/django.po'
on the 'de' language.
2021-02-17 11:50:01 +00:00
jonaswinkler 08a44cf468 changelog and version 2021-02-17 12:31:19 +01:00
jonaswinkler a1162d6d5a update requirements 2021-02-17 12:25:34 +01:00
jonaswinkler 1c81d88013 add support for iso 8601 date display 2021-02-17 12:15:22 +01:00
jonaswinkler 1e4ec7e29e added en-GB language 2021-02-16 14:54:18 +01:00
jonaswinkler 2c4e34dd0c changelog 2021-02-15 23:44:48 +01:00
jonaswinkler cb308fae7b only show inbox statistics if inbox tags are defined 2021-02-15 23:14:54 +01:00
jonaswinkler 3f03d51b24 version bump 2021-02-15 16:52:45 +01:00
jonaswinkler 831db6ab87 note regarding Python 3.6 2021-02-15 16:46:06 +01:00
jonaswinkler 43fdf634f2 added a note regarding python 3.6 2021-02-15 16:37:44 +01:00
jonaswinkler f07a6b4586 PAPERLESS_WEBSERVER_WORKERS option 2021-02-15 16:27:35 +01:00
jonaswinkler 2fcf484229 bugfix dismissing wrong status messages 2021-02-15 14:52:47 +01:00
jonaswinkler 8bf4241b16 some search index optimizations 2021-02-15 13:26:36 +01:00
jonaswinkler 56bd966c02 local import of ocrmypdf so that the webserver does not load that 2021-02-15 12:18:10 +01:00
jonaswinkler 416101d557 only import dateparser when required 2021-02-15 11:52:46 +01:00
jonaswinkler c330cca2c9 remove unused imports 2021-02-15 11:26:13 +01:00
jonaswinkler 7e88085377 load sklearn modules only when training data has changed 2021-02-15 11:25:25 +01:00
jonaswinkler 5e669534f2 reorganized test case 2021-02-14 17:24:31 +01:00
jonaswinkler 98b147b622 better sanity checker that logs messages in the log files and does not fail on warnings. 2021-02-14 17:08:29 +01:00
jonaswinkler df6c59bc4f update dependencies 2021-02-14 15:38:47 +01:00
jonaswinkler 6e48da41e5 changelog 2021-02-14 14:05:42 +01:00
Jonas Winkler 5c8a01a6e8 Merge pull request #538 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_cs
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'cs'
2021-02-14 13:41:33 +01:00
jonaswinkler 3d0a52c25f only load channels app if DEBUG is enabled; its only purpose is to monkey-patch the runserver command. 2021-02-14 12:50:30 +01:00
jonaswinkler 43c729568b release worker memory after tasks are done. 2021-02-14 12:29:55 +01:00
transifex-integration[bot] 62caeed283 Apply translations in cs
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'cs' language.
2021-02-14 07:05:05 +00:00
jonaswinkler 12836d4c68 revert django-q configuration 2021-02-13 20:25:52 +01:00
jonaswinkler b48e67d714 revert a faulty change that caused memory usage to explode #537 2021-02-13 19:51:04 +01:00
jonaswinkler f91f4d71bb Merge branch 'master' into dev 2021-02-13 18:09:14 +01:00
jonaswinkler 0a1f264c71 Gotenberg troubleshooting 2021-02-13 18:09:00 +01:00
jonaswinkler 64d61ae2fa version bump 2021-02-13 18:01:19 +01:00
jonaswinkler 5f0e800f6e metadata tab not showing anything if files are missing #534 2021-02-13 16:41:03 +01:00
jonaswinkler 8b2965d55b added sanity checker management command for manual execution #534 2021-02-13 16:39:29 +01:00
jonaswinkler ed478a1d73 change thumbnail display for extra wide images #433 2021-02-12 18:20:17 +01:00
jonaswinkler 13e91d8c95 changelog 2021-02-12 18:04:15 +01:00
jonaswinkler 6ac90181cb documentation and changelog 2021-02-12 16:54:00 +01:00
jonaswinkler d6c3471909 reprganized docker file, less layers, new shortcuts for management commands 2021-02-12 16:53:51 +01:00
jonaswinkler 5b56fad9c7 fix test case 2021-02-12 01:31:50 +01:00
jonaswinkler ed0b1fe115 better exception logging 2021-02-11 22:16:41 +01:00
jonaswinkler 4211153527 update file renaming logic 2021-02-11 13:47:17 +01:00
jonaswinkler 2f85461109 added some test cases that I still need to address 2021-02-10 23:53:48 +01:00
jonaswinkler 3fa7dcb0cb changes to the admin document list 2021-02-10 21:34:58 +01:00
jonaswinkler 857fe3a55c fix one incorrect use of archive_version 2021-02-10 21:34:39 +01:00
jonaswinkler dd19ea46fe backup documentation 2021-02-10 20:14:55 +01:00
jonaswinkler 21740a9d87 changelog 2021-02-10 20:05:02 +01:00
jonaswinkler 658fb2f208 remove invalid test cases 2021-02-10 20:01:35 +01:00
jonaswinkler 252d4cb513 update document admin 2021-02-10 18:55:39 +01:00
jonaswinkler 5aed41223b Merge branch 'master' into dev 2021-02-10 18:44:02 +01:00
jonaswinkler 45dfbf3747 downgrades 2021-02-10 18:27:41 +01:00
jonaswinkler e4fe5bebab requirements 2021-02-10 17:09:22 +01:00
jonaswinkler 04519ee623 more testing of the migration 2021-02-10 16:58:55 +01:00
jonaswinkler 6c8f010f7a retries for archive generation 2021-02-10 14:50:20 +01:00
jonaswinkler ed84cf26e7 update dependencies 2021-02-10 14:31:17 +01:00
jonaswinkler 1bc961f0c0 update dependencies 2021-02-10 11:50:57 +01:00
jonaswinkler 77d745381f more testing 2021-02-10 01:31:15 +01:00
jonaswinkler 7082cb9c36 document renamer testing 2021-02-10 01:12:45 +01:00
jonaswinkler 34e84cc757 sanity checker testing 2021-02-10 00:52:18 +01:00
jonaswinkler 9246411610 better logging for the migration 2021-02-10 00:52:01 +01:00
jonaswinkler 8330b3598c changelog 2021-02-09 23:23:11 +01:00
jonaswinkler 1d002149dc added ASN to filename format #519 2021-02-09 23:03:07 +01:00
jonaswinkler 8d6071e977 fix a bug with thumbnail generation when TIKA was enabled 2021-02-09 22:12:43 +01:00
jonaswinkler 7d67766508 todo note #520 2021-02-09 21:53:10 +01:00
jonaswinkler 887dd122fe more info in the admin 2021-02-09 21:00:04 +01:00
jonaswinkler a1293c77b9 fix migration and more tests 2021-02-09 20:54:02 +01:00
jonaswinkler ee9a73aa95 codestyle 2021-02-09 20:46:41 +01:00
jonaswinkler 9df332b614 test resources 2021-02-09 19:51:25 +01:00
jonaswinkler d13e86a892 update all test cases to address the archive filename changes 2021-02-09 19:51:16 +01:00
jonaswinkler 69d7f8c180 testing the updated migration 2021-02-09 19:49:29 +01:00
jonaswinkler 1ba89ddd09 refactor migration tests to allow testing for exceptions while migrating 2021-02-09 19:47:50 +01:00
jonaswinkler 0c40a28ad3 more sanity checks regarding archive versions 2021-02-09 19:46:59 +01:00
jonaswinkler 2b7424c42a imports 2021-02-09 19:46:42 +01:00
jonaswinkler a9f1766d1c todo note 2021-02-09 19:46:32 +01:00
jonaswinkler fca8576d80 archive filenames are now stored in the database and checked for collisions just as original filenames as well, unified method for archive version checking 2021-02-09 19:46:19 +01:00
jonaswinkler 05f59e7d5e another way to make the test case fail 2021-02-09 02:13:25 +01:00
jonaswinkler c9511680b3 version push 2021-02-09 01:36:39 +01:00
jonaswinkler 0ed001c56e validate move before migration 2021-02-09 00:13:13 +01:00
jonaswinkler 1e5a418191 more testing #511 2021-02-09 00:01:11 +01:00
jonaswinkler e05735bc0f fix some test cases 2021-02-09 00:00:46 +01:00
jonaswinkler 7621e10840 only move unaffected files, regenerate affected files 2021-02-08 23:54:07 +01:00
jonaswinkler d90080f325 only move files if necessary 2021-02-08 22:49:01 +01:00
jonaswinkler 0c676b90f2 migration for #511 2021-02-08 20:59:14 +01:00
jonaswinkler c2d8bda83c fix for #511 2021-02-08 19:59:14 +01:00
jonaswinkler 302ebf737e refactor migration test case 2021-02-08 13:18:39 +01:00
jonaswinkler 816c95a4ae code style 2021-02-08 13:18:08 +01:00
jonaswinkler 40106f6fcc updated documentation regarding execution of management commands with docker fixes #509 2021-02-08 00:10:52 +01:00
jonaswinkler 61143b3ad1 make the test case fail 2021-02-07 19:53:08 +01:00
jonaswinkler 9b64eebd10 revert commit 2021-02-07 18:26:03 +01:00
jonaswinkler 731418349f added a test case that replicates #511 2021-02-07 18:23:54 +01:00
Michael Shamoon 5306d58991 Dark mode + sizing tweaks 2021-02-07 08:19:00 -08:00
jonaswinkler 7728920670 Merge branch 'dev' 2021-02-07 01:22:04 +01:00
jonaswinkler f555bb95ae possible fix for the ansible roles 2021-02-07 00:49:53 +01:00
jonaswinkler bcee17c3ac github actions: build release tags 2021-02-07 00:14:24 +01:00
Michael Shamoon dcb17f2f21 hide on card mouseleave 2021-02-06 14:54:36 -08:00
Michael Shamoon 37b3a30619 Better minimum size for native viewer 2021-02-06 14:30:44 -08:00
jonaswinkler 7bc16edfe2 Merge branch 'master' into dev 2021-02-06 23:28:39 +01:00
Michael Shamoon b0fed61a01 Pre-load pdf contents 2021-02-06 14:28:26 -08:00
Jonas Winkler 40f3e8e45a Update README.md 2021-02-06 23:26:44 +01:00
Michael Shamoon 4a471138b2 Dark mode popover arrow fixes 2021-02-06 14:25:53 -08:00
jonaswinkler 656b4708ac update requirements.txt 2021-02-06 21:16:06 +01:00
jonaswinkler 7702f5012b classifier cache timeout 2021-02-06 21:03:32 +01:00
jonaswinkler ffe96c8fff classifier caching 2021-02-06 20:54:58 +01:00
jonaswinkler 0024c2aae4 caching 2021-02-06 20:51:04 +01:00
jonaswinkler ed39e9e15f update copyright #506 2021-02-06 20:48:23 +01:00
jonaswinkler fd8c40fee7 increase worker timeout 2021-02-06 18:51:53 +01:00
jonaswinkler 0e76441684 fix log viewer for empty logs 2021-02-06 18:51:31 +01:00
jonaswinkler d2c34fb9c7 update requirements.txt 2021-02-06 17:37:47 +01:00
jonaswinkler d09ea8408c keep numpy below 1.20, since that breaks python 3.6 2021-02-06 17:36:31 +01:00
jonaswinkler e8a1fde1c7 documentation 2021-02-06 17:22:05 +01:00
jonaswinkler 5ef6f2697e default settings 2021-02-06 17:21:40 +01:00
jonaswinkler 80b3fa75a5 pycodestyle 2021-02-06 17:21:32 +01:00
jonaswinkler 9993381cda rework of the log viewer 2021-02-06 17:07:25 +01:00
jonaswinkler 9fa3f91e8a update logging config 2021-02-06 17:05:07 +01:00
jonaswinkler fe435f6653 update API access for logs 2021-02-06 17:02:00 +01:00
jonaswinkler 5696c02ac3 remove log admin 2021-02-06 17:00:06 +01:00
jonaswinkler 019dfeb3ee separate mail logging 2021-02-06 16:59:04 +01:00
jonaswinkler e35723e7af fix some logging messages 2021-02-06 15:30:47 +01:00
jonaswinkler 1d50d017ac update bare metal instructions 2021-02-06 14:54:00 +01:00
jonaswinkler 9e5d1ad952 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-06 13:44:08 +01:00
Jonas Winkler 9faaf4b1e4 Merge pull request #504 from jonaswinkler/translations_src-ui-messages-xlf--dev_en_GB
Translate '/src-ui/messages.xlf' in 'en_GB'
2021-02-06 13:33:28 +01:00
Jonas Winkler ac229ce004 Merge pull request #503 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_en_GB
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'en_GB'
2021-02-06 13:32:59 +01:00
Michael Shamoon 41540a3a5f Document popover previews 2021-02-06 00:40:18 -08:00
transifex-integration[bot] 968614a289 Translate /src-ui/messages.xlf in en_GB
translation completed for the source file '/src-ui/messages.xlf'
on the 'en_GB' language.
2021-02-06 00:12:00 +00:00
transifex-integration[bot] 2f68f236bb Apply translations in en_GB
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'en_GB' language.
2021-02-06 00:09:49 +00:00
jonaswinkler 00903bd90c update statistics when new documents are added 2021-02-06 00:13:49 +01:00
jonaswinkler 96d7114fa7 lazy load fuzzy only when required 2021-02-05 01:11:03 +01:00
jonaswinkler 431d4fd8e4 rework most of the logging 2021-02-05 01:10:29 +01:00
jonaswinkler 0d3ab3aaf7 remove lots of unused code 2021-02-04 23:40:53 +01:00
jonaswinkler 138f38d1f3 fix lost messages when queuing many files 2021-02-04 23:32:11 +01:00
jonaswinkler 222fb48378 dismiss completed dismisses successful items only 2021-02-04 16:55:48 +01:00
jonaswinkler 5718f50c4f increase worker timeout for Raspberry Pi 2021-02-04 15:46:51 +01:00
jonaswinkler d8e0ef257e don't load sklearn libraries unless needed 2021-02-04 15:15:11 +01:00
jonaswinkler 866c8fc848 websocket testing 2021-02-04 14:17:18 +01:00
Jonas Winkler 758631c53f Update README.md 2021-02-04 13:31:20 +01:00
jonaswinkler 8711a206a0 fix websocket test cases 2021-02-04 13:26:58 +01:00
jonaswinkler 44ec3a3d9c lazy loading for parsers 2021-02-04 13:17:24 +01:00
jonaswinkler 883a6b26a4 update gunicorn.conf 2021-02-04 00:17:23 +01:00
jonaswinkler b9e1ed7d7e added test for web socket authentication 2021-02-03 23:18:28 +01:00
jonaswinkler c51fa60172 close connection when not authenticated anymore. 2021-02-03 21:53:39 +01:00
jonaswinkler e300ee0c92 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-03 20:44:37 +01:00
jonaswinkler ba3c8308b3 websocket authentication 2021-02-03 20:44:10 +01:00
Jonas Winkler 63b11514c9 Merge pull request #501 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-02-03 18:45:25 +01:00
transifex-integration[bot] 49d2084d8a Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-02-03 17:10:45 +00:00
jonaswinkler c36fe577de Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-03 17:08:07 +01:00
jonaswinkler 28c79f1abb documentation 2021-02-03 17:07:37 +01:00
Jonas Winkler a1f07417da Merge pull request #500 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-02-03 16:32:52 +01:00
transifex-integration[bot] 611b4fe31b Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-02-03 15:25:14 +00:00
Jonas Winkler 697670ef97 Merge pull request #499 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-03 16:13:43 +01:00
transifex-integration[bot] ee487529fe Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-03 15:11:49 +00:00
jonaswinkler 2129cda38d display http errors 2021-02-03 16:01:32 +01:00
jonaswinkler afb63f763a Merge branch 'master' into dev 2021-02-03 15:24:38 +01:00
jonaswinkler a186d6fae2 bugfix 2021-02-03 15:22:20 +01:00
jonaswinkler d17de45791 fix typo 2021-02-03 14:51:04 +01:00
Jonas Winkler 18980bbbe3 Merge pull request #498 from C0nsultant/ansible-varnames
Ansible - apply consistent name structure to vars
2021-02-03 11:49:53 +01:00
Fabian Koller 32c9369ba1 Apply consistent name structure to vars 2021-02-03 08:06:34 +01:00
jonaswinkler bdc247ce49 code style 2021-02-02 23:58:25 +01:00
jonaswinkler 85f46424a8 fixes layout issues #482 2021-02-02 23:58:11 +01:00
jonaswinkler d198a89f22 update dependencies 2021-02-02 20:43:07 +01:00
jonaswinkler 82730ab491 update dependencies 2021-02-02 20:31:25 +01:00
jonaswinkler c78d54e71e update the easy install script and documentation 2021-02-02 19:54:56 +01:00
jonaswinkler 08d96a1b76 configure websocket endpoint for production 2021-02-02 16:22:36 +01:00
jonaswinkler b2a744e880 version bump 2021-02-02 15:11:29 +01:00
jonaswinkler 3f421a4f64 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-02 14:52:07 +01:00
jonaswinkler 2624aec758 changelog 2021-02-02 14:51:54 +01:00
Jonas Winkler f3a18c26f4 Merge pull request #494 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-02 14:08:11 +01:00
jonaswinkler 47ea60372f disable CI for translation branches 2021-02-02 14:07:43 +01:00
transifex-integration[bot] 8efba4c57f Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-02 13:07:05 +00:00
jonaswinkler 060dcd71cd messages, reorganized settings 2021-02-02 14:06:16 +01:00
Jonas Winkler fd6e727299 Merge pull request #492 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-02 13:35:59 +01:00
Jonas Winkler c4adb20eff Merge pull request #493 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-02-02 13:35:47 +01:00
transifex-integration[bot] e70af00321 Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-02-02 12:34:03 +00:00
transifex-integration[bot] 9ebe16d823 Translate /src-ui/messages.xlf in de
translated for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-02 12:30:13 +00:00
Jonas Winkler fd05da96d5 Merge pull request #488 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-02-02 13:27:55 +01:00
jonaswinkler 5f44ab5abc CI: ignore translation branches 2021-02-02 13:27:08 +01:00
transifex-integration[bot] ffc82c17ba Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-02-02 12:17:25 +00:00
jonaswinkler b33e25b1f7 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-02-02 13:14:11 +01:00
jonaswinkler 55c50e3ac2 more message changes 2021-02-02 13:10:51 +01:00
jonaswinkler 211a88129e removed dead files 2021-02-02 12:58:23 +01:00
jonaswinkler 2a629b81ce updates messages 2021-02-02 12:58:11 +01:00
Jonas Winkler 2efb99192a add pull to docker setup 2021-02-01 21:45:45 +01:00
Jonas Winkler 0a28ccf62f adjustments to setup 2021-02-01 21:43:50 +01:00
Jonas Winkler 48b042bfb0 troubleshooting for #216 2021-02-01 20:14:29 +01:00
Jonas Winkler da08eec91f Merge pull request #482 from shamoon/feature/sidebar-info-2
Updates to sidebar "Misc" section
2021-02-01 12:42:26 +01:00
Jonas Winkler 684f91b2e3 Merge pull request #486 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-02-01 12:42:05 +01:00
transifex-integration[bot] 689579c7f2 Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-02-01 09:31:34 +00:00
Michael Shamoon 4a549ccd33 additional link spacing 2021-01-31 19:24:37 -08:00
Michael Shamoon 32f0a2fdbc Yes, 2px margin on the svg icon 2021-01-31 19:20:00 -08:00
Michael Shamoon abee54ebe3 Fix Safari overflow issue 2021-01-31 19:16:38 -08:00
Michael Shamoon 58ae14c364 space for info heading 2021-01-31 19:11:27 -08:00
Michael Shamoon 34104f0d42 These arent needed on h6s 2021-01-31 19:11:21 -08:00
Michael Shamoon dabcdbad00 Prevent safari wrap 2021-01-31 19:09:31 -08:00
Michael Shamoon 4c314130f7 Use div containers 2021-01-31 17:16:39 -08:00
Michael Shamoon 53a71384b0 Merge remote-tracking branch 'upstream/dev' into feature/sidebar-info-2 2021-01-31 17:04:35 -08:00
Jonas Winkler 294a5ebec6 Merge pull request #480 from shamoon/feature/github-discussion-ideas
Encourage Discussion Ideas instead of Issues for [Feature Requests]
2021-02-01 01:52:30 +01:00
Michael Shamoon 6a4b31b354 Correct discussions category link 2021-01-31 16:33:39 -08:00
Michael Shamoon 76c9715748 Change "Misc" to "Info"
Also move to bottom of screen, add suggestions link, change GH icon
2021-01-31 16:31:32 -08:00
Michael Shamoon e657ca7496 Revert "App 'submit an idea icon'"
This reverts commit 406ec17050.
2021-01-31 16:23:08 -08:00
Michael Shamoon ddf01eef14 Update to use new feature-requests category of discussions 2021-01-31 16:22:41 -08:00
Jonas Winkler 3d093f2c08 Merge pull request #479 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_fr
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'fr'
2021-02-01 00:09:01 +01:00
transifex-integration[bot] 004e3134fc Apply translations in fr
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'fr' language.
2021-01-31 22:33:04 +00:00
Michael Shamoon 85ee74f2d8 Remove feature request template, update others to point to Discussions 2021-01-31 14:32:09 -08:00
Michael Shamoon 406ec17050 App 'submit an idea icon' 2021-01-31 14:19:25 -08:00
jonaswinkler 7f85180264 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-31 22:28:41 +01:00
jonaswinkler ad29fc23a6 added an easy install script 2021-01-31 22:28:26 +01:00
Michael Shamoon b9690de9ab Add GH Ideas info to readme 2021-01-31 13:19:55 -08:00
Jonas Winkler d4deefc81c Merge pull request #478 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_nl_NL
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'nl_NL'
2021-01-31 17:00:39 +01:00
transifex-integration[bot] 32780472db Apply translations in nl_NL
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'nl_NL' language.
2021-01-31 15:45:35 +00:00
Jonas Winkler b1f906461e Merge pull request #476 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'de'
2021-01-31 15:50:57 +01:00
Jonas Winkler 7e449d661b Merge pull request #477 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-31 15:50:48 +01:00
transifex-integration[bot] 24b3a03000 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-31 14:45:58 +00:00
transifex-integration[bot] cd28fbf563 Apply translations in de
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'de' language.
2021-01-31 14:45:43 +00:00
jonaswinkler d7b2906977 fix typo 2021-01-31 15:37:09 +01:00
jonaswinkler 3180b38797 adjust ansible scripts to use gunicorn.conf.py 2021-01-31 15:36:52 +01:00
jonaswinkler fd59def1bd Merge branch 'feature-websockets-status' into dev 2021-01-31 14:37:15 +01:00
jonaswinkler 8cd1dd71e8 Merge branch 'master' into dev 2021-01-31 14:03:44 +01:00
Jonas Winkler 48cfb64416 Merge pull request #474 from C0nsultant/ansible-GITHUB_SHA
Ansible - Switch CI target to sha instead of ref
2021-01-31 14:03:04 +01:00
jonaswinkler adb76eafaf moved gunicorn.conf.py to a more appropriate place and reference that in the configuration scripts. 2021-01-31 13:52:21 +01:00
jonaswinkler 4e2efebaa7 addresses race condition between API and document consumer #472 2021-01-31 13:20:21 +01:00
Fabian Koller eb6153c5aa Change CI ref from merge to head
At this time in the CI, merge is not accessible from tree
https://github.community/t/github-sha-but-how-to-get-the-latest-commit-reference-on-a-branch/17160
2021-01-31 12:00:41 +01:00
Fabian Koller 9c3b16c879 Switch CI target to sha instead of ref 2021-01-31 11:28:54 +01:00
jonaswinkler ba637c8582 replace preview icon #471 2021-01-30 21:56:17 +01:00
jonaswinkler 46ea86a6d2 Merge branch 'dev' into feature-websockets-status 2021-01-30 16:08:50 +01:00
jonaswinkler 9d148c08ce Merge branch 'master' into dev 2021-01-30 16:06:42 +01:00
Jonas Winkler ac459f7b05 Merge pull request #411 from C0nsultant/ansible-fromsource
Ansible - build release archive from source
2021-01-30 16:05:51 +01:00
jonaswinkler 35a4779cc0 fix typo 2021-01-30 15:44:23 +01:00
Jonas Winkler ffa44f51cd Update README.md 2021-01-30 15:30:39 +01:00
jonaswinkler 682a9d2a09 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-30 15:23:03 +01:00
jonaswinkler 4c6a02aee7 pycodestyle 2021-01-30 15:22:51 +01:00
jonaswinkler 87a18eae2d centralized classifier loading, better error handling, no error messages when auto matching is not used 2021-01-30 14:22:23 +01:00
Fabian Koller 269673ce05 DEBUG - use very long txt file 2021-01-30 14:13:03 +01:00
Fabian Koller d9e06958dc DEBUG - force flush 2nd try 2021-01-30 12:50:49 +01:00
Fabian Koller 063bfc245c DEBUG - force newline in .txt 2021-01-30 12:20:55 +01:00
Fabian Koller 21c501de28 force flush on temp file during consumption
file.write() does not guarantee that a file handle contains anything
without calling an accompanying file.flush()
For typical files that are larger than the OS-file buffer, this is no
problem
For small files (e.g. 64 characters in a .TXT), this race condition
leads to `inode/x-empty` because the file inode is created, but no
content is written to it
2021-01-30 11:51:43 +01:00
Jonas Winkler d50d1bd2ea Merge pull request #470 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-01-29 22:34:17 +01:00
transifex-integration[bot] e4aa31a62d Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-01-29 19:57:40 +00:00
Jonas Winkler fdf58bed6a Merge pull request #469 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-29 19:59:09 +01:00
transifex-integration[bot] a54784da11 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-29 18:59:00 +00:00
jonaswinkler a40e4fe3bc update messages 2021-01-29 16:57:00 +01:00
jonaswinkler ea30fbf14f Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-29 16:49:07 +01:00
jonaswinkler d22d9a023c frontend support for suggestions #264 2021-01-29 16:48:51 +01:00
jonaswinkler ddcc0883eb add support for suggestions 2021-01-29 16:45:23 +01:00
Jonas Winkler 047a21eb48 Merge pull request #468 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-01-29 14:01:46 +01:00
transifex-integration[bot] 439f06ccda Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-01-29 12:42:54 +00:00
jonaswinkler 05866da04b remove dead code 2021-01-29 12:54:54 +01:00
jonaswinkler dcd350a30c not sure what happened with reportlab 3.5.60, maybe a bad release. 2021-01-29 00:26:17 +01:00
jonaswinkler 107cc2ca20 add missing quotes 2021-01-28 22:38:12 +01:00
jonaswinkler f872221c49 filesystem permission checks now issue warnings instead of errors, improves NFS compatibility 2021-01-28 22:22:25 +01:00
jonaswinkler 2faa425caf localization for websockets 2021-01-28 22:06:02 +01:00
jonaswinkler 94be8781e9 test cases 2021-01-28 19:28:48 +01:00
jonaswinkler 47189342e4 update dependencies 2021-01-28 12:43:27 +01:00
jonaswinkler fafe259e53 added a status summary line 2021-01-28 10:54:56 +01:00
jonaswinkler 41fe607157 documentation 2021-01-27 20:45:14 +01:00
jonaswinkler 062008269b prevent updates to scipy, since 1.6 is incompatible with python 3.6 2021-01-27 20:27:40 +01:00
jonaswinkler 29e1b51164 add python 3.9 for tests 2021-01-27 20:27:06 +01:00
jonaswinkler d2a8bc5c4c fix redis configuration 2021-01-27 20:08:09 +01:00
jonaswinkler 7414b3d23a update configuration 2021-01-27 19:57:04 +01:00
jonaswinkler a0a781a3d5 i18n 2021-01-27 19:11:50 +01:00
jonaswinkler d9e6f6e07c add gunicorn again 2021-01-27 19:11:18 +01:00
jonaswinkler 9167357908 update list view when documents are added 2021-01-27 18:47:02 +01:00
jonaswinkler 3b541b22e8 improved the logic of the "dismiss completed" button 2021-01-27 18:34:59 +01:00
jonaswinkler 71d5af233d update messages 2021-01-27 17:57:16 +01:00
jonaswinkler b0ed06003b better error messages 2021-01-27 17:56:06 +01:00
jonaswinkler 91f7c4e685 settings and localization 2021-01-27 17:28:11 +01:00
jonaswinkler 5a4cb5fe4a proper messages when uploading fails 2021-01-27 16:04:06 +01:00
jonaswinkler cc74be9ccc better error messages 2021-01-27 15:50:37 +01:00
jonaswinkler 68a9dd7e05 fix an issue with upload status identification 2021-01-27 15:23:29 +01:00
jonaswinkler 682cf33c78 clarification for some steps in the migration guide 2021-01-27 12:05:30 +01:00
Jonas Winkler 763b780aa4 Update issue templates 2021-01-27 11:32:30 +01:00
Michael Shamoon 23d8305027 Prevent dirty check lost on document close & reopen 2021-01-26 22:43:46 -08:00
Michael Shamoon 1950f805b3 Implement warning for closeAll 2021-01-26 22:27:50 -08:00
Michael Shamoon d275a75517 whitespace 2021-01-26 21:11:57 -08:00
Michael Shamoon 1576e07011 Dont warn on navigate for documents 2021-01-26 20:46:28 -08:00
Jonas Winkler 24313fe001 Merge pull request #452 from shamoon/feature/consumer-alerts
Updates to consumer status alerts
2021-01-27 00:36:33 +01:00
Michael Shamoon 51dc40ae73 Maximum limit of alerts 2021-01-26 14:48:39 -08:00
jonaswinkler ab04817bea alter defaults for workers and threads to allow more parallel tasks #446 2021-01-26 22:10:43 +01:00
jonaswinkler 8dde7fa043 Merge branch 'master' of github.com:jonaswinkler/paperless-ng 2021-01-26 20:48:43 +01:00
jonaswinkler edfebe18a2 removed all occurences of pipenv from the documentation 2021-01-26 20:48:32 +01:00
jonaswinkler 0b07c3bd8f more documentation 2021-01-26 20:37:36 +01:00
Jonas Winkler 1483f450ad Update issue templates 2021-01-26 20:32:35 +01:00
jonaswinkler 600c13204e added FAQ for #449 2021-01-26 20:13:29 +01:00
jonaswinkler 2073279473 documentation for #441 2021-01-26 19:53:56 +01:00
jonaswinkler d126ecfa4d troubleshooting for #346 2021-01-26 19:42:06 +01:00
jonaswinkler 944aaf5438 documentation #444 2021-01-26 19:32:22 +01:00
Michael Shamoon 52f17a9ba6 Fix dark mode primary progress color 2021-01-26 10:17:58 -08:00
Michael Shamoon 44600961d8 Fix initial upload progress > 100% 2021-01-26 10:17:45 -08:00
Michael Shamoon d60b532b8f Dark mode support 2021-01-26 10:09:13 -08:00
Michael Shamoon 55584a6a87 Fix alert resizing 2021-01-26 09:50:48 -08:00
jonaswinkler 7c02a8b414 requirements 2021-01-26 18:01:24 +01:00
jonaswinkler 18d105b4f8 pinned scikit learn version 2021-01-26 18:00:59 +01:00
jonaswinkler f0d49a1382 enable docker image builds on feature branches 2021-01-26 15:55:47 +01:00
Jonas Winkler 277bf0eb83 Merge pull request #414 from tido-/documentation_changes
Documentation changes
2021-01-26 15:50:28 +01:00
jonaswinkler 3b5d55c428 pycodestyle 2021-01-26 15:43:07 +01:00
jonaswinkler 313f2886d7 fix test cases 2021-01-26 15:26:25 +01:00
jonaswinkler 868fd4155a bug fixes, test case fixes 2021-01-26 15:19:56 +01:00
jonaswinkler 4eeb5642f5 i18n, better error handling 2021-01-26 15:02:46 +01:00
Michael Shamoon 532a3d955c Dismiss all 2021-01-26 02:52:16 -08:00
Michael Shamoon 53309f017f Lovely file upload alerts 2021-01-26 02:32:45 -08:00
Michael Shamoon 5651a03b14 Drop over background color 2021-01-26 00:17:27 -08:00
Michael Shamoon 07faba3983 Confirm button text 2021-01-25 23:39:16 -08:00
Michael Shamoon d9547e87af Merge remote-tracking branch 'upstream/dev' into feature/unsaved-changes 2021-01-25 23:36:39 -08:00
Michael Shamoon d672455ad8 Cleanup 2021-01-25 23:32:02 -08:00
Michael Shamoon 96a572b7a6 Refactor, missed import 2021-01-25 23:29:16 -08:00
Michael Shamoon 2a7bb27a78 Merge remote-tracking branch 'upstream/dev' into feature/unsaved-changes 2021-01-25 23:16:18 -08:00
Michael Shamoon 3f73cd5bfc Change warning title 2021-01-25 23:16:11 -08:00
Michael Shamoon 9c427f202d Disable discard button also if not dirty 2021-01-25 23:09:56 -08:00
Michael Shamoon bc02dc30b1 Prevent confirmation warning after save 2021-01-25 23:06:25 -08:00
Michael Shamoon 8080b7a119 Document detail dirty checking 2021-01-25 23:00:57 -08:00
Michael Shamoon b0fa0f2319 Settings navigation warning dialog 2021-01-25 22:44:26 -08:00
Michael Shamoon 6c5f9bbabb Settings dirty check for saving 2021-01-25 19:23:03 -08:00
jonaswinkler 7dedb99dae fix status reports for consumption directory status messages 2021-01-26 01:15:27 +01:00
jonaswinkler b581e42216 functions for combined upload progress bars 2021-01-26 01:10:39 +01:00
jonaswinkler ede3bd1391 rework of the front end components 2021-01-26 00:51:45 +01:00
jonaswinkler 339e96b63c task ids 2021-01-26 00:51:20 +01:00
jonaswinkler f31073a341 update dependencies 2021-01-26 00:50:29 +01:00
jonaswinkler 2fa78f7820 update Pipfile.lock 2021-01-26 00:35:07 +01:00
jonaswinkler 77b85b9e93 remove status widget 2021-01-26 00:34:36 +01:00
Fabian Koller 29ce2515ee Build source package in paperlessng_directory
Avoids permission problems in /tmp
2021-01-25 21:57:20 +01:00
Reto d57c237980 fixed merge conflict 2021-01-24 20:12:38 +01:00
Reto 37ade0c6b2 fix my ignorance of idempotent 2021-01-24 20:00:09 +01:00
Reto 28a2479f24 fix my ignorance of idempotent 2021-01-24 19:37:46 +01:00
Fabian Koller be2013975c Simplify building from source
Do not package app, instead copy directly into expected directory
2021-01-24 09:59:54 +01:00
Jonas Winkler 6e688a5b82 Update README.md 2021-01-24 00:00:46 +01:00
Fabian Koller bfbdfe857f Simplify molecule tests
"Upgrade" path includes multiple paths anyway:
- installing the latest official release package
- builing the current PR from source
- upgrading between the two versions
2021-01-23 22:55:46 +01:00
Fabian Koller 0d19957d4b Fully prepare release package 2021-01-23 22:45:32 +01:00
jonaswinkler 05d69c0882 Merge branch 'dev' into feature-websockets-status 2021-01-23 22:22:17 +01:00
Michael Shamoon a5edbcf9ef Shrink dropdown note font size to fit on one line 2021-01-23 11:52:05 -08:00
Reto 2104e65462 minor changes, like numbering 2021-01-23 13:14:31 +01:00
Reto c0882e74e2 tried to fill the gaps and change wording where it felt necessary for better understanding 2021-01-23 12:55:50 +01:00
Jonas Winkler ced6a61869 Update README.md 2021-01-22 17:22:02 +01:00
Fabian Koller 6c3b1db4dd Determine installed version by git commit hash 2021-01-22 16:28:13 +01:00
Jonas Winkler 25a0845efd Update README.md 2021-01-22 15:07:52 +01:00
Fabian Koller 8d62493774 Adapt github action to build PR version 2021-01-22 11:10:56 +01:00
Fabian Koller eca1289ce2 Build release archive when version is not avail
Default ansible installation version to "latest" (pulls the latest
published release archive).
2021-01-22 10:49:59 +01:00
Michael Shamoon a6bd118f5e Disable any / all toggle when excluded items 2021-01-21 14:42:05 -08:00
Michael Shamoon a73ff4ffa6 return key works too 2021-01-21 14:41:11 -08:00
Michael Shamoon 14d04ff8d2 Merge branch 'fix/issue-401' into feature/any-all-filtering 2021-01-21 14:29:31 -08:00
Michael Shamoon d7cefabe98 Fix unable to save ANY views 2021-01-21 14:25:50 -08:00
jonaswinkler f95fd4ced2 Merge branch 'dev' 2021-01-21 22:55:10 +01:00
jonaswinkler 227f7b6946 revert a change 2021-01-21 22:29:47 +01:00
jonaswinkler 1a0b954397 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-21 21:32:21 +01:00
jonaswinkler 87ad2ce1d6 added a note regarding updates after 0.9.13 2021-01-21 21:32:08 +01:00
Jonas Winkler 63cd16e29e Merge pull request #407 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-01-21 21:16:02 +01:00
Jonas Winkler 66fc9e9111 Merge pull request #408 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-21 21:15:49 +01:00
Jonas Winkler 43bee38b3c Merge pull request #406 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-01-21 21:15:32 +01:00
transifex-integration[bot] 18ebb58dc9 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-21 20:08:58 +00:00
transifex-integration[bot] 099b84a66d Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-01-21 20:08:46 +00:00
transifex-integration[bot] 3b22d7131d Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-01-21 20:08:36 +00:00
jonaswinkler 11f9616411 improve locale selection options 2021-01-21 21:05:16 +01:00
Michael Shamoon c926e0242a Add UI hint for option-click 2021-01-21 11:30:29 -08:00
Michael Shamoon 9ac19417e7 Prevent download when alt-click tags 2021-01-21 11:11:25 -08:00
Michael Shamoon 795dbc16d2 Prevent exclude click in editing (bulk editor) mode 2021-01-21 11:09:59 -08:00
Michael Shamoon 29a7737829 Support excluding tags 2021-01-21 10:59:53 -08:00
Jonas Winkler 10b53bdfd0 Update README.md 2021-01-21 13:49:12 +01:00
jonaswinkler aeb10d3407 fixes duplicate documents with tags__id__in 2021-01-21 12:07:50 +01:00
Michael Shamoon 3e0c3c0bb2 refactor 2021-01-20 19:44:50 -08:00
Michael Shamoon cde867c9c6 Clicking card tag/dt/corresp should always add that item, never remove it 2021-01-20 19:40:40 -08:00
Michael Shamoon ff8eb7fbce Remove unused interface 2021-01-20 19:36:47 -08:00
Michael Shamoon 3766d8687f Disable any/all toggle when not needed 2021-01-20 19:33:54 -08:00
Michael Shamoon 8f08201633 Fix resetting any vs all 2021-01-20 18:38:49 -08:00
Michael Shamoon 893dcd9f28 Update API filters for "any" tag_id 2021-01-20 18:35:03 -08:00
Michael Shamoon 79059b9aa7 changed event for toggling operator 2021-01-20 16:21:12 -08:00
jonaswinkler ddf386c4d4 add temporary directory during startup and ensure correct permissions 2021-01-21 01:02:41 +01:00
Michael Shamoon 861b2efb1d Add support for 'any' ('OR') of tags when filtering 2021-01-20 15:21:41 -08:00
jonaswinkler 9575b0fe32 fixes #397 2021-01-20 20:28:42 +01:00
jonaswinkler 6c7290bd34 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-20 15:25:33 +01:00
Jonas Winkler 19032fe433 Merge pull request #396 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de' [manual sync]
2021-01-20 14:46:46 +01:00
Jonas Winkler 8fce8d4677 Merge pull request #395 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr' [manual sync]
2021-01-20 14:45:53 +01:00
Jonas Winkler 2333ea9dc7 Merge pull request #394 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL' [manual sync]
2021-01-20 14:45:31 +01:00
transifex-integration[bot] 937cdaccad Translate /src-ui/messages.xlf in de
at least 99% translated for the source file '/src-ui/messages.xlf'
on the 'de' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-01-20 13:44:37 +00:00
transifex-integration[bot] 54916fec2e Translate /src-ui/messages.xlf in fr
at least 99% translated for the source file '/src-ui/messages.xlf'
on the 'fr' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-01-20 13:44:31 +00:00
transifex-integration[bot] 03e159f67c Translate /src-ui/messages.xlf in nl_NL
at least 99% translated for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-01-20 13:44:24 +00:00
jonaswinkler 482ef6313d changelog 2021-01-20 14:35:38 +01:00
jonaswinkler 43685baff3 fix tag clicking on document table list 2021-01-20 14:29:30 +01:00
jonaswinkler f6a2cc74e8 clicking on small and large cards changed 2021-01-20 14:25:52 +01:00
jonaswinkler 9f1436a865 more test 2021-01-20 12:34:01 +01:00
jonaswinkler 020df6c8ea Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-20 11:56:27 +01:00
jonaswinkler 08046cb83f revert changes for #351 2021-01-20 11:56:09 +01:00
Jonas Winkler f06edebbd8 Update Crowdin configuration file 2021-01-20 11:39:20 +01:00
Jonas Winkler c808011b75 Update Crowdin configuration file 2021-01-20 11:37:32 +01:00
jonaswinkler da60fc8150 Merge branch 'master' into dev 2021-01-19 16:55:18 +01:00
Jonas Winkler 04a0d01b21 Merge pull request #367 from C0nsultant/ansible-verifyupdates
Ansible - Verify that updates between versions work
2021-01-19 16:53:49 +01:00
Jonas Winkler 02a066f8f3 Update README.md 2021-01-19 16:43:12 +01:00
jonaswinkler 7834d369c6 txt preview #338 2021-01-19 16:23:49 +01:00
jonaswinkler 5e841531be more test 2021-01-19 16:14:28 +01:00
jonaswinkler 5355f2b027 fixes #351 2021-01-19 14:43:55 +01:00
jonaswinkler e1533202fc Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-19 14:01:16 +01:00
jonaswinkler 0b949a14c0 add filtering to management pages #356 2021-01-19 14:00:15 +01:00
Jonas Winkler 5175206179 Merge pull request #384 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-01-19 00:30:04 +01:00
transifex-integration[bot] 0af0dffeda Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-01-18 23:28:17 +00:00
Fabian Koller 74a1b36005 Update administration docs with ansible update 2021-01-18 23:19:16 +01:00
Fabian Koller 8884a4dfdf molecule scenario to test upgrading from releases
Provide a separate scenario to install the last release, then update to
the current one.
Also includes improved deployment verification (check if uploading a
.txt through the API works).
2021-01-18 22:51:40 +01:00
Fabian Koller 19f73f5782 Make update ansible role paths explicit 2021-01-18 22:51:40 +01:00
Fabian Koller 8e95310602 Fix ENV var name for user args in documentation
Follow-up to #214
2021-01-18 22:51:40 +01:00
Jonas Winkler fe31b8d160 Merge pull request #382 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-18 22:32:01 +01:00
Jonas Winkler 6515d1ae85 Merge pull request #383 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-01-18 22:31:49 +01:00
transifex-integration[bot] a8ec9f29cd Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-01-18 21:31:31 +00:00
transifex-integration[bot] bab53838ec Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-18 21:30:59 +00:00
jonaswinkler bf2e98527c updated messages 2021-01-18 22:30:06 +01:00
jonaswinkler e1e11de2b5 mail tests 2021-01-18 22:23:53 +01:00
jonaswinkler 4fda8f3348 changelog 2021-01-18 22:23:19 +01:00
jonaswinkler 8427d58337 Merge branch 'master' into dev 2021-01-18 15:44:26 +01:00
jonaswinkler 385076cf28 documentation and changelog 2021-01-18 15:43:48 +01:00
jonaswinkler b9725437d9 delete option for exporter, short options, tests 2021-01-18 15:33:05 +01:00
jonaswinkler 72616def4f locking for the document archiver 2021-01-18 15:18:03 +01:00
jonaswinkler 6c972bd08a more tests 2021-01-18 14:47:19 +01:00
jonaswinkler a71a991084 fix some test cases due to renamed test files 2021-01-18 14:20:45 +01:00
jonaswinkler 0927f9d477 some bug fixes and tests 2021-01-18 14:16:32 +01:00
jonaswinkler a68b858733 new exporter that updates the export in place, fixes #376 #343 #166 2021-01-18 01:15:39 +01:00
jonaswinkler 08199f09b6 fixes for #374 2021-01-17 12:14:19 +01:00
Jonas Winkler 5f8151282b Merge pull request #374 from shamoon/fix/issue-325-2
Allow "live" visualizing of date locale in settings
2021-01-17 12:10:28 +01:00
Jonas Winkler efde4828d6 Merge pull request #375 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-01-17 11:11:38 +01:00
transifex-integration[bot] 016c168404 Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-01-17 09:04:39 +00:00
Michael Shamoon 741ccfa280 Fix svg attribute error
Unrelated to the rest of this branch but not worth a separate PR
2021-01-16 21:39:13 -08:00
Michael Shamoon 31b74515b6 Allow "live" changing of date format 2021-01-16 20:49:12 -08:00
Jonas Winkler b9a2f82ce0 Merge pull request #370 from shamoon/fix/issue-350
Prevent close button in modal dialogs 'stealing' focus
2021-01-17 01:32:21 +01:00
jonaswinkler 3c59d9b787 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-17 00:53:32 +01:00
jonaswinkler f919ec0d57 version bump 2021-01-17 00:52:54 +01:00
Jonas Winkler 9c380f5aac Merge pull request #371 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-17 00:30:08 +01:00
transifex-integration[bot] fc5def157d Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-16 23:28:01 +00:00
jonaswinkler d5eff386db update translation messages 2021-01-17 00:25:40 +01:00
jonaswinkler 864e421cd3 add configuration option for changing date display in paperless #325 2021-01-17 00:15:45 +01:00
Michael Shamoon 2c9825193b Comment typo 2021-01-16 14:14:05 -08:00
Michael Shamoon 98f3e99e2e Prevent close button 'stealing' focus from modal input fields 2021-01-16 14:09:23 -08:00
Jonas Winkler 961354aa8a Merge pull request #362 from shamoon/fix/issue-347
Allow shift-select in documents list
2021-01-16 20:58:34 +01:00
Jonas Winkler fa27c895ed Merge pull request #355 from C0nsultant/ansible-documentation
Ansible - Provide documentation
2021-01-16 14:30:07 +01:00
Michael Shamoon c31b6e63f5 Prevent text selection on table rows 2021-01-15 16:13:22 -08:00
Michael Shamoon ef924e896b Fix reverting old selection in all cases by always doing it 2021-01-15 07:57:01 -08:00
Jonas Winkler 5b1619cba3 Merge pull request #364 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-01-15 13:49:47 +01:00
transifex-integration[bot] a3a9949ebc Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-01-15 12:42:26 +00:00
Jonas Winkler ada8493838 Merge pull request #363 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-15 12:53:53 +01:00
transifex-integration[bot] cc06d528cb Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-15 11:52:06 +00:00
jonaswinkler 0926266663 add a language switcher fixes #352 2021-01-15 12:50:34 +01:00
Michael Shamoon 59008ea765 remove new line =/ 2021-01-15 02:22:10 -08:00
Michael Shamoon 01cd4c7546 Refactor variable names for clarity 2021-01-15 02:15:26 -08:00
Michael Shamoon 8d606b9f34 Handle shift-clicking orignal item 2021-01-15 02:13:21 -08:00
Michael Shamoon 86376c8c5f Fix repeat range selections were clashing 2021-01-15 02:09:13 -08:00
Michael Shamoon 48220ceeb8 Refactor selection functions to two separate ones for clarity 2021-01-15 01:59:29 -08:00
Michael Shamoon f94da1cf27 Allow reversing selection range 2021-01-15 01:54:33 -08:00
Michael Shamoon 6d786f8987 remove log statement 2021-01-15 01:11:06 -08:00
Fabian Koller 8d433ac0de Update setup docs with ansible instructions 2021-01-15 10:10:36 +01:00
Michael Shamoon 4b42c97d0a Allow select anywhere in tr or card 2021-01-15 01:10:01 -08:00
Jonas Winkler d8637ff4b1 Merge pull request #349 from C0nsultant/patch-4
Fix ENV var name for user args in documentation
2021-01-14 23:31:16 +01:00
Jonas Winkler 342e9c9734 Merge pull request #353 from C0nsultant/ansible-0.9.14
Ansible - Update to 0.9.14
2021-01-14 23:30:57 +01:00
Jonas Winkler af1d084391 Merge pull request #354 from C0nsultant/patch-5
Only provide legal cors allowed hosts in example
2021-01-14 23:30:29 +01:00
Michael Shamoon e6961d5287 Allow range selection with shift 2021-01-14 14:10:23 -08:00
jonaswinkler 7562bdb218 update the CI/CD scripts to not build and push docker images from master, update 'latest' version together with tagged releases. 2021-01-14 22:51:27 +01:00
Fabian Koller cb94e15ba7 Update ansible README.md 2021-01-14 21:50:07 +01:00
Fabian Koller c8b0674b93 Update to 0.9.14 2021-01-14 21:23:44 +01:00
Fabian Koller 4fa1779ef3 Only provide legal cors allowed hosts in example
Addresses that do not carry a scheme cause errors on database migration.


SystemCheckError: System check identified some issues:

ERRORS:
?: (corsheaders.E013) Origin 'example.com' in CORS_ALLOWED_ORIGINS is missing scheme or netloc
    HINT: Add a scheme (e.g. https://) or netloc (e.g. example.com).
2021-01-14 21:14:46 +01:00
Fabian Koller db23a5cf37 Fix ENV var name for user args in documentation
Follow-up to #214
2021-01-14 20:21:34 +01:00
Michael Shamoon 7cc3c73994 Convert selection functions on cards to toggling, let service handle setting selected
Also because we need to capture mouseevents
2021-01-14 10:56:30 -08:00
jonaswinkler 014859185c fix up CI/CD: build docker image on tags, correct docker image version, correct release tag 2021-01-14 17:24:36 +01:00
jonaswinkler 6dae900d74 I hope this works! 2021-01-14 16:09:44 +01:00
jonaswinkler a4187b2b70 fix a test case 2021-01-14 14:54:04 +01:00
jonaswinkler 556e4f7430 update readme 2021-01-14 14:38:08 +01:00
Jonas Winkler 02c2d388ed Merge pull request #340 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-14 14:36:19 +01:00
transifex-integration[bot] c0692f03a3 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-14 13:33:42 +00:00
jonaswinkler a2342d98d3 fix release CI 2021-01-14 14:08:48 +01:00
jonaswinkler 24c20e38ff changelog 2021-01-14 14:04:09 +01:00
jonaswinkler cd12c1b300 dependencies 2021-01-14 13:36:45 +01:00
jonaswinkler a008dff368 configuration option for type of PDF viewer fixes #337 2021-01-14 13:35:43 +01:00
jonaswinkler 769356733a update docker compose files and documentation #339 2021-01-14 12:59:39 +01:00
jonaswinkler f5be2ac4bb a couple changes to the documentation 2021-01-14 02:09:06 +01:00
jonaswinkler 2824fcb497 changelog 2021-01-14 02:08:26 +01:00
jonaswinkler 2f42eab217 move compose files 2021-01-14 01:56:10 +01:00
jonaswinkler 338324d5b6 Merge remote-tracking branch 'origin/master' into dev 2021-01-14 01:05:29 +01:00
jonaswinkler 0628d10076 background color for dark mode logs 2021-01-14 00:47:54 +01:00
jonaswinkler bc4017d54a inconsistent shadows 2021-01-13 20:09:37 +01:00
jonaswinkler 96dc7583bf add missing dependency back into the Dockerfile. 2021-01-13 19:58:32 +01:00
jonaswinkler deb9698ff6 added some messages to the docker startup script 2021-01-13 19:58:09 +01:00
jonaswinkler 654c7fd2ac release: updated body 2021-01-13 19:56:23 +01:00
jonaswinkler 24e34e95cd changelog 2021-01-13 17:33:32 +01:00
jonaswinkler d093c004fb fixes #161 2021-01-13 17:17:23 +01:00
jonaswinkler ceb9426fd4 changelog 2021-01-13 16:21:54 +01:00
jonaswinkler e4f2016678 DEBUG logging 2021-01-13 13:35:05 +01:00
jonaswinkler 40842689fd Better deal with non-existing documents when searching 2021-01-13 13:34:52 +01:00
jonaswinkler 59f955e08b adjusted the default configuration so that at least one cpu core remains free (except on single core machines) #332 2021-01-13 00:02:20 +01:00
Jonas Winkler 91e6503503 Update README.md 2021-01-12 22:12:07 +01:00
jonaswinkler c7c98c623d try building without libatlas 2021-01-12 21:26:39 +01:00
jonaswinkler 80aa847457 always execute all tests even if tests for one python version fail 2021-01-12 20:25:58 +01:00
jonaswinkler f1c981338c reorganize test CI, only upload coveralls once 2021-01-12 20:23:50 +01:00
jonaswinkler d4225a459e fix CI for new coveralls version 2021-01-12 20:05:26 +01:00
jonaswinkler 75ae37d90f update dependencies (sklearn 0.24 has aarch64 wheels!) 2021-01-12 19:48:59 +01:00
jonaswinkler 2159115679 scanners 2021-01-12 18:02:29 +01:00
Hannah Swain 0384de9a3c Update scanners list to include mobile options
(cherry picked from commit cb30fb56db445ad196eaf0dbd5ba661605f58930)
2021-01-12 17:36:38 +01:00
jonaswinkler ae2e1fc381 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-12 17:32:22 +01:00
jonaswinkler d45993c905 remove unused code 2021-01-12 17:00:53 +01:00
Jonas Winkler 4e6c7b01b6 Update README.md 2021-01-12 14:29:32 +01:00
jonaswinkler 775ce56d2e Merge branch 'master' into dev 2021-01-12 14:14:06 +01:00
Jonas Winkler d41c466f6e Merge pull request #171 from C0nsultant/ansible-role
Provide an ansible role for deployment and configuration
2021-01-12 14:11:09 +01:00
jonaswinkler 387135ffa5 update dockerfile 2021-01-12 14:01:15 +01:00
jonaswinkler 64b176103e fixes #201 2021-01-12 13:51:44 +01:00
jonaswinkler 7f88c7d70c update docker-compose.env 2021-01-12 13:51:29 +01:00
jonaswinkler 1a89ad95e0 changelog 2021-01-12 13:08:30 +01:00
jonaswinkler 376f991db5 remove travis branch condition 2021-01-12 13:06:21 +01:00
jonaswinkler 623893b528 fixes #331 2021-01-12 13:05:49 +01:00
jonaswinkler 890f6f35b5 fixes #330 2021-01-12 12:27:58 +01:00
jonaswinkler ab4af350dd changelog 2021-01-12 12:25:50 +01:00
Jonas Winkler 95bfc4be9a Merge pull request #329 from shamoon/fix/mobile-button-group-improvements
Mobile button group improvements
2021-01-12 11:55:12 +01:00
Michael Shamoon 95d9c8fa2b Merge remote-tracking branch 'upstream/dev' into fix/mobile-button-group-improvements 2021-01-11 16:16:12 -08:00
Michael Shamoon 83dd5f51cd Move 'Filter by:' inline with title field, icon stuff 2021-01-11 16:15:55 -08:00
jonaswinkler 5d1dddfac8 unless-stopped in local dockerfiles 2021-01-12 00:40:49 +01:00
jonaswinkler 50ba88231f documentation 2021-01-12 00:29:05 +01:00
jonaswinkler 221cf12184 only restart docker unless stopped 2021-01-12 00:21:05 +01:00
jonaswinkler 681b769a71 copy files into place 2021-01-12 00:15:20 +01:00
Michael Shamoon 27517c15ca Make bulk editor a little more compact 2021-01-11 15:01:40 -08:00
Michael Shamoon 56f566e13a select icon hidden on larger screens 2021-01-11 14:54:48 -08:00
Michael Shamoon 6131a40c31 Fix right menus getting cut off 2021-01-11 14:53:16 -08:00
jonaswinkler 040e652e6a remove obsolete steps from the documentation 2021-01-11 23:07:47 +01:00
jonaswinkler caf0e1d15b Merge branch 'dev' into travis-multiarch-builds 2021-01-11 22:11:34 +01:00
jonaswinkler 9dd8b7cd88 fix test case 2021-01-11 22:11:01 +01:00
Michael Shamoon 8702a739b0 Change dark mode dropdown menu color for visibility 2021-01-11 12:58:59 -08:00
jonaswinkler 8104851c08 Merge branch 'dev' into travis-multiarch-builds 2021-01-11 21:57:28 +01:00
jonaswinkler 0e03c48beb pin pillow dependency 2021-01-11 21:56:50 +01:00
jonaswinkler 3fbf24a1c2 don't use dependencies from testing 2021-01-11 21:55:06 +01:00
Michael Shamoon 64a966c9a5 Fill document list buttons, show select icon because its not obvious, make some menus right 2021-01-11 12:52:42 -08:00
Michael Shamoon 18a128b917 On second thought lets make filter editor buttons fill 2021-01-11 12:22:35 -08:00
Michael Shamoon cfd263da90 Hide page count on mobile since document is out of view anyway 2021-01-11 11:49:27 -08:00
Michael Shamoon 0f4a7f0a04 Combine sort & sort order fields to better accomodate mobile, button bar full width 2021-01-11 11:46:40 -08:00
Michael Shamoon ae5dd62105 Hide button text in favor of icons on mobile like filter editor does 2021-01-11 11:46:07 -08:00
Michael Shamoon b73ff095e6 Distribute filter editor buttons equally to full width on mobile 2021-01-11 11:45:23 -08:00
jonaswinkler 4503be110a try building this with updated dependencies 2021-01-11 17:13:56 +01:00
jonaswinkler 7fef27e6de fixes #305 2021-01-11 16:16:39 +01:00
jonaswinkler d8eabd66ea lost some changes in a merge 2021-01-11 16:05:29 +01:00
jonaswinkler a62e5f32b8 Merge branch 'master' into dev 2021-01-11 16:02:25 +01:00
Jonas Winkler 24fe5bb838 Merge pull request #323 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'de'
2021-01-11 16:00:00 +01:00
transifex-integration[bot] 5217acc471 Apply translations in de
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'de' language.
2021-01-11 14:59:29 +00:00
jonaswinkler f96d97a637 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-11 15:38:57 +01:00
jonaswinkler de38f46a53 fixes #307 2021-01-11 15:38:45 +01:00
jonaswinkler 8f94607409 a couple fixes to the ci script 2021-01-11 13:19:29 +01:00
Jonas Winkler 88ee3694f7 Merge pull request #320 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_fr
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'fr'
2021-01-11 12:02:20 +01:00
transifex-integration[bot] 584307dc54 Apply translations in fr
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'fr' language.
2021-01-11 09:12:58 +00:00
Jonas Winkler 62fd32afbc Merge pull request #318 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_nl_NL
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'nl_NL'
2021-01-11 02:20:51 +01:00
transifex-integration[bot] bfcfcde71a Apply translations in nl_NL
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'nl_NL' language.
2021-01-10 23:51:27 +00:00
jonaswinkler 6ce0945aeb enable multiarch builds, release only with ng- tags 2021-01-11 00:08:56 +01:00
jonaswinkler f701479d77 fix upload-release-asset path 2021-01-10 23:57:20 +01:00
jonaswinkler 4e93d92e46 Merge branch 'dev' into travis-multiarch-builds 2021-01-10 23:46:31 +01:00
jonaswinkler ebcdcc6a1e github.ref instead of GITHUB_REF 2021-01-10 23:46:19 +01:00
jonaswinkler b5cd713e16 maybe this 2021-01-10 23:43:59 +01:00
jonaswinkler 0adb8cea91 I have no idea what I am doing 2021-01-10 23:17:53 +01:00
jonaswinkler bce79189e5 maybe this is better? 2021-01-10 23:09:09 +01:00
jonaswinkler 8927e0185b maybe this is better? 2021-01-10 22:57:56 +01:00
jonaswinkler df95fad9be update release name 2021-01-10 22:56:10 +01:00
jonaswinkler e96809a08e translation for login/logout pages #212 2021-01-10 22:47:24 +01:00
jonaswinkler 7ebc1351fe updated documentation #316 2021-01-10 22:40:13 +01:00
jonaswinkler ee31249d65 reorganized the Dockerfile 2021-01-10 22:28:46 +01:00
jonaswinkler a9d6e7f402 add a publish release step 2021-01-10 22:22:23 +01:00
jonaswinkler 296be9135a Merge branch 'dev' into travis-multiarch-builds 2021-01-10 21:55:05 +01:00
jonaswinkler f24640dec2 some small fixes 2021-01-10 21:53:18 +01:00
jonaswinkler 64d6e6eded wrong path to release 2021-01-10 21:35:43 +01:00
jonaswinkler 587cd80055 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-10 21:28:54 +01:00
jonaswinkler 527b7bee3f forgot a dependency 2021-01-10 21:27:41 +01:00
jonaswinkler e1f52d706f fix wrong directory 2021-01-10 21:20:55 +01:00
jonaswinkler 2e2e69f07c more release archive 2021-01-10 21:17:01 +01:00
jonaswinkler 6a3e4f0857 add release archive action 2021-01-10 21:03:50 +01:00
jonaswinkler ff3bdd7f5a fix script name 2021-01-10 20:00:11 +01:00
jonaswinkler 1e185d1502 don't build front end with docker 2021-01-10 19:59:05 +01:00
jonaswinkler 8f9aab407d Merge branch 'dev' into travis-multiarch-builds 2021-01-10 19:27:10 +01:00
jonaswinkler 4cf0ce1b06 version push 2021-01-10 19:26:38 +01:00
jonaswinkler 8430aa75da enable the other architectures 2021-01-10 17:46:43 +01:00
Jonas Winkler f5a47de1d6 Merge pull request #315 from shamoon/fix/issue-314
Fix log colors in dark mode
2021-01-10 17:45:13 +01:00
Michael Shamoon 1fe322bbac Fix log colors in dark mode 2021-01-10 08:36:20 -08:00
jonaswinkler f6da608154 disable tests until this is working 2021-01-10 17:19:00 +01:00
jonaswinkler 22fc16f4a3 revert to python:3.7-slim base image since ubuntu:20.04 is clearly not working for arm 2021-01-10 17:18:35 +01:00
jonaswinkler def85a3d37 maybe use requirements instead? 2021-01-10 15:51:40 +01:00
Jonas Winkler f638079361 Merge pull request #306 from shamoon/fix/large-card-mobile-fixes
Fixes for large cards / search results on mobile
2021-01-10 12:21:51 +01:00
Jonas Winkler e87ab91d0e Merge pull request #310 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'de'
2021-01-10 12:21:13 +01:00
Jonas Winkler fb56602081 Merge pull request #311 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-01-10 12:20:57 +01:00
Jonas Winkler 2c1d9f2d7b Merge pull request #312 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-01-10 12:20:43 +01:00
Jonas Winkler 49385959b8 Merge pull request #308 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_nl_NL
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'nl_NL'
2021-01-10 12:19:32 +01:00
transifex-integration[bot] 3511c86abd Translate /src-ui/messages.xlf in fr
translated for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-01-10 11:19:21 +00:00
transifex-integration[bot] 9908580409 Translate /src-ui/messages.xlf in nl_NL
translated for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-01-10 11:19:16 +00:00
transifex-integration[bot] 5bad23d7be Apply translations in de
translated for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'de' language.
2021-01-10 11:19:10 +00:00
transifex-integration[bot] 8cde2cd4b2 Apply translations in nl_NL
translated for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'nl_NL' language.
2021-01-10 11:19:00 +00:00
jonaswinkler 74db555f78 fix cryphtography for armv7 2021-01-10 11:39:30 +01:00
jonaswinkler a1a415a5d1 fix up pipfile for arm/v7 2021-01-10 11:26:14 +01:00
Michael Shamoon 49053b6ad2 Prevent long title overflow on mobile 2021-01-09 19:53:18 -08:00
Michael Shamoon fbfdd95958 Fix large card layout on mobile 2021-01-09 19:52:31 -08:00
jonaswinkler 2c065da987 fixes #292 2021-01-10 01:59:47 +01:00
jonaswinkler 6c7281ae88 add sslmode configuration option fixes #298 2021-01-10 01:35:56 +01:00
jonaswinkler 4bb0da397a dependencies 2021-01-10 00:58:14 +01:00
jonaswinkler 6a355b8dff install pipenv 2021-01-10 00:54:48 +01:00
jonaswinkler aa1fb63714 documentation action 2021-01-10 00:53:30 +01:00
jonaswinkler c9ce69c1c1 documentation action 2021-01-10 00:50:06 +01:00
jonaswinkler 06ee41226d no need to run commands in pipenv when using --system 2021-01-10 00:41:11 +01:00
jonaswinkler bf634eee66 fix python action 2021-01-10 00:32:47 +01:00
jonaswinkler e606ae5097 try new python setup action 2021-01-10 00:28:33 +01:00
jonaswinkler ecc40d022d test updated Pipfile 2021-01-10 00:09:10 +01:00
jonaswinkler 262e8ee999 add arm64 2021-01-09 22:53:45 +01:00
jonaswinkler 141315cf42 Revert "try separate build / push"
This reverts commit 6fa0d00b
2021-01-09 22:38:05 +01:00
jonaswinkler 6fa0d00b8f try separate build / push 2021-01-09 22:33:07 +01:00
jonaswinkler 47339c84b3 test include this branch 2021-01-09 22:03:38 +01:00
jonaswinkler 692a5081c7 rename workflow 2021-01-09 21:55:03 +01:00
jonaswinkler 28c3f8d614 fix condition 2021-01-09 21:53:13 +01:00
jonaswinkler fb5d35e43e fix condition 2021-01-09 21:50:53 +01:00
jonaswinkler a4bff61e5b move everything into a single file so that the docker image build can depend on the tests being successful 2021-01-09 21:49:43 +01:00
jonaswinkler 2c4bbf8a00 use correct version of cache action 2021-01-09 21:23:04 +01:00
jonaswinkler d2ec38d5fd use correct version 2021-01-09 21:21:50 +01:00
jonaswinkler 517e037724 always update cache 2021-01-09 20:51:46 +01:00
jonaswinkler 0051d9f76e undo removing a required library 2021-01-09 20:29:29 +01:00
jonaswinkler c0915a3dee add arm 2021-01-09 20:06:53 +01:00
jonaswinkler 4363d4c9ed simplify some things 2021-01-09 19:50:11 +01:00
jonaswinkler d7095f7ee1 tags? 2021-01-09 19:31:41 +01:00
Jonas Winkler ebc5f1a01d Update docker.yml 2021-01-09 19:10:09 +01:00
Jonas Winkler d6ad41ab3a Update docker.yml 2021-01-09 19:06:00 +01:00
Jonas Winkler 9c2e55407f Update docker.yml 2021-01-09 19:02:07 +01:00
jonaswinkler 7c70659212 disable some steps 2021-01-09 18:49:21 +01:00
jonaswinkler 5822273c8d duplicate platform specification 2021-01-09 18:33:58 +01:00
jonaswinkler 001cd83ef8 new buildx setup action 2021-01-09 18:25:56 +01:00
jonaswinkler b48c290e9c arm 2021-01-09 18:02:36 +01:00
jonaswinkler 327f00e312 now with cache? 2021-01-09 17:54:56 +01:00
jonaswinkler b1ae8d1332 enable docker builds on this branch 2021-01-09 15:11:58 +01:00
jonaswinkler 38cb8201a1 Merge branch 'travis-multiarch-builds' of https://github.com/MarkSchmitt/paperless into travis-multiarch-builds 2021-01-09 14:59:41 +01:00
jonaswinkler e3478edeeb Merge branch 'dev' into travis-multiarch-builds 2021-01-09 14:48:51 +01:00
Fabian Koller 69f1931f4f Update to 0.9.13 2021-01-09 11:52:39 +01:00
Jonas Winkler 6eb8908a16 Merge pull request #303 from C0nsultant/patch-4
Add gettext to  Bare Metal Route dependencies
2021-01-09 11:45:29 +01:00
Fabian Koller 88dcd889fa Add gettext to Bare Metal Route dependencies
In theory, this package is optional since not everybody wants to compile translations.
Without other changes to step 5. (i.e. making it explicit that `python3 manage.py compilemessages` is not mandatory), not installing `gettext` results in an error when blindly copy-pasting the steps.
2021-01-09 11:27:35 +01:00
Fabian Koller 9cd6235947 Disable ansible-galaxy import
Repository structure not compatible (galaxy expects the role to be at
the root of the repository, not in a subfolder).
2021-01-09 10:46:38 +01:00
Jonas Winkler bcb2853150 Merge pull request #302 from shamoon/fix/large-card-dark-mode-buttons
Fix dark mode button display on large cards in certain browsers
2021-01-09 10:13:21 +01:00
Mark Schmitt ad241f12a3 Run tests, documentation and frontend build also on pull_request 2021-01-09 08:06:55 +01:00
Michael Shamoon b29627c92b Fix dark mode button display on large cards in certain browsers 2021-01-08 22:09:15 -08:00
jonaswinkler 8518d583d9 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-09 01:55:05 +01:00
jonaswinkler 81dee38e4a fixes #300 2021-01-09 01:54:51 +01:00
Jonas Winkler fa6cc9692e Merge pull request #297 from shamoon/fix/issue-293
Fix logo size issues in certain browsers
2021-01-08 21:15:07 +01:00
Jonas Winkler c3a92d659e Merge pull request #296 from jonaswinkler/revert-295-fix/issue-293
Revert "Fix logo size issues in certain browsers"
2021-01-08 20:59:51 +01:00
Jonas Winkler ffed65533b Revert "Fix logo size issues in certain browsers" 2021-01-08 20:59:40 +01:00
Jonas Winkler 5a393569f0 Merge pull request #295 from shamoon/fix/issue-293
Fix logo size issues in certain browsers
2021-01-08 20:59:17 +01:00
Michael Shamoon 6cf20a93d0 Set explicit svg height, hide on mobile 2021-01-08 11:55:50 -08:00
Mark Schmitt a2b5fb8374 Fix name of documentation workflow 2021-01-08 20:42:17 +01:00
Mark Schmitt f4f9200fba Fix typo in yaml 2021-01-08 20:39:20 +01:00
Mark Schmitt 52640f08d2 github action improved tagging 2021-01-08 20:37:25 +01:00
Jonas Winkler bbb5783b4f Merge pull request #289 from shamoon/fix/safari-flex-transition
Miscellaneous CSS fixes
2021-01-08 18:56:37 +01:00
Michael Shamoon cde937a9eb Fix dark theme highlighting of ng-select dropdowns on keyboard navigation 2021-01-08 09:37:25 -08:00
Michael Shamoon a4ee4e9b17 Prevent dashboard overflow on mobile 2021-01-08 09:33:45 -08:00
jonaswinkler 34a06435cf changelog and version 2021-01-08 13:39:12 +01:00
jonaswinkler fad6e7284a fixes #290 2021-01-08 13:27:57 +01:00
Mark Schmitt 29f73b2dbb Give the frontend workflow a name 2021-01-08 11:34:04 +01:00
Mark Schmitt 968725f09f Separate github action into separete workflow files 2021-01-08 11:33:08 +01:00
Mark Schmitt 42064df3e0 Testing excluding docker builds if not specific ref is selected 2021-01-08 11:23:17 +01:00
Michael Shamoon c980a52244 Fix transition for Safari 2021-01-07 19:23:59 -08:00
jonaswinkler ed5c50db7d Merge branch 'master' into dev 2021-01-08 02:16:59 +01:00
jonaswinkler b463428a40 tika documentation 2021-01-08 02:15:42 +01:00
jonaswinkler 38f279fd2a update installation instructions 2021-01-07 21:16:16 +01:00
Jonas Winkler d3ab4d2f11 Update README.md 2021-01-07 19:33:27 +01:00
jonaswinkler 1170827f3d update docker ignore 2021-01-07 18:42:46 +01:00
jonaswinkler 838631b057 Merge branch 'dev' into travis-multiarch-builds 2021-01-07 17:41:44 +01:00
jonaswinkler 0a469cfdd1 test case for localized index view 2021-01-07 16:58:38 +01:00
jonaswinkler fc82121604 update tests, remove dead code 2021-01-07 15:20:00 +01:00
Jonas Winkler 25444034ab Update README.md 2021-01-07 15:04:15 +01:00
Jonas Winkler eec1dbe0a0 Merge pull request #286 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-01-07 10:53:24 +01:00
Jonas Winkler 47e8bdb752 Merge pull request #287 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_nl_NL
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'nl_NL'
2021-01-07 10:52:48 +01:00
transifex-integration[bot] 75fc373b51 Apply translations in nl_NL
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'nl_NL' language.
2021-01-07 09:32:19 +00:00
transifex-integration[bot] 8a397034fd Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-01-07 09:04:51 +00:00
Mark Schmitt 89476e4479 Try to use pip cache and install dependnecies like in tests 2021-01-07 09:02:29 +01:00
Mark Schmitt 1b61765df8 Install pip 2021-01-07 08:56:48 +01:00
Mark Schmitt 40da245d8d Try to insall sphinx from pipfile 2021-01-07 08:50:04 +01:00
Mark Schmitt 1238d8b994 Add pip cache
Try to be a good citizen and use caches instead of hitting the repos all the time
2021-01-07 08:44:05 +01:00
Mark Schmitt 460d202eb0 Use pip to install sphinx
Not sure why pipenv install doesn't do the trick .. let's try this way first
2021-01-07 08:37:25 +01:00
Mark Schmitt 248e4e5eb9 Try installing sphinx simply with apt 2021-01-07 07:57:12 +01:00
Mark Schmitt 08299fb808 Simplify node build 2021-01-07 07:48:32 +01:00
Mark Schmitt c06f6145a1 ALso install python before using pip in the documentation job 2021-01-07 07:47:42 +01:00
Mark Schmitt 6101f42ae3 ADd documentation and frontend to dependency for docker build 2021-01-07 07:45:17 +01:00
Mark Schmitt 9ffd9027fa Add missing runs-on 2021-01-07 07:44:36 +01:00
Mark Schmitt 10995788d1 Fix identation 2021-01-07 07:43:45 +01:00
Mark Schmitt 98bc51a3ec Adding documentation and frontend steps from travis build 2021-01-07 07:42:25 +01:00
Mark Schmitt cc9f9b6e8b Docker build step depends on tests 2021-01-07 07:32:43 +01:00
jonaswinkler 7f0f48ddac bugfixes 2021-01-07 01:01:01 +01:00
jonaswinkler e92046a265 bugfix 2021-01-07 00:21:47 +01:00
jonaswinkler fe00dffb70 version push 2021-01-07 00:10:14 +01:00
jonaswinkler a02ddeb722 fix release script 2021-01-07 00:08:42 +01:00
jonaswinkler 9b3bc62132 fix broken webmanifest 2021-01-07 00:08:34 +01:00
Mark Schmitt d7b3e7bd69 Use 3.8.6 2021-01-06 23:11:54 +01:00
Jonas Winkler d3fda57b6d Merge pull request #284 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_fr
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'fr'
2021-01-06 23:10:06 +01:00
Mark Schmitt 257ebb88f0 Looks like we need to specify the exact version 2021-01-06 23:10:06 +01:00
Mark Schmitt 9257cdac8f Remove debugging line and specify release versions 2021-01-06 23:06:40 +01:00
transifex-integration[bot] 19fddc8da8 Apply translations in fr
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'fr' language.
2021-01-06 22:04:46 +00:00
Mark Schmitt 44da3fd195 Fix yaml: indentation was wrong 2021-01-06 22:57:34 +01:00
Jonas Winkler e452c161ba Merge pull request #283 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-01-06 22:56:28 +01:00
Mark Schmitt c7c167a058 Update to a possibly working version of pyenv-action
According to https://github.com/gabrielfalcao/pyenv-action/issues/136 this
version should work
2021-01-06 22:55:41 +01:00
Mark Schmitt 6f3cdbc165 Quote command 2021-01-06 22:54:11 +01:00
Mark Schmitt 5b4a3e4288 Remove comment 2021-01-06 22:53:32 +01:00
transifex-integration[bot] e783494022 Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-01-06 21:53:12 +00:00
Mark Schmitt b7ff94900f Specify exact version 2021-01-06 22:52:40 +01:00
Mark Schmitt e761cc76fa List python versions differently so the pyenv action might light it better 2021-01-06 22:50:11 +01:00
Mark Schmitt 96da61f4e4 Trying to use pyenv action step 2021-01-06 22:48:03 +01:00
jonaswinkler ca3d62f377 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-06 22:35:23 +01:00
Jonas Winkler 0584ceb157 Merge pull request #280 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-06 21:11:02 +01:00
Jonas Winkler 633b0dd928 Merge pull request #281 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'de'
2021-01-06 21:10:44 +01:00
jonaswinkler cad2f77490 update dependencies 2021-01-06 21:09:28 +01:00
transifex-integration[bot] a40448a350 Apply translations in de
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'de' language.
2021-01-06 20:04:15 +00:00
transifex-integration[bot] 01df596dc7 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-06 19:58:38 +00:00
jonaswinkler 176b0416cd last translation updates before the next version. 2021-01-06 20:51:56 +01:00
jonaswinkler b0449d59da changelog 2021-01-06 20:44:06 +01:00
Jonas Winkler 804222d68a Merge pull request #270 from shamoon/fix/issue-267
Allow 'reset' filters on saved views
2021-01-06 20:39:32 +01:00
Michael Shamoon 858bca0f7d More efficient rule equivalency checking 2021-01-06 11:12:43 -08:00
Michael Shamoon ac459b84c6 Same thing, wait for promise to return =/ 2021-01-06 11:12:13 -08:00
Michael Shamoon 716005fbd2 restore function was lost in merge 2021-01-06 10:57:13 -08:00
Michael Shamoon 086dccc177 Move back list reload for network action 2021-01-06 07:59:46 -08:00
Michael Shamoon e13dbe4881 Move variable 2021-01-06 07:57:33 -08:00
Michael Shamoon 6a16bdf5fd Merge remote-tracking branch 'upstream/dev' into fix/issue-267 2021-01-06 07:55:19 -08:00
jonaswinkler f3b46f50bf move settings 2021-01-06 16:53:58 +01:00
Michael Shamoon 14a2ad2b0d Change detection of modified filter rules to wait for filter editor changes only 2021-01-06 07:53:48 -08:00
jonaswinkler fb539865e0 add ASN in brackets on small cards #268 2021-01-06 16:46:39 +01:00
jonaswinkler 7d92caccf0 dependency update 2021-01-06 16:46:18 +01:00
jonaswinkler 2e71eee7b4 downgrade OCRmyPDF until file handle issues are fixed 2021-01-06 16:46:01 +01:00
Michael Shamoon 507085ee7b Move list reload after network action completes 2021-01-06 07:30:53 -08:00
jonaswinkler 4690b273cc changelog 2021-01-06 14:33:35 +01:00
jonaswinkler 335bdb820f Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-06 14:27:59 +01:00
Jonas Winkler b17d9f850e Merge pull request #260 from shamoon/feature/remote-user
Feature: authentication via HTTP_REMOTE_USER
2021-01-06 14:27:14 +01:00
jonaswinkler 7f8ba75d90 update build scripts 2021-01-06 14:19:46 +01:00
jonaswinkler 842b951549 add settings menu item 2021-01-06 14:13:52 +01:00
jonaswinkler f373211281 tests for pre and post consume script 2021-01-06 14:08:44 +01:00
jonaswinkler c5500db9ef changelog 2021-01-06 14:08:05 +01:00
Mark Schmitt 729d2da764 Remove command - should be unnecessary 2021-01-06 10:22:24 +01:00
Mark Schmitt 2587d7fec8 Remove comment from yaml 2021-01-06 10:20:31 +01:00
Mark Schmitt a6c6f64453 Use another python action instead 2021-01-06 09:10:45 +01:00
Mark Schmitt b31bfeebd7 Try to make pip and pipenv use the installed python version 2021-01-06 09:05:14 +01:00
jonaswinkler e107d5df6f fixes #153, adds option for inline attachments and filename filters 2021-01-06 02:40:08 +01:00
jonaswinkler 6e84668884 fix login/logout pages 2021-01-06 01:16:16 +01:00
jonaswinkler 63d2dcc1f7 fix some translations 2021-01-05 23:36:31 +01:00
jonaswinkler 0ee6426eb5 fixes #278 2021-01-05 22:11:42 +01:00
jonaswinkler ac2cac6edc fix missing translation. 2021-01-05 14:57:56 +01:00
jonaswinkler 73682d22d6 test cases 2021-01-05 13:50:27 +01:00
Jonas Winkler bef80037da Merge pull request #277 from shamoon/fix/issue-276
Fix more dark mode inconsistencies
2021-01-05 12:33:36 +01:00
Michael Shamoon 056b9638ab Fix some inconsistent elements for dark mode 2021-01-04 19:31:18 -08:00
Jonas Winkler be94a8e49a Merge pull request #251 from jayme-github/ignore-date
Add option to ignore certain dates in parse_date
2021-01-05 00:19:13 +01:00
jonaswinkler d153672f0d some changes 2021-01-04 23:05:16 +01:00
jonaswinkler 9f9581e1f8 Merge branch 'dev' into feature-websockets-status 2021-01-04 22:45:56 +01:00
jonaswinkler 7587150f96 gitignore 2021-01-04 18:40:24 +01:00
jonaswinkler e97b06674c changelog 2021-01-04 18:40:09 +01:00
jonaswinkler e82700a826 update dependencies 2021-01-04 18:40:02 +01:00
jonaswinkler 05c16e1539 more changes for #118 2021-01-04 17:42:42 +01:00
jonaswinkler 50fa69aca4 clarify polling / inotify #118 2021-01-04 17:36:32 +01:00
jonaswinkler cb3001ac3b bugfix 2021-01-04 17:31:35 +01:00
jonaswinkler 9bbcb9319c fixes #128 2021-01-04 17:08:52 +01:00
jonaswinkler 32f371fcb6 better sorting directive 2021-01-04 15:58:26 +01:00
jonaswinkler 16559e83f5 bugfix 2021-01-04 15:58:04 +01:00
jonaswinkler 052c8c5372 fix sort field order 2021-01-04 15:57:52 +01:00
Mark Schmitt b0588321e0 Fix yaml 2021-01-04 15:45:12 +01:00
Mark Schmitt 574ab7d696 Add GITHUB_TOKEN to python tests 2021-01-04 15:44:02 +01:00
Mark Schmitt 336b908e8f Only build for 3.6 2021-01-04 15:28:47 +01:00
Mark Schmitt b41dd2780e Print the env 2021-01-04 15:19:00 +01:00
Mark Schmitt 7e99d7515f Try manually replacing the python-version 2021-01-04 15:17:13 +01:00
Mark Schmitt c9de592832 Try to reproduce exactly what's done in the travis build to test 2021-01-04 15:10:16 +01:00
Mark Schmitt 69ac7b9bcf Revert python version in Pipfile to 3.6 2021-01-04 15:00:35 +01:00
jonaswinkler 8268607a56 add french to paperless 2021-01-04 14:15:34 +01:00
jonaswinkler c33e9245bf Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-04 13:59:14 +01:00
Jonas Winkler 4d5166d568 Merge pull request #272 from jonaswinkler/translations_src-ui-messages-xlf--dev_fr
Translate '/src-ui/messages.xlf' in 'fr'
2021-01-04 12:44:00 +01:00
Jonas Winkler fdc8060071 Merge pull request #273 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_fr
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'fr'
2021-01-04 12:43:36 +01:00
transifex-integration[bot] e139ce77ee Apply translations in fr
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'fr' language.
2021-01-04 11:39:33 +00:00
transifex-integration[bot] ed6f2e40cf Translate /src-ui/messages.xlf in fr
translation completed for the source file '/src-ui/messages.xlf'
on the 'fr' language.
2021-01-04 11:36:18 +00:00
Mark Schmitt 05f57249d6 Only build python 3.7 and say so in the Pipfile too 2021-01-04 12:24:48 +01:00
Mark Schmitt e91befabc0 Revert job strategy matrix change 2021-01-04 12:22:35 +01:00
Mark Schmitt 2e641b0e30 Explicitly set ubuntu-20.04 as OS and install dev dependencies 2021-01-04 12:18:56 +01:00
Michael Shamoon 7e36986a26 Clearing filters on saved views should reset them to initial rules 2021-01-04 00:20:10 -08:00
Fabian Koller 586db3bc5e Deploy role to ansible galaxy
Happens only when a new tag is pushed
2021-01-04 06:42:34 +01:00
Fabian Koller 51fd19c315 Switch to github actions 2021-01-04 06:42:34 +01:00
Michael Shamoon 426ad30a52 Refactor to extend RemoteUserMiddleware & add authentication for Django 2021-01-03 21:21:39 -08:00
jonaswinkler 111ed38cce fixes #121 2021-01-04 00:38:29 +01:00
jonaswinkler e07128a145 don't run post-consume script inside transaction #259 2021-01-04 00:03:31 +01:00
jonaswinkler 610fa075f6 fixed missing (filtered) text 2021-01-03 23:56:13 +01:00
jonaswinkler 5e75d84920 add dutch language 2021-01-03 22:25:12 +01:00
Jonas Winkler 4d97a825d9 Merge pull request #261 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_nl_NL
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'nl_NL'
2021-01-03 21:45:31 +01:00
Jonas Winkler bac739a6d9 Merge pull request #262 from jonaswinkler/translations_src-ui-messages-xlf--dev_nl_NL
Translate '/src-ui/messages.xlf' in 'nl_NL'
2021-01-03 21:45:22 +01:00
jonaswinkler d935dcd350 fixes #98 2021-01-03 21:44:53 +01:00
jayme-github be2061b74d Add PAPERLESS_IGNORE_DATES to docs 2021-01-03 14:47:04 +01:00
jayme-github 2aa2086dfb Add missing config options to example file 2021-01-03 14:35:28 +01:00
transifex-integration[bot] a89d4ee434 Translate /src-ui/messages.xlf in nl_NL
translation completed for the source file '/src-ui/messages.xlf'
on the 'nl_NL' language.
2021-01-03 12:28:10 +00:00
transifex-integration[bot] cd5d762cbc Apply translations in nl_NL
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'nl_NL' language.
2021-01-03 12:23:57 +00:00
jonaswinkler a96ab9a9a4 form field validation (much better error messages) 2021-01-03 13:09:16 +01:00
Michael Shamoon f0a1aed029 Merge remote-tracking branch 'upstream/dev' into feature/remote-user 2021-01-03 00:38:10 -08:00
Michael Shamoon 7b56ad9dad Allow authentication via HTTP_REMOTE_USER 2021-01-03 00:37:19 -08:00
jonaswinkler e05f365e6a fix "ng serve" 2021-01-03 01:25:35 +01:00
jonaswinkler c15e94f759 bugfix 2021-01-03 01:25:26 +01:00
transifex-integration[bot] d93ec0d5c7 Translate /src-ui/messages.xlf in de
at least 80% translated for the source file '/src-ui/messages.xlf'
on the 'de' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-01-02 23:58:23 +00:00
transifex-integration[bot] 74cf5373b9 Apply translations in de
at least 80% translated for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'de' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-01-02 23:58:17 +00:00
transifex-integration[bot] 4ddc034e9c Apply translations in nl_NL
at least 80% translated for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'nl_NL' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-01-02 23:58:13 +00:00
Jonas Winkler 061dc04755 Merge pull request #248 from shamoon/fix/issue-164
Hide matching pattern if algorithm is auto
2021-01-02 16:51:34 +01:00
Michael Shamoon 0e4597131b Also hide case insensitive checkbox for auto matching algorithm 2021-01-02 07:24:48 -08:00
jonaswinkler 57f77c4657 fix test case 2021-01-02 15:52:02 +01:00
jonaswinkler 89d6e422f5 fix bugs and test cases 2021-01-02 15:37:27 +01:00
jonaswinkler 520f92503f Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-02 15:31:08 +01:00
jonaswinkler 4cef4adc7e config file 2021-01-02 15:30:52 +01:00
jonaswinkler e97ff3d671 code style 2021-01-02 15:26:09 +01:00
jonaswinkler 97e96d02f2 test cases 2021-01-02 15:25:13 +01:00
jayme-github 654ee4e62e Add option to ignore certain dates in parse_date
PAPERLESS_IGNORE_DATES allows to specify a comma separated list of dates
to ignore during date parsing (from filename and content). This can be
used so specify dates that do appear often in documents but are usually
not the documents creation date (like your date of birth).
2021-01-02 15:20:49 +01:00
Jonas Winkler 87fe1be1ed Merge pull request #250 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-02 14:45:43 +01:00
transifex-integration[bot] 4d7d3afc7d Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-02 13:19:36 +00:00
jonaswinkler 7bca5bf40e Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-02 14:19:02 +01:00
jonaswinkler 158e83c425 fixed quotes 2021-01-02 14:18:20 +01:00
Jonas Winkler fa0ccff5b2 Merge pull request #249 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-02 12:57:59 +01:00
transifex-integration[bot] a0505aa8e9 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-02 11:56:20 +00:00
jonaswinkler 86677ee6b4 messages updates 2021-01-02 12:54:25 +01:00
jonaswinkler eb91ac0c3c cleared up some plural forms 2021-01-02 12:52:10 +01:00
Mark Schmitt a21fb36cd2 github-actions: readding previously removed "-n auto"
possibly this is fixed by the wheel dependency that was missing before.
2021-01-02 11:33:56 +01:00
Mark Schmitt 28209bb474 github-actions: also install wheel
There's an error about pip wheel not being available and falling back
to some legacy version. Let's see if this helps.
2021-01-02 11:30:12 +01:00
Mark Schmitt 376efcde27 github-actions: removing unsupported parameter
I don't understand what the "-n auto" parameter does, pytest doesn't either
(in the version installed) - so removing it to see if that produces something
usable.
2021-01-02 11:27:38 +01:00
Mark Schmitt 4684d19953 github-actions: readding explicit install
explicitly install pytest, pytest-cov and coveralls.
I think travis already did that and we need to explicitly do so now.
removed installing dev-dependencies, do it explicitly.
(just trying to reproduce the travis-ci build)
2021-01-02 11:23:30 +01:00
Mark Schmitt 4bea504690 Try o make pipenv also install dev dependencies 2021-01-02 09:44:08 +01:00
Mark Schmitt 90f4ccfb94 Remove cache to see if that helps with pytest-cov issues 2021-01-02 09:41:21 +01:00
Mark Schmitt d292f71007 Add pytest-cov to install 2021-01-02 09:31:20 +01:00
Mark Schmitt 4a45a77753 Add pytest to install step 2021-01-02 09:23:49 +01:00
Mark Schmitt ef28ae8117 Move sphinx step below tests step as it used to be 2021-01-02 09:19:58 +01:00
Mark Schmitt b8b0b61e67 Execute pip commands one after the other to find issue 2021-01-02 09:15:10 +01:00
Mark Schmitt 41c1b711c2 Use sudo for apt 2021-01-02 09:08:19 +01:00
Mark Schmitt 8ab251c5f7 Execute python tests 2021-01-02 09:07:05 +01:00
Michael Shamoon 659c7cdbd8 Hide matching pattern if algorithm is auto 2021-01-01 20:57:57 -08:00
jonaswinkler ef9d8c64fc layout fix 2021-01-02 02:01:07 +01:00
jonaswinkler e6927a196f Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-02 01:57:40 +01:00
jonaswinkler 729e5ee0e1 compile messages build step 2021-01-02 01:57:26 +01:00
Jonas Winkler a3f214b6ba Merge pull request #245 from jonaswinkler/translations_src-locale-en-us-lc-messages-django-po--dev_de
Translate '/src/locale/en-us/LC_MESSAGES/django.po' in 'de'
2021-01-02 01:31:05 +01:00
transifex-integration[bot] a2f0a9687d Apply translations in de
translation completed for the source file '/src/locale/en-us/LC_MESSAGES/django.po'
on the 'de' language.
2021-01-02 00:30:20 +00:00
jonaswinkler 820920839d update some messages 2021-01-02 01:26:34 +01:00
jonaswinkler 0d5d8f7c80 add missing migrations 2021-01-02 01:21:44 +01:00
jonaswinkler bf198f37db fix locale discovery by django app 2021-01-02 01:19:06 +01:00
jonaswinkler c6af2044ce bugfix 2021-01-02 01:18:32 +01:00
jonaswinkler a9b331c5fd missed a translation string 2021-01-02 01:13:34 +01:00
jonaswinkler cb88ffff79 Merge branch 'dev' into feature-localization 2021-01-02 00:46:35 +01:00
jonaswinkler bcf17bfdc0 fix some translation issues 2021-01-02 00:45:23 +01:00
jonaswinkler 110ef17ed8 fix angular language mapping 2021-01-02 00:44:14 +01:00
Jonas Winkler 348d07757b Merge pull request #244 from jonaswinkler/translations_src-ui-messages-xlf--dev_de
Translate '/src-ui/messages.xlf' in 'de'
2021-01-02 00:43:09 +01:00
transifex-integration[bot] eaeda47690 Translate /src-ui/messages.xlf in de
translation completed for the source file '/src-ui/messages.xlf'
on the 'de' language.
2021-01-01 23:42:43 +00:00
jonaswinkler fdf330276e Merge branch 'dev' into feature-localization 2021-01-02 00:15:03 +01:00
Jonas Winkler dace3dc803 Merge pull request #243 from jonaswinkler/translations_src-ui-messages-xlf--dev_de_DE
Translate '/src-ui/messages.xlf' in 'de_DE'
2021-01-02 00:11:42 +01:00
transifex-integration[bot] 70d48b39f3 Translate /src-ui/messages.xlf in de_DE
translation completed for the source file '/src-ui/messages.xlf'
on the 'de_DE' language.
2021-01-01 23:11:08 +00:00
jonaswinkler d9f5bc7681 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-02 00:10:36 +01:00
jonaswinkler 52aa78acab fix some messages 2021-01-02 00:10:22 +01:00
Jonas Winkler b73ec76146 Merge pull request #242 from jonaswinkler/translations_src-ui-messages-xlf--dev_de_DE
Translate '/src-ui/messages.xlf' in 'de_DE'
2021-01-02 00:07:59 +01:00
transifex-integration[bot] 70e49a61fa Translate /src-ui/messages.xlf in de_DE
translation completed for the source file '/src-ui/messages.xlf'
on the 'de_DE' language.
2021-01-01 23:06:19 +00:00
jonaswinkler 7904a3efb7 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-02 00:00:42 +01:00
Jonas Winkler 717a4951fd Merge pull request #241 from shamoon/fix/dark-mode-fixes
Visual fixes to dark mode elements
2021-01-01 23:59:58 +01:00
Michael Shamoon a3b4349b1c Increase contrast of text, fix large card anchor color
Increased brightness of dark-mode primary + danger, use darker bg for tables, fix some button hover/active states
2021-01-01 14:50:25 -08:00
jonaswinkler 4b74cd5677 fix #236 2021-01-01 23:27:55 +01:00
jonaswinkler 6d554bace1 fix #238 2021-01-01 23:09:10 +01:00
jonaswinkler c4367818b7 better matching algorithm descriptions 2021-01-01 23:08:02 +01:00
jonaswinkler ebdddc4fe4 fix metadata column 2021-01-01 22:44:10 +01:00
jonaswinkler bac0dbb70b messages 2021-01-01 22:38:33 +01:00
jonaswinkler 0a7412424d refactored app-view service 2021-01-01 22:38:26 +01:00
jonaswinkler d5601b7ec0 remove active class from user menu 2021-01-01 22:29:25 +01:00
jonaswinkler b79d88d5ef Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2021-01-01 22:26:54 +01:00
Jonas Winkler 851d9cc313 Merge pull request #240 from shamoon/feature/updated-nav-bar
Feature: updated main navbar
2021-01-01 22:26:25 +01:00
jonaswinkler 40ef375c15 supply file_name for tika parser 2021-01-01 22:19:43 +01:00
jonaswinkler de32addf76 fix up the tika parser 2021-01-01 21:59:21 +01:00
Michael Shamoon 1e541b688d brand width rem 2021-01-01 12:52:35 -08:00
jonaswinkler c05bfb894a remove duplicate code 2021-01-01 21:50:45 +01:00
jonaswinkler 279e269a66 update start_services.sh script 2021-01-01 21:50:32 +01:00
jonaswinkler 8490b65bcc update lockfile 2021-01-01 21:50:23 +01:00
Michael Shamoon 1234634ba3 Not sure why Typescript complained about this 2021-01-01 12:49:48 -08:00
Michael Shamoon 3d2d9cb3a2 Remove unused line 2021-01-01 12:43:19 -08:00
Michael Shamoon 7740961697 Spaces 2021-01-01 12:42:58 -08:00
Michael Shamoon 22c77e7be5 Merge remote-tracking branch 'upstream/dev' into feature/updated-nav-bar 2021-01-01 12:42:01 -08:00
Michael Shamoon 6566e36141 Mistakenly overwritten files from merge of dev branch 2021-01-01 12:41:05 -08:00
Michael Shamoon a4e5d36a02 Linting 2021-01-01 12:36:19 -08:00
Michael Shamoon 54a0da8151 Dark mode compatability 2021-01-01 12:29:52 -08:00
Michael Shamoon dc525783ee search icon position 2021-01-01 12:25:16 -08:00
Michael Shamoon a5ae056c9b Merge remote-tracking branch 'upstream/dev' into feature/updated-nav-bar 2021-01-01 12:16:55 -08:00
Jonas Winkler e0c87fc556 Merge pull request #235 from sisao/dev
self serve pdf.worker.min.js
2021-01-01 21:13:59 +01:00
Jonas Winkler fb38aacde4 Merge branch 'dev' into dev 2021-01-01 21:13:49 +01:00
jonaswinkler 564f3b9170 fix some messages 2021-01-01 20:23:32 +01:00
Jonas Winkler 9cb14e2815 Merge pull request #204 from jovandeginste/paperless_tika
WIP: Add the new paperless_tika parser
2021-01-01 20:21:18 +01:00
Jonas Winkler 54c023523f Merge pull request #203 from shamoon/feature/dark-mode
Feature: dark mode
2021-01-01 20:18:39 +01:00
Mark Schmitt 97d068c3bb Removed separate build step
It looks like part of the build step is repeated in the push step
due to bad caching possibly.
2021-01-01 12:53:16 +01:00
Michael Shamoon f090537ef4 tweak username display, dropdown size + spacing 2020-12-31 16:23:08 -08:00
Mark Schmitt 3f01a9e1e2 Update docker-publish.yml 2020-12-31 19:32:04 +01:00
Michael Shamoon be7bf5288b Fix alignment 2020-12-31 07:52:14 -08:00
jonaswinkler 71d7aa3fb2 update message file 2020-12-31 16:00:24 +01:00
jonaswinkler 1b8c4bb1a5 Merge branch 'dev' into feature-localization 2020-12-31 15:59:47 +01:00
jonaswinkler fddda75f75 more translation 2020-12-31 15:59:12 +01:00
Stefan aa7e2594e2 self serve pdf.worker.min.js 2020-12-31 15:07:35 +01:00
Jo Vandeginste 5236f4e58d Refactor after feedback:
- rename PAPERLESS_TIKA to PAPERLESS_TIKA_ENABLED
- all other env params now start with PAPERLESS_TIKA
- convert_to_pdf as class instance method
- smaller details

Signed-off-by: Jo Vandeginste <Jo.Vandeginste@kuleuven.be>
2020-12-31 14:41:47 +01:00
Mark Schmitt 916ea79e57 Experimenting with github actions 2020-12-31 13:27:22 +01:00
Mark Schmitt b855222ee1 Removing travis in favor of github actions 2020-12-31 13:24:57 +01:00
Fabian Koller fc31195fa0 Update to 0.9.11 2020-12-31 11:47:54 +01:00
jonaswinkler 70cb27bf0a bump versions 2020-12-31 11:23:03 +01:00
jonaswinkler 2a744a3a83 roll back changes #184 #227 2020-12-31 11:12:46 +01:00
Fabian Koller be56707a8a Change default OCRmyPDF args
Clean is hardcoded as True, anyway
Deskew breaks tesseract redo
2020-12-31 10:01:57 +01:00
Fabian Koller a74404170d Update to 0.9.10 2020-12-31 09:53:29 +01:00
Michael Shamoon 2e544326e5 Toggle caret tweaks 2020-12-31 00:35:54 -08:00
Michael Shamoon d42c13a9c6 Reorganized navbar
Updated search field, new user menu
2020-12-30 23:39:07 -08:00
Michael Shamoon 020696fb17 Fix overflowing document titles on homepage mobile view 2020-12-30 23:16:30 -08:00
Michael Shamoon 06bf3e27d3 Merge remote-tracking branch 'upstream/dev' into feature/dark-mode 2020-12-30 19:50:29 -08:00
jonaswinkler 3b17f9d6ec changelog 2020-12-31 02:40:43 +01:00
jonaswinkler 9c8b43f602 Merge branch 'dev' 2020-12-31 02:27:45 +01:00
jonaswinkler 70f052cb5c changelog 2020-12-31 02:15:16 +01:00
jonaswinkler e5c10fcd93 Merge branch 'master' into dev 2020-12-31 02:15:01 +01:00
jonaswinkler 9eb377703e fix hover for check boxes 2020-12-31 01:58:32 +01:00
jonaswinkler 4c63dad309 fix sorting for "not assigned" 2020-12-31 01:43:04 +01:00
jonaswinkler 45e52aa985 add the manifest to the frontend entry page #219 2020-12-31 01:20:38 +01:00
jonaswinkler 6066d00c5e intelligent sorting of the bulk edit drop downs 2020-12-31 01:07:28 +01:00
jonaswinkler 59a10a8127 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2020-12-31 01:07:07 +01:00
Jonas Winkler 6dc8edea88 Merge pull request #219 from zjean/feature/add-to-home
Improve mobile add to homes screen support
2020-12-31 01:02:05 +01:00
jonaswinkler ef1ee8e0c0 fixes a bug with invisible selection 2020-12-30 23:34:50 +01:00
jonaswinkler 1428b26703 this immensely improves resposibility 2020-12-30 23:34:21 +01:00
jonaswinkler 63b841c496 fixes #224 2020-12-30 23:01:34 +01:00
jonaswinkler 208f4291d6 fixes #222 2020-12-30 21:54:36 +01:00
jonaswinkler 750d08ec01 add more translation 2020-12-30 21:48:34 +01:00
jonaswinkler 8d665aeac4 Merge branch 'dev' into feature-localization 2020-12-30 19:52:07 +01:00
jonaswinkler a0f983f05d codestyle 2020-12-30 17:20:03 +01:00
jonaswinkler 1df922ef16 Do file renaming first, since this is the important step, and indexing takes a while. 2020-12-30 17:18:27 +01:00
jonaswinkler beed820602 improve file renaming speed. 2020-12-30 17:17:36 +01:00
jonaswinkler b6722fdd84 update angular messages 2020-12-30 17:14:08 +01:00
transifex-integration[bot] eb47fb5501 Translate /src-ui/messages.xlf in de_DE
at least 50% translated for the source file '/src-ui/messages.xlf'
on the 'de_DE' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2020-12-30 15:35:33 +00:00
jonaswinkler aacf7ba275 language fixes 2020-12-30 16:29:45 +01:00
jonaswinkler 400392655e adds a command to regenerate thumbnails #218 2020-12-30 15:46:56 +01:00
jonaswinkler 713985f259 fixes #218 2020-12-30 15:12:16 +01:00
Jan Wiebe 664280ccce Add newline to end of file 2020-12-30 14:56:18 +01:00
Jan Wiebe 9fe6c5c3a9 Fix indentation 2020-12-30 14:55:49 +01:00
Jan Wiebe ab5098a036 Fix indentation of angular.json 2020-12-30 14:52:20 +01:00
Jan Wiebe b092bb6848 Add manifest file to add to home screen and launch in full screen mode. 2020-12-30 14:45:15 +01:00
jonaswinkler 17ded12375 bugfix 2020-12-30 12:21:13 +01:00
jonaswinkler 118149c539 more translation work 2020-12-30 11:33:56 +01:00
Jonas Winkler 57da323cea Update README.md 2020-12-30 03:39:25 +01:00
Michael Shamoon ebe2ba401d Consistent settings screen 2020-12-29 16:58:19 -08:00
Michael Shamoon a67443c195 Compatability with new settings service 2020-12-29 16:53:42 -08:00
Michael Shamoon 2e0d36c4d9 Merge remote-tracking branch 'upstream/dev' into feature/dark-mode 2020-12-29 16:53:31 -08:00
jonaswinkler db4b621631 angular message file 2020-12-30 01:48:06 +01:00
jonaswinkler a91958bfe1 add translation support to the backend #215 2020-12-30 01:39:06 +01:00
jonaswinkler 5395208b00 add initial localization support for the front end #215 2020-12-30 00:26:06 +01:00
jonaswinkler d909010f08 angular message file 2020-12-30 00:24:42 +01:00
Jonas Winkler 5c7b65163e Merge pull request #214 from C0nsultant/patch-2
Fix ENV var name for user args in example config
2020-12-30 00:00:11 +01:00
Fabian Koller e4e4efcba7 Fix creation of user arg
json.loads is picky in that is expects true json, not yaml from ansible
2020-12-29 23:54:22 +01:00
Fabian Koller 9f18d0ad45 Fix ENV var name for user args in example config
The actual string used when looking up the user arguments ends with an S: `PAPERLESS_OCR_USER_ARGS`
2020-12-29 23:52:27 +01:00
jonaswinkler 2de3894d67 more localization tags 2020-12-29 23:41:59 +01:00
jonaswinkler 03c6a4e18e more localization #123 2020-12-29 23:37:33 +01:00
jonaswinkler f9ab8d3b35 more localization tags #123 2020-12-29 23:34:04 +01:00
Fabian Koller 14f87f5aee Harden systemd service files, drop perms further 2020-12-29 23:30:59 +01:00
Fabian Koller bb569b4e78 Integrate OCRmyPDF args into ansible config 2020-12-29 22:43:52 +01:00
jonaswinkler ef63ec40d9 changelog 2020-12-29 22:02:03 +01:00
jonaswinkler 761a6a4264 plural form fix 2020-12-29 22:01:56 +01:00
jonaswinkler 8139ecfd39 version bump 2020-12-29 22:01:37 +01:00
jonaswinkler fb09f67899 bugfixes 2020-12-29 22:01:18 +01:00
Fabian Koller f075384b44 Move paperless.conf to /etc, drop permissions 2020-12-29 21:55:59 +01:00
Jo Vandeginste b8e8bf3dd4 Add the new paperless_tika parser
This parser will use an external Tika and Gotenberg server to parse
"Office" documents (.doc, .xls, .odt, etc.)

Signed-off-by: Jo Vandeginste <Jo.Vandeginste@kuleuven.be>
2020-12-29 21:51:21 +01:00
jonaswinkler d690b34ee0 added invalid PDF document with BOM marker 2020-12-29 21:02:45 +01:00
jonaswinkler e24b40de29 more tests 2020-12-29 21:01:18 +01:00
Fabian Koller bf3ffc29a9 Make role compatible with ansible 2.7
Recursive remote copy is supported starting with 2.8 only
Indentation behaviour in literal yaml strings seems to have changed
Regex logic for ImageMagic was flawed (no idea why this worked before)
2020-12-29 20:59:49 +01:00
jonaswinkler 6581cff8dc more tests 2020-12-29 20:55:27 +01:00
jonaswinkler 5c3ae44021 fix up gunicorn conf 2020-12-29 18:23:08 +01:00
jonaswinkler 2b341afcae fix some bugs with the filter editor 2020-12-29 17:32:56 +01:00
jonaswinkler 7f4cfc0b76 fix a couple issues with the bulk editor 2020-12-29 17:20:45 +01:00
jonaswinkler b2327d6fde more settings 2020-12-29 17:09:07 +01:00
jonaswinkler f964dd5935 added configuration option for the font #197 #207 2020-12-29 12:26:41 +01:00
Michael Shamoon 4ecd5ada06 Semantic correction 2020-12-28 19:07:12 -08:00
Michael Shamoon f770f0444a Fix hidden ng-select contents on focus 2020-12-28 17:49:10 -08:00
jonaswinkler 39d1c051cf use the actual name of the package #205 2020-12-29 02:25:39 +01:00
Jonas Winkler 5622e13802 Merge pull request #206 from MarcoBuster/fix-missing-libxslt-dev
Add missing libxslt-dev
2020-12-29 02:24:15 +01:00
Marco Aceti d6285cc851 Add libxslt-dev library to Dockerfile build 2020-12-29 01:57:46 +01:00
Michael Shamoon 777d8b4609 Fix bg color on large cards 2020-12-28 16:52:51 -08:00
Michael Shamoon edb9264d78 Many small fixes to theme & inline logo 2020-12-28 16:46:08 -08:00
jonaswinkler 6b708c5ed3 Merge branch 'patch-2' of https://github.com/jovandeginste/paperless-ng into jovandeginste-patch-2 2020-12-29 01:08:46 +01:00
jonaswinkler 1dd2386fa5 messed up, restore functionality 2020-12-28 23:53:18 +01:00
Michael Shamoon e6164eb1ab Merge branch 'dev' into feature/dark-mode 2020-12-28 14:28:53 -08:00
jonaswinkler bd01b821ec possible fix for #201 2020-12-28 23:24:08 +01:00
Michael Shamoon b44ca770a5 Fix some white partial pixels around borders 2020-12-28 14:20:00 -08:00
jonaswinkler 9093ac5901 more localization tags #123 2020-12-28 22:54:49 +01:00
Jo Vandeginste 755da317ea Update settings.py 2020-12-28 22:37:53 +01:00
Jo Vandeginste 6834c70bae Allow extending INSTALLED_APPS via environment
This allows a user to add "apps" (aka parsers) through the environment.

Especially useful when using Docker, and adding a test-parser.

Usage:

```yaml
services:
  webserver:
    environment:
      PAPERLESS_APPS: paperless_tika.apps.PaperlessTikaConfig
```

You can add more by separating them with a `,`:

```yaml
PAPERLESS_APPS: app1,app2
```
2020-12-28 22:19:30 +01:00
Michael Shamoon 1297c0911c Theme tweaks
See https://github.com/jonaswinkler/paperless-ng/issues/194
2020-12-28 12:56:00 -08:00
Michael Shamoon ebcf4e2d81 Set on init 2020-12-28 12:54:00 -08:00
jonaswinkler bd3a2306d6 better toasts 2020-12-28 21:52:09 +01:00
jonaswinkler 27666da4e9 more translation tags #123 2020-12-28 21:29:28 +01:00
Michael Shamoon 70f7b614e6 Merge branch 'dev' into feature/dark-mode 2020-12-28 10:26:33 -08:00
jonaswinkler 9bf4ce25b2 Merge branch 'dev' into travis-multiarch-builds 2020-12-28 17:54:48 +01:00
jonaswinkler d51848cdc0 Merge branch 'travis-multiarch-builds' of github.com:jonaswinkler/paperless-ng into travis-multiarch-builds 2020-12-28 17:54:42 +01:00
jonaswinkler 7d86ee32af Merge branch 'master' into dev 2020-12-28 17:25:00 +01:00
jonaswinkler 70c02a1c82 fixes #185 2020-12-28 17:20:07 +01:00
jonaswinkler 39637fc4aa fixes #175 2020-12-28 17:09:19 +01:00
jonaswinkler 1de7a490b4 #186 allow filtering for documents with no correspondents / tags / types 2020-12-28 17:04:53 +01:00
jonaswinkler 6d4aa76405 fixes #196 2020-12-28 15:59:06 +01:00
jonaswinkler 27ae4f6b1e fixes #197 2020-12-28 15:48:35 +01:00
jonaswinkler d6e733c56f add more localization tags #123 2020-12-28 15:39:53 +01:00
Jonas Winkler 7497e0f6b9 Merge pull request #198 from MarkSchmitt/travis-multiarch-builds
Travis multi-arch builds: only build and push docker containers on special branches and tags
2020-12-28 13:36:33 +01:00
jonaswinkler aa6e96e54d fix pycodestyle 2020-12-28 13:33:58 +01:00
jonaswinkler 3d173a13ab move the two post bulk edit tasks into one 2020-12-28 13:31:22 +01:00
Fabian Koller bdf2e29843 Verify role for Ubuntu 20.04 2020-12-28 12:51:49 +01:00
jonaswinkler 7beb8a0929 fix enter select 2020-12-28 12:51:09 +01:00
jonaswinkler 8af0259671 rework the bulk editor 2020-12-28 12:36:26 +01:00
jonaswinkler 67953c98a9 remove some non-required stuff 2020-12-28 12:32:36 +01:00
jonaswinkler 527c533958 improve performance of the toggle dropdown button 2020-12-28 12:32:21 +01:00
jonaswinkler 544ca8d008 add ability to manually clear the cache on matching models 2020-12-28 12:31:50 +01:00
jonaswinkler bd02c78966 fix the filter pipe 2020-12-28 12:31:30 +01:00
jonaswinkler 9e311241b3 rename some stuff 2020-12-28 12:31:14 +01:00
jonaswinkler e228e18f04 it must have been late when I tried to do this 2020-12-28 12:29:53 +01:00
jonaswinkler e2bea3aee3 add missing index task 2020-12-28 12:29:34 +01:00
Mark Schmitt ba9b5c50d2 Add stage definitions of test jobs and add test to list of stages
Defining the stages instead of having travis guess them and implicitly build an order
ensures that the test stage is executed before the docker images are built.
2020-12-28 12:24:39 +01:00
Mark Schmitt 61834581d5 Move build condition into separate stages list 2020-12-28 12:22:35 +01:00
Jonas Winkler 08beaf81d5 Update README.md 2020-12-28 12:03:30 +01:00
Fabian Koller 1276419ec6 Add molecule test for role
Only test default installation with jbig2enc and sqlite
2020-12-28 11:28:19 +01:00
Fabian Koller ef9631ae24 Drop all permissions to paperlessng user
Also make role idempotent
2020-12-28 11:18:24 +01:00
Michael Shamoon 86079a936e Initial theme SCSS 2020-12-27 23:05:52 -08:00
Michael Shamoon c6acf2f7f6 Prevent FOIT 2020-12-27 23:05:42 -08:00
Michael Shamoon 28b7c3c208 Logo svg inline 2020-12-27 23:05:34 -08:00
Michael Shamoon 75c8cd9967 Dark mode settings logic 2020-12-27 23:05:19 -08:00
jonaswinkler 4fb5dce5e7 selection model 2020-12-28 00:52:28 +01:00
jonaswinkler b8e7506de4 partial selection model implementation 2020-12-27 23:55:19 +01:00
Mark Schmitt 0560ac2a95 Use conditions to prevent builds on branches / tags other than master, dev and ng-* 2020-12-27 20:01:21 +01:00
Jonas Winkler 131ebf0480 Update README.md 2020-12-27 17:07:33 +01:00
jonaswinkler 80420a99f5 Merge branch 'dev' into feature-bulk-edit 2020-12-27 17:06:17 +01:00
jonaswinkler 6a70369a77 update index after bulk edit operations #195 2020-12-27 17:05:35 +01:00
jonaswinkler fb83069975 fix test case. 2020-12-27 14:50:57 +01:00
jonaswinkler f61ecadf76 Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2020-12-27 14:47:40 +01:00
Jonas Winkler f040c4e593 Merge pull request #192 from shamoon/fix/ios-safari-input-zoom
Avoid ios safari input zoom
2020-12-27 14:46:20 +01:00
jonaswinkler c2a47ca4b1 remove "selectionSpansPages" 2020-12-27 13:34:54 +01:00
jonaswinkler a283b815ef refactor 2020-12-27 13:34:36 +01:00
jonaswinkler 3dd4583ea8 always show count badges 2020-12-27 13:23:11 +01:00
jonaswinkler bf79b252ad remove "Remove All" 2020-12-27 13:16:37 +01:00
jonaswinkler a2ad62b310 typing 2020-12-27 13:10:43 +01:00
jonaswinkler 4b9a8f3409 move document count into matching model 2020-12-27 13:07:58 +01:00
jonaswinkler 802bd7fb0d client support for selection data 2020-12-27 12:54:47 +01:00
jonaswinkler 320298e3ff add api method to get selection data 2020-12-27 12:43:05 +01:00
Michael Shamoon 5e5059b2e7 Prevent iOS input zoom 2020-12-26 21:16:12 -08:00
Jonas Winkler d6d7528668 Merge branch 'growse-patch-2' into dev 2020-12-27 01:49:12 +01:00
Andrew Rowson 3f8c74c4af Updated bind param gunicorn config file to listen on ipv6 2020-12-26 11:53:29 +00:00
jonaswinkler 0a1b810da7 Merge branch 'dev' into feature-bulk-edit 2020-12-26 01:09:12 +01:00
jonaswinkler 25fb9fb185 better selection 2020-12-26 01:08:54 +01:00
jonaswinkler c547128238 Merge branch 'dev' into feature-bulk-edit 2020-12-25 22:19:10 +01:00
jonaswinkler 99b5e25731 clarify error messages #176 2020-12-25 19:26:27 +01:00
jonaswinkler 20e724da46 fixes #182 2020-12-25 19:24:39 +01:00
jonaswinkler 03838421bc not sure when that got in here 2020-12-25 19:23:53 +01:00
jonaswinkler b9cf517cd1 front end client support for filtering for no correspondent/document type 2020-12-25 19:06:12 +01:00
jonaswinkler f7f78d80b7 added isnull filters for document types and correspondents 2020-12-25 19:01:46 +01:00
Jonas Winkler e63b820c07 Merge pull request #189 from shamoon/feature-bulk-editor
Refactored bulk editor
2020-12-25 16:11:31 +01:00
Michael Shamoon 2ac6a02e31 More simplification 2020-12-25 01:14:56 -08:00
Michael Shamoon 6e79b771ec Refactor bulk editor to be self-contained
See https://github.com/jonaswinkler/paperless-ng/pull/162#issuecomment-750425915
2020-12-25 00:58:17 -08:00
Andrew Rowson 37caf6a64a Gunicorn should bind to both ipv4 and ipv6
As per https://docs.gunicorn.org/en/stable/settings.html#bind
2020-12-24 11:53:20 +00:00
jonaswinkler 198354d07d a couple small changes 2020-12-23 22:45:54 +01:00
jonaswinkler eec9716ffa more translation markers 2020-12-23 22:34:30 +01:00
jonaswinkler 64d0c7fae6 silence compiler warnings 2020-12-23 18:07:37 +01:00
jonaswinkler 02e81f7ab5 update Dockerfile 2020-12-23 17:03:00 +01:00
jonaswinkler 85cf931d0a Merge branch 'dev' into travis-multiarch-builds 2020-12-23 16:15:46 +01:00
Jonas Winkler c54d26ed19 Update README.md 2020-12-23 16:09:13 +01:00
jonaswinkler cffe9fa354 debug log mime type #176 2020-12-23 15:22:28 +01:00
jonaswinkler 46b0776714 fix typo #176 2020-12-23 15:14:24 +01:00
jonaswinkler 929b25a969 add api support for adding and removing many tags simultaneously 2020-12-23 15:13:55 +01:00
jonaswinkler 3c2fac3d28 Merge branch 'feature-bulk-edit' of github.com:jonaswinkler/paperless-ng into feature-bulk-edit 2020-12-23 15:12:50 +01:00
jonaswinkler 9a165e87fd Merge branch 'master' into dev 2020-12-23 15:09:58 +01:00
jonaswinkler 95c4e77ae4 added many localization markers to the front end #123 2020-12-23 15:09:39 +01:00
Jonas Winkler ba3696566f Merge pull request #162 from shamoon/feature-bulk-editor
Bulk editing UI
2020-12-23 14:42:20 +01:00
Jonas Winkler 6907b91420 Merge pull request #178 from MarkSchmitt/travis-multiarch-builds
Automatic CI/CD multiarch docker builds
2020-12-23 14:35:47 +01:00
Fabian Koller 227934a7f0 Do not clear static files on every run
Django collectstatic knows when files change.
2020-12-23 14:05:35 +01:00
Fabian Koller 089a8c0498 Fix fresh installation
We can't backup a nonexistent folder.
2020-12-23 13:39:16 +01:00
Fabian Koller 92fa978735 Allow running role on all Debian releases
Dynamically template current release string where required.
2020-12-23 13:31:30 +01:00
Mark Schmitt 8135de49f0 Re-enable test steps 2020-12-23 12:13:12 +01:00
Mark Schmitt ccfa14b9b7 Remove arm32v6 from docker manifest , it is not getting created 2020-12-23 09:14:40 +01:00
Jonas Winkler 6589369e1b Update README.md 2020-12-23 02:29:58 +01:00
Jonas Winkler 9c2c74ad2b Update README.md 2020-12-23 01:51:38 +01:00
jonaswinkler b7c118afa3 more tests 2020-12-22 21:08:54 +01:00
jonaswinkler e9b5f8d9f8 api validation, more tests 2020-12-22 20:28:41 +01:00
Fabian Koller e48294a74b Update to 0.9.9 2020-12-22 19:30:53 +01:00
Fabian Koller 50c5a23de8 add basic ansible role for debian deployment
Currently only Debian 10 buster is supported.
Other Debian versions, Ubuntu and derivates should be easy to integrate.
Database deployment is considered out-of-scope and deferred to the user.
Provides basic upgrade support between releases.
2020-12-22 18:47:02 +01:00
Jonas Winkler 7d676a75a8 Update README.md 2020-12-22 17:26:07 +01:00
jonaswinkler 544e8db722 error in test case 2020-12-22 17:08:30 +01:00
Michael Shamoon ba066af664 Merge branch 'feature-bulk-edit' into feature-bulk-editor 2020-12-22 07:43:51 -08:00
Jonas Winkler c4286d0a48 Update README.md 2020-12-22 16:33:41 +01:00
jonaswinkler 1c535e6ff1 Merge branch 'master' of github.com:jonaswinkler/paperless-ng 2020-12-22 15:58:24 +01:00
jonaswinkler 0b9ea5c60f Merge branch 'dev' 2020-12-22 15:58:06 +01:00
jonaswinkler 0fa3c3188d update index after import 2020-12-22 15:53:04 +01:00
jonaswinkler ebcb2cf694 progress bar for the document importer 2020-12-22 15:50:27 +01:00
jonaswinkler 8dc15352ef changelog layout 2020-12-22 15:22:24 +01:00
jonaswinkler 403de42031 discard selection when switching views 2020-12-22 15:18:42 +01:00
jonaswinkler b08a5e62d8 documentation 2020-12-22 14:43:16 +01:00
Mark Schmitt 1f62b6d0d4 arm64-graviton2 build requires group:edge 2020-12-22 14:18:11 +01:00
Mark Schmitt c751fe7520 Switching back to virt: vm as there seems to be a prob with the lxc ones 2020-12-22 14:15:06 +01:00
jonaswinkler 978bb3c339 more change log 2020-12-22 14:13:58 +01:00
jonaswinkler 3e389a3140 versions 2020-12-22 14:09:38 +01:00
jonaswinkler 0dbd598116 changelog 2020-12-22 13:54:41 +01:00
Mark Schmitt 46ecdefde8 Remove steps not necessary to build docker images 2020-12-22 13:43:51 +01:00
Mark Schmitt e8ea373eb2 Enable manifests support 2020-12-22 13:42:21 +01:00
jonaswinkler 01d10da061 Merge branch 'dev' into feature-bulk-edit 2020-12-22 13:40:24 +01:00
jonaswinkler 0aad31b4bc fixes clearing fields that should not be clearable 2020-12-22 13:39:46 +01:00
jonaswinkler 2f599ca1d3 fixes an issue with open documents not refreshing after bulk operations 2020-12-22 13:32:30 +01:00
Mark Schmitt 162626209c Tell me, what kind of arm64 is it that produces amd64 docker images?
It's weird
2020-12-22 13:27:19 +01:00
jonaswinkler cd8f99d2c3 Merge branch 'dev' into feature-bulk-edit 2020-12-22 13:04:45 +01:00
jonaswinkler 6968e228e1 increase indexing speed 2020-12-22 13:04:22 +01:00
jonaswinkler b7d310ef90 more tests 2020-12-22 13:04:08 +01:00
jonaswinkler 1c3b85249c more tests 2020-12-22 13:03:50 +01:00
Mark Schmitt bf3b110804 Remove accidentially added quote 2020-12-22 12:58:35 +01:00
Mark Schmitt 7d1f931234 Use arm64-gravis instead of regular arm64. See if that is fast enough. 2020-12-22 12:49:36 +01:00
jonaswinkler 147a8774c6 more tests 2020-12-22 12:40:06 +01:00
Michael Shamoon 406f8daa12 TODO comment 2020-12-22 03:32:51 -08:00
Michael Shamoon 0a4a06b991 Singular items dont need removal logic since dropdowns dont support this (yet?) 2020-12-22 03:13:57 -08:00
Michael Shamoon 41e842a9e6 Unify bulk operations logic, working tags assignment and removal 2020-12-22 02:58:20 -08:00
Michael Shamoon 1fb3316436 Fix remove all operations 2020-12-22 02:18:05 -08:00
Michael Shamoon 2f26d07480 Only pass one item to bulk methods for correspondents/doctypes 2020-12-22 02:14:37 -08:00
Michael Shamoon 360fc081bb Completely rewrite change detection, add back remove operations 2020-12-22 02:08:36 -08:00
Michael Shamoon 4cae338479 Merge branch 'feature-bulk-edit' into feature-bulk-editor 2020-12-22 00:19:35 -08:00
jonaswinkler 9ace199422 Merge branch 'dev' into feature-bulk-edit 2020-12-22 03:00:22 +01:00
jonaswinkler f42e5bf1e5 added tracking to the document list 2020-12-22 02:59:09 +01:00
jonaswinkler 5863060585 added selection to the large cards 2020-12-22 02:43:18 +01:00
jonaswinkler e466158ce2 bugfix 2020-12-22 01:17:07 +01:00
jonaswinkler 38156123d4 Merge branch 'dev' into feature-bulk-edit 2020-12-21 23:20:55 +01:00
jonaswinkler ade951a600 Adds jbig2 to the build, fixes #93 2020-12-21 23:02:26 +01:00
Mark Schmitt 48b59c8e24 Use qemu also for arm64v8 build - something might be causing trouble on the native hosts 2020-12-21 21:53:39 +01:00
jonaswinkler b3a13cec17 Merge branch 'dev' into travis-multiarch-builds 2020-12-21 21:29:45 +01:00
jonaswinkler ae3e2a7063 updated documentation 2020-12-21 21:28:21 +01:00
Michael Shamoon 48d83e166b use ngIf for editor components to maybe help performance 2020-12-21 11:12:48 -08:00
Michael Shamoon 29e9d7d793 Some changes from #141 were lost 2020-12-21 09:53:43 -08:00
Michael Shamoon dcbc0ea2e5 Revert "Fix list small card layout"
This reverts commit 0e93f7eba5.
2020-12-21 09:52:55 -08:00
jonaswinkler c527b274b6 disallow clearing tag color 2020-12-21 18:23:06 +01:00
jonaswinkler 5892941d8a updated tag coloring for easier readability 2020-12-21 18:17:21 +01:00
jonaswinkler b653e44f65 changed field order, updated ng-select for tag color selection 2020-12-21 18:15:28 +01:00
jonaswinkler e75534c0f2 fixes #165 2020-12-21 17:35:05 +01:00
Michael Shamoon 0e93f7eba5 Fix list small card layout
Some changes from #141 were lost
2020-12-21 08:14:06 -08:00
Mark Schmitt 7817315f8b Adding some echos to bette runderstand where the build hangs 2020-12-21 17:08:01 +01:00
Mark Schmitt ba18258750 Add libxslt-dev to dependencies.
At least one arm based image does not pull in dependencies the same way
the amd64 one does, resulting in a missing libxslt shared lib.
2020-12-21 16:19:24 +01:00
Mark Schmitt 23381f7d17 Added multi arch docker builds to travis ci 2020-12-21 13:14:16 +01:00
jonaswinkler 665863e395 Display name of current user on the dashboard 2020-12-20 17:18:23 +01:00
Michael Shamoon d9e3895f34 Fix 2px difference between two editors =) 2020-12-20 08:07:19 -08:00
Michael Shamoon f06e2c1089 Merge remote-tracking branch 'upstream/dev' into feature-bulk-editor 2020-12-20 07:49:27 -08:00
jonaswinkler dd6aa2f775 added missing file 2020-12-20 16:01:16 +01:00
jonaswinkler c6b9e2b544 revert last commit 2020-12-20 16:00:11 +01:00
jonaswinkler 240d5b9da2 reorganized docker build. 2020-12-20 15:59:37 +01:00
jonaswinkler 5b344963b9 reorganized docker build. 2020-12-20 15:58:29 +01:00
jonaswinkler b10e7abbe8 don't know how that got in here 2020-12-20 15:25:47 +01:00
jonaswinkler 01c2fe508e more tests 2020-12-20 14:39:17 +01:00
jonaswinkler ee31fdc650 removed unused code 2020-12-20 14:00:24 +01:00
Michael Shamoon fa7b90a584 Add apply button to dropdowns 2020-12-20 01:04:54 -08:00
Michael Shamoon 37c2051e01 Typos & code fixes 2020-12-20 00:37:37 -08:00
Michael Shamoon 3561935e1b Fix some TS syntax errors 2020-12-20 00:12:40 -08:00
Michael Shamoon 7669679fb1 Mobile fixes 2020-12-19 23:49:20 -08:00
Michael Shamoon 2e44c18cdb Show 's' when needed instead of (s) on document list 2020-12-19 23:44:33 -08:00
Michael Shamoon 86da578774 Hide toggled state & counts when selection spans documents not in view 2020-12-19 23:42:08 -08:00
Michael Shamoon 46f778111c Live filter badges when editing & hide badges when active filter items in dropdown 2020-12-19 22:54:37 -08:00
Michael Shamoon 7dfcc7f47b Refactor dropdown button component 2020-12-19 22:31:14 -08:00
Michael Shamoon 39b35c090b Hide filter / bulk editor for better switching 2020-12-19 22:14:52 -08:00
Michael Shamoon ee4e026ba2 rework toolbar 2020-12-19 22:06:17 -08:00
Michael Shamoon de6ba3489a Cleanup dropdown button component 2020-12-19 21:56:31 -08:00
Michael Shamoon 6381093386 Refactor SlectableItem to ToggleableItem 2020-12-19 21:52:45 -08:00
Michael Shamoon fd6bfd02ce SelectableItem dropdowns refactoring 2020-12-19 21:45:53 -08:00
Michael Shamoon 1da652ba4d Only apply edits when something has changed 2020-12-19 21:42:19 -08:00
Michael Shamoon 9a4190bedf Rename dropdown type enum & add pass as variable to use like an Enum 2020-12-19 20:19:37 -08:00
Michael Shamoon 561db8607a Unused bulk tag functions 2020-12-19 15:20:07 -08:00
jonaswinkler 7f9a0204b5 removed most of the logic that extracts data from filename patterns #156 2020-12-20 00:08:05 +01:00
jonaswinkler 32224f187d test CONSUMER_DELETE_DUPLICATES 2020-12-20 00:06:33 +01:00
Michael Shamoon d91fa99e77 Handler for bulk set tags (awaiting API endpoint) 2020-12-19 14:26:26 -08:00
jonaswinkler 3f94fc2618 fix & test a migration 2020-12-19 21:52:58 +01:00
jonaswinkler e79c45c98d fix test cases 2020-12-19 20:39:56 +01:00
Michael Shamoon 400da7bbc5 Minor refactoring 2020-12-19 07:49:32 -08:00
jonaswinkler bb814da95b more test. 2020-12-19 16:46:09 +01:00
jonaswinkler fad3df1e39 removed x-frame-options, since that was only used for the <object> pdf display tag. 2020-12-19 16:46:04 +01:00
jonaswinkler 1b1b57eb6a more tests 2020-12-19 15:54:13 +01:00
jonaswinkler 57a5a4147b test case 2020-12-19 14:48:42 +01:00
Jonas Winkler 1041504cb1 Merge pull request #159 from Skylinar/master
Add 'Epson WF-7710DWF' to scanner.rst
2020-12-19 13:49:17 +01:00
Jonas Winkler 26b40e06f8 Merge branch 'master' into master 2020-12-19 13:49:01 +01:00
Skylinar df8235de13 Update scanners.rst
typo
2020-12-19 13:36:10 +01:00
Skylinar 12e45624db Add 'Epson WF-7710DWF' to scanner.rst 2020-12-19 13:32:31 +01:00
jonaswinkler 37237dfcf6 default title 2020-12-19 12:46:11 +01:00
Michael Shamoon da3695e3a4 Working to backend except tags 2020-12-19 02:26:41 -08:00
Michael Shamoon 24c53e78a7 Working bulk editor component 2020-12-19 02:08:33 -08:00
Michael Shamoon 275bd96ba8 Refactor filterable dropdowns to allow intermediate state 2020-12-19 00:13:08 -08:00
Michael Shamoon 01d448ecde Bulk editor component skeleton 2020-12-18 21:19:49 -08:00
jonaswinkler 3cdd38cb70 Merge branch 'feature-more-like-this' into dev 2020-12-19 01:15:51 +01:00
jonaswinkler f184e6b162 fix some layout issues 2020-12-19 01:15:40 +01:00
Michael Shamoon 55a6dca373 Refactor editor and filterable dropdowns to be common components in anticipation of bulk editor 2020-12-18 16:03:52 -08:00
jonaswinkler 5517c049b8 Merge branch 'dev' into feature-more-like-this 2020-12-19 00:48:31 +01:00
Jonas Winkler 86f83f2bc4 Merge pull request #157 from shamoon/fix/issue-150
Add page number to document toolbar
2020-12-19 00:47:06 +01:00
jonaswinkler 557abbc17e Merge branch 'dev' into feature-more-like-this 2020-12-19 00:06:16 +01:00
Michael Shamoon e0293db16d Only show page numbers when content type is application/pdf 2020-12-18 15:04:52 -08:00
Michael Shamoon fbb2da42dc Merge branch 'dev' into feature-bulk-editor 2020-12-18 14:55:21 -08:00
Michael Shamoon 2d841e7167 Refactor 2020-12-18 14:47:06 -08:00
Michael Shamoon f214fe1b3e Log line 2020-12-18 14:44:17 -08:00
Michael Shamoon e5fe515b69 Add page number to toolbar 2020-12-18 14:31:09 -08:00
jonaswinkler dfb88ebf83 removed the date hack. fixes #144
also refer to #148
2020-12-18 20:17:17 +01:00
jonaswinkler 789abb3bbb changed up the highlight fragment formatter 2020-12-18 16:42:33 +01:00
jonaswinkler 273c474e3f layout changes 2020-12-18 14:09:12 +01:00
Jonas Winkler b262ec4b32 Merge pull request #154 from shamoon/fix/issue-152
Searchable dropdowns on document details component
2020-12-18 12:40:02 +01:00
Michael Shamoon c05de3d57f Tiny padding fixes 2020-12-18 01:18:11 -08:00
Michael Shamoon 55c4c690ef Fix wrapping with multiple tags, embiggen tags, pretty icons 2020-12-18 01:13:30 -08:00
Michael Shamoon e10a2391c4 Use ng-select for document detail screen tags 2020-12-18 00:53:01 -08:00
Michael Shamoon 9b244d0265 Use ng-select for document detail screen 2020-12-17 23:09:27 -08:00
Jonas Winkler cfc1ca45fc Update README.md 2020-12-18 01:35:08 +01:00
Jonas Winkler 1c4e3f682e Update README.md 2020-12-18 01:31:46 +01:00
jonaswinkler 75b22e8684 Merge branch 'dev' into feature-bulk-edit 2020-12-18 00:38:31 +01:00
jonaswinkler ca2cb694d0 code style 2020-12-18 00:10:16 +01:00
jonaswinkler cea34211b6 Merge branch 'dev' into feature-more-like-this 2020-12-18 00:03:14 +01:00
jonaswinkler d252d040bf Merge branch 'dev' of github.com:jonaswinkler/paperless-ng into dev 2020-12-18 00:02:53 +01:00
jonaswinkler 43c88ae0f0 Merge branch 'dev' into feature-more-like-this 2020-12-18 00:02:30 +01:00
jonaswinkler 93be4e98d5 scroll to top when searching again 2020-12-17 23:41:55 +01:00
jonaswinkler 659cd3e9d5 hide search controls on document list 2020-12-17 23:41:46 +01:00
jonaswinkler 2c3eaadbce test cases 2020-12-17 23:24:28 +01:00
Jonas Winkler 1947d67e69 Merge pull request #141 from shamoon/document-list-layout-tweaks
Document list small card layout adjustments
2020-12-17 22:08:48 +01:00
jonaswinkler 35dcc54dc8 fixes cookie_prefix for development setups 2020-12-17 21:54:10 +01:00
jonaswinkler 48796e6961 fixes #149 2020-12-17 21:46:56 +01:00
jonaswinkler 164418880a more like this searching 2020-12-17 21:36:21 +01:00
Michael Shamoon cbf844e7db Typescript syntax fix 2020-12-17 07:33:20 -08:00
Michael Shamoon 88b39faa7e Select first tab when switching out of mobile display 2020-12-17 00:50:59 -08:00
Michael Shamoon 08495deebb Hide mobile preview when switching from mobile to desktop 2020-12-17 00:50:40 -08:00
Michael Shamoon fbca412d30 Add more card columns on very large screens 2020-12-16 16:18:41 -08:00
jonaswinkler 70347bb8f3 added a note to the documentation regarding character limits of PostgreSQL 2020-12-16 23:26:29 +01:00
jonaswinkler eaf11ea134 changelog and versions 2020-12-16 22:39:13 +01:00
jonaswinkler a59f8cd1b1 Merge branch 'master' into dev 2020-12-16 22:33:11 +01:00
jonaswinkler e9affbc1cf revert the changes that caused issues in the admin. 2020-12-16 22:33:03 +01:00
jonaswinkler aa8789ae31 fix up the migration for encrypted documents and a couple other associated issues. 2020-12-16 21:53:11 +01:00
jonaswinkler 5c310c51d4 fix up the migration for encrypted documents. 2020-12-16 21:08:41 +01:00
jonaswinkler cf3fa50b55 these changes shouldn't have been commited at all. my bad. 2020-12-16 21:08:03 +01:00
jonaswinkler 7f933d373f fixes the decryption command not working. 2020-12-16 19:50:38 +01:00
jonaswinkler ece94379d8 fixes #143 2020-12-16 19:35:21 +01:00
Michael Shamoon 677cfb7a1e Use bootstrap row-cols-* classes to keep card list view full width 2020-12-15 14:31:18 -08:00
Michael Shamoon fb9d750684 Delete button margin-left 2020-12-15 14:19:40 -08:00
Michael Shamoon b8469946a8 Smaller editor, cleaned up responsive flow 2020-12-15 11:09:25 -08:00
Michael Shamoon 03f071fd27 Styled, organized button UI 2020-12-15 00:57:31 -08:00
Michael Shamoon 34c42c4339 Better svgs 2020-12-14 23:39:10 -08:00
Michael Shamoon b45bd66573 Basic bulk editor component 2020-12-14 23:14:19 -08:00
Michael Shamoon 3b2bc292d8 Tweak checkbox 2020-12-14 23:14:04 -08:00
jonaswinkler 8b57967836 Merge branch 'dev' into feature-bulk-edit 2020-12-15 03:13:22 +01:00
jonaswinkler 2dc3019083 table selection highlighting 2020-12-13 15:28:20 +01:00
jonaswinkler b5a85caa72 confirm dialogs for remove operations 2020-12-13 15:20:24 +01:00
jonaswinkler bb9b438aa6 Merge branch 'dev' into feature-bulk-edit 2020-12-13 15:13:43 +01:00
jonaswinkler 7906d8fef1 selection for small cards 2020-12-13 14:10:55 +01:00
Michael Shamoon 05b9af6195 Add preview tab for mobile & hide larger preview 2020-12-13 02:28:02 -08:00
jonaswinkler 2374506a20 Merge branch 'dev' into feature-bulk-edit 2020-12-13 00:52:36 +01:00
jonaswinkler a85792e327 tests. 2020-12-11 23:34:34 +01:00
jonaswinkler f5df910894 document list validation. 2020-12-11 23:34:24 +01:00
jonaswinkler 80b47fa287 codestyle 2020-12-11 23:34:14 +01:00
jonaswinkler f0ad92e542 Merge branch 'dev' into feature-bulk-edit 2020-12-11 20:14:48 +01:00
jonaswinkler d1d09ac6ac checboxes for small cards. does not work yet. 2020-12-11 17:35:21 +01:00
jonaswinkler 66240188c7 import fix 2020-12-11 14:51:20 +01:00
jonaswinkler d1f285113d bulk edit menu and methods 2020-12-11 14:49:22 +01:00
jonaswinkler 56dfc71bb9 document list service: selection model 2020-12-11 14:48:33 +01:00
jonaswinkler a8f27f79dd delete dialog: delay enable delete button 2020-12-11 14:47:33 +01:00
jonaswinkler 2c702eb568 fixed some issues with the data access service, support for requesting all IDs of filtered documents (required for selection) 2020-12-11 14:46:48 +01:00
jonaswinkler 63a58ccc38 a simple dialog that selects tags/correspondents/types 2020-12-11 14:30:59 +01:00
jonaswinkler 4b0027797a bulk edit view 2020-12-11 14:30:18 +01:00
jonaswinkler 66d6d29c23 add support to the documents api to only serve selected fields 2020-12-11 14:29:43 +01:00
jonaswinkler fbb3a069cd add bulk editing methods 2020-12-11 14:28:07 +01:00
jonaswinkler 51b1528fee Merge branch 'dev' into feature-bulk-edit 2020-12-10 16:26:16 +01:00
jonaswinkler abd54eeb3a Merge branch 'dev' into feature-bulk-edit 2020-12-10 15:56:03 +01:00
jonaswinkler e2456f4b3f changes 2020-12-07 12:44:23 +01:00
jonaswinkler fcaaf7ce03 pipfile fix 2020-12-06 22:54:11 +01:00
jonaswinkler 522ada88ea Merge branch 'dev' into feature-websockets-status 2020-12-06 22:53:54 +01:00
jonaswinkler 5369e0be03 more bulk edit 2020-12-06 14:39:53 +01:00
jonaswinkler 8699b6931c Merge branch 'dev' into feature-bulk-edit 2020-12-06 02:12:15 +01:00
jayme-github 26784a5325 Add automatic coloring of tags
Please see this as proposal on how to implement automatic/random colors
for tags while keeping the current set of hard coded colors in place (at
least in the frontend).

Bear with me as I have even less Angular knowledge than Django and just
tried to get away with as few changes as possible. :-) AIUI you want to
change to a color picking system anyways in the future, which could also
play well with this.

fixes #51
2020-12-04 10:05:47 +01:00
jonaswinkler 35124023f0 basic support for bulk editing. 2020-11-30 13:59:13 +01:00
jonaswinkler fd4c9a1758 not sure if this works 2020-11-29 23:00:52 +01:00
jonaswinkler 32186e0de1 added a menu for bulk edits. 2020-11-29 16:33:33 +01:00
Jonas Winkler 6cf0b851b7 post-merge changes 2020-11-22 23:12:24 +01:00
Jonas Winkler d252a1dcda Merge branch 'dev' into celery-tasks 2020-11-22 22:49:37 +01:00
Jonas Winkler 391020a2b0 small changes 2020-11-20 10:58:17 +01:00
Jonas Winkler cb2340539d updated pipenv 2020-11-19 22:14:11 +01:00
Jonas Winkler 17430210a1 Merge branch 'dev' into celery-tasks 2020-11-19 22:10:57 +01:00
Jonas Winkler 9e81c82452 Pipfile update 2020-11-10 01:26:27 +01:00
Jonas Winkler b3126934b3 Merge branch 'dev' into celery-tasks 2020-11-10 00:16:59 +01:00
Jonas Winkler 37bd4a7d0e added broker to compose file 2020-11-07 12:56:26 +01:00
Jonas Winkler ae8a048ea6 fixed up the docker 2020-11-07 12:47:17 +01:00
Jonas Winkler b0465e65c3 nicer status 2020-11-07 12:10:53 +01:00
Jonas Winkler 036f11acaa better toasts, better dashboard, first implementation of consumer status 2020-11-07 12:05:15 +01:00
Jonas Winkler 572e40ca27 backend that supports asgi and status update sockets with channels 2020-11-07 11:31:04 +01:00
632 changed files with 184552 additions and 20869 deletions

No files matched your search

+9
View File
@@ -1,3 +1,4 @@
**/__pycache__
/src-ui/.vscode
/src-ui/node_modules
/src-ui/dist
@@ -10,3 +11,11 @@
.pytest_cache
/dist
/scripts
/resources
**/tests
**/*.spec.ts
**/htmlcov
/src/.pytest_cache
.idea
.venv/
.vscode/
+10 -1
View File
@@ -18,7 +18,13 @@ max_line_length = off
indent_size = 4
indent_style = space
[*.yml]
[*.{yml,yaml}]
indent_style = space
[*.rst]
indent_style = space
[*.md]
indent_style = space
# Tests don't get a line width restriction. It's still a good idea to follow
@@ -26,3 +32,6 @@ indent_style = space
# violate it.
[**/test_*.py]
max_line_length = off
[Dockerfile]
indent_style = space
+2 -1
View File
@@ -1 +1,2 @@
COMPOSE_PROJECT_NAME=paperless
COMPOSE_PROJECT_NAME=paperless
export PROMPT="(pipenv-projectname)$P$G"
+50
View File
@@ -0,0 +1,50 @@
---
name: Bug report
about: Something is not working
title: '[BUG] Concise description of the issue'
labels: ''
assignees: ''
---
<!---
=> Before opening an issue, please check the documentation and see if it helps you resolve your issue: https://paperless-ngx.readthedocs.io/en/latest/troubleshooting.html
=> Please also make sure that you followed the installation instructions.
=> Please search the issues and look for similar issues before opening a bug report.
=> If you would like to submit a feature request please submit one under https://github.com/paperless-ngx/paperless-ngx/discussions/categories/feature-requests
=> If you encounter issues while installing of configuring Paperless-ngx, please post that in the "Support" section of the discussions. Remember that Paperless successfully runs on a variety of different systems. If paperless does not start, it's probably an issue with your system, and not an issue of paperless.
=> Don't remove the [BUG] prefix from the title.
-->
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Webserver logs**
```
If available, post any logs from the web server related to your issue.
```
**Relevant information**
- Host OS of the machine running paperless: [e.g. Archlinux / Ubuntu 20.04]
- Browser [e.g. chrome, safari]
- Version [e.g. 1.0.0]
- Installation method: [docker / bare metal]
- Any configuration changes you made in `docker-compose.yml`, `docker-compose.env` or `paperless.conf`.
+19
View File
@@ -0,0 +1,19 @@
---
name: Other
about: Anything that is not a feature request or bug.
title: '[Other] Title of your issue'
labels: ''
assignees: ''
---
<!--
=> Discussions, Feedback and other suggestions belong in the "Discussion" section and not on the issue tracker.
=> If you would like to submit a feature request please submit one under https://github.com/paperless-ngx/paperless-ngx/discussions/categories/feature-requests
=> If you encounter issues while installing of configuring Paperless-ngx, please post that in the "Support" section of the discussions. Remember that Paperless successfully runs on a variety of different systems. If paperless does not start, it's probably is an issue with your system, and not an issue of paperless.
=> Don't remove the [Other] prefix from the title.
-->
+40
View File
@@ -0,0 +1,40 @@
<!--
Note: All PRs with code changes should be targeted to the `dev` branch, pure documentation changes can target `main`
-->
## Proposed change
<!--
Please include a summary of the change and which issue is fixed (if any) and any relevant motivation / context. List any dependencies that are required for this change. If appropriate, please include an explanation of how your poposed change can be tested. Screenshots and / or videos can also be helpful if appropriate.
-->
Fixes # (issue)
<!--
Please also tag the relevant team to help with review. You can tag any of the following:
@paperless-ngx/backend (Python / django, database, etc.)
@paperless-ngx/frontend (JavaScript/Typescript, HTML, CSS, etc.)
@paperless-ngx/ci-cd (GitHub Actions, deployment)
@paperless-ngx/test (General testing for larger PRs)
-->
## Type of change
<!--
What type of change does your PR introduce to Paperless-ngx?
NOTE: Please check only one box!
-->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
- [ ] Other (please explain)
## Checklist:
- [ ] I have read & agree with the [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/main/CONTRIBUTING.md).
- [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers.
- [ ] If applicable, I have checked that all tests pass, see [documentation](https://paperless-ngx.readthedocs.io/en/latest/extending.html#back-end-development).
- [ ] I have run all `pre-commit` hooks, see [documentation](https://paperless-ngx.readthedocs.io/en/latest/extending.html#code-formatting-with-pre-commit-hooks).
- [ ] I have made corresponding changes to the documentation as needed.
- [ ] I have checked my modifications for any breaking changes.
+41
View File
@@ -0,0 +1,41 @@
# https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#package-ecosystem
version: 2
updates:
# Enable version updates for npm
- package-ecosystem: "npm"
target-branch: "dev"
# Look for `package.json` and `lock` files in the `root` directory
directory: "/src-ui"
# Check the npm registry for updates every month
schedule:
interval: "monthly"
# Add reviewers
reviewers:
- "paperless-ngx/frontend"
# Enable version updates for Python
- package-ecosystem: "pip"
target-branch: "dev"
# Look for a `Pipfile` in the `root` directory
directory: "/"
# Check for updates once a week
schedule:
interval: "weekly"
labels:
- "backend"
- "dependencies"
# Enable updates for Github Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
# Check for updates to GitHub Actions every month
interval: "monthly"
labels:
- "ci-cd"
- "dependencies"
# Add reviewers
reviewers:
- "paperless-ngx/backend"
+18
View File
@@ -0,0 +1,18 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 30
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
- fixpending
# Label to use when marking an issue as stale
staleLabel: stale
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false
+359
View File
@@ -0,0 +1,359 @@
name: ci
on:
push:
tags:
- ngx-*
- beta-*
branches-ignore:
- 'translations**'
pull_request:
branches-ignore:
- 'translations**'
jobs:
documentation:
name: "Build Documentation"
runs-on: ubuntu-20.04
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Install pipenv
run: pipx install pipenv
-
name: Set up Python
uses: actions/setup-python@v3
with:
python-version: 3.9
cache: "pipenv"
cache-dependency-path: 'Pipfile.lock'
-
name: Install dependencies
run: |
pipenv sync --dev
-
name: Make documentation
run: |
cd docs/
pipenv run make html
-
name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: documentation
path: docs/_build/html/
code-checks-backend:
name: "Backend Code Checks"
runs-on: ubuntu-20.04
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Install checkers
run: |
pipx install reorder-python-imports
pipx install yesqa
pipx install add-trailing-comma
pipx install flake8
-
name: Run reorder-python-imports
run: |
find src/ -type f -name '*.py' ! -path "*/migrations/*" | xargs reorder-python-imports
-
name: Run yesqa
run: |
find src/ -type f -name '*.py' ! -path "*/migrations/*" | xargs yesqa
-
name: Run add-trailing-comma
run: |
find src/ -type f -name '*.py' ! -path "*/migrations/*" | xargs add-trailing-comma
# black is placed after add-trailing-comma because it may format differently
# if a trailing comma is added
-
name: Run black
uses: psf/black@stable
with:
options: "--check --diff"
version: "22.3.0"
-
name: Run flake8 checks
run: |
cd src/
flake8 --max-line-length=88 --ignore=E203,W503
code-checks-frontend:
name: "Frontend Code Checks"
runs-on: ubuntu-20.04
steps:
-
name: Checkout
uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '16'
-
name: Install prettier
run: |
npm install prettier
-
name: Run prettier
run:
npx prettier --check --ignore-path Pipfile.lock **/*.js **/*.ts *.md **/*.md
tests-backend:
needs: [code-checks-backend]
name: "Backend Tests (${{ matrix.python-version }})"
runs-on: ubuntu-20.04
strategy:
matrix:
python-version: ['3.8', '3.9']
fail-fast: false
steps:
-
name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
-
name: Install pipenv
run: pipx install pipenv
-
name: Set up Python
uses: actions/setup-python@v3
with:
python-version: "${{ matrix.python-version }}"
cache: "pipenv"
cache-dependency-path: 'Pipfile.lock'
-
name: Install system dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -qq --no-install-recommends unpaper tesseract-ocr imagemagick ghostscript optipng
-
name: Install Python dependencies
run: |
pipenv sync --dev
-
name: Tests
run: |
cd src/
pipenv run pytest
-
name: Get changed files
id: changed-files-specific
uses: tj-actions/changed-files@v18.1
with:
files: |
src/**
-
name: List all changed files
run: |
for file in ${{ steps.changed-files-specific.outputs.all_changed_files }}; do
echo "${file} was changed"
done
-
name: Publish coverage results
if: matrix.python-version == '3.9' && steps.changed-files-specific.outputs.any_changed == 'true'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# https://github.com/coveralls-clients/coveralls-python/issues/251
run: |
cd src/
pipenv run coveralls --service=github
tests-frontend:
needs: [code-checks-frontend]
name: "Frontend Tests"
runs-on: ubuntu-20.04
strategy:
matrix:
node-version: [16.x]
steps:
- uses: actions/checkout@v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- run: cd src-ui && npm ci
- run: cd src-ui && npm run test
- run: cd src-ui && npm run e2e:ci
# build and push image to docker hub.
build-docker-image:
if: github.event_name == 'push' && (startsWith(github.ref, 'refs/heads/feature-') || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/beta' || startsWith(github.ref, 'refs/tags/ngx-') || startsWith(github.ref, 'refs/tags/beta-'))
runs-on: ubuntu-20.04
needs: [tests-backend, tests-frontend]
steps:
-
name: Gather Docker metadata
id: docker-meta
uses: docker/metadata-action@v3
with:
images: ghcr.io/${{ github.repository }}
tags: |
type=match,pattern=ngx-(\d.\d.\d),group=1
type=semver,pattern=ngx-{{version}}
type=semver,pattern=ngx-{{major}}.{{minor}}
type=ref,event=branch
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
-
name: Set up QEMU
uses: docker/setup-qemu-action@v1
-
name: Login to Github Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: ./Dockerfile
platforms: linux/amd64,linux/arm/v7,linux/arm64
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.docker-meta.outputs.tags }}
labels: ${{ steps.docker-meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
-
name: Inspect image
run: |
docker buildx imagetools inspect ${{ fromJSON(steps.docker-meta.outputs.json).tags[0] }}
-
name: Export frontend artifact from docker
run: |
docker create --name frontend-extract ${{ fromJSON(steps.docker-meta.outputs.json).tags[0] }}
docker cp frontend-extract:/usr/src/paperless/src/documents/static/frontend src/documents/static/frontend/
-
name: Upload frontend artifact
uses: actions/upload-artifact@v3
with:
name: frontend-compiled
path: src/documents/static/frontend/
build-release:
needs: [build-docker-image, documentation]
runs-on: ubuntu-20.04
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Set up Python
uses: actions/setup-python@v3
with:
python-version: 3.9
-
name: Install dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -qq --no-install-recommends gettext liblept5
pip3 install --upgrade pip setuptools wheel
pip3 install -r requirements.txt
-
name: Download frontend artifact
uses: actions/download-artifact@v3
with:
name: frontend-compiled
path: src/documents/static/frontend/
-
name: Download documentation artifact
uses: actions/download-artifact@v3
with:
name: documentation
path: docs/_build/html/
-
name: Move files
run: |
mkdir dist
mkdir dist/paperless-ngx
mkdir dist/paperless-ngx/scripts
cp .dockerignore .env Dockerfile Pipfile Pipfile.lock LICENSE README.md requirements.txt dist/paperless-ngx/
cp paperless.conf.example dist/paperless-ngx/paperless.conf
cp gunicorn.conf.py dist/paperless-ngx/gunicorn.conf.py
cp docker/ dist/paperless-ngx/docker -r
cp scripts/*.service scripts/*.sh dist/paperless-ngx/scripts/
cp src/ dist/paperless-ngx/src -r
cp docs/_build/html/ dist/paperless-ngx/docs -r
-
name: Compile messages
run: |
cd dist/paperless-ngx/src
python3 manage.py compilemessages
-
name: Collect static files
run: |
cd dist/paperless-ngx/src
python3 manage.py collectstatic --no-input
-
name: Make release package
run: |
cd dist
find . -name __pycache__ | xargs rm -r
tar -cJf paperless-ngx.tar.xz paperless-ngx/
-
name: Upload release artifact
uses: actions/upload-artifact@v3
with:
name: release
path: dist/paperless-ngx.tar.xz
publish-release:
runs-on: ubuntu-20.04
needs: build-release
if: contains(github.ref, 'refs/tags/ngx-') || contains(github.ref, 'refs/tags/beta-')
steps:
-
name: Download release artifact
uses: actions/download-artifact@v3
with:
name: release
path: ./
-
name: Get version
id: get_version
run: |
if [[ $GITHUB_REF == refs/tags/ngx-* ]]; then
echo ::set-output name=version::${GITHUB_REF#refs/tags/ngx-}
echo ::set-output name=prerelease::false
echo ::set-output name=body::"For a complete list of changes, see the changelog at https://paperless-ngx.readthedocs.io/en/latest/changelog.html"
elif [[ $GITHUB_REF == refs/tags/beta-* ]]; then
echo ::set-output name=version::${GITHUB_REF#refs/tags/beta-}
echo ::set-output name=prerelease::true
echo ::set-output name=body::"For a complete list of changes, see the changelog at https://github.com/paperless-ngx/paperless-ngx/blob/beta/docs/changelog.rst"
fi
-
name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ngx-${{ steps.get_version.outputs.version }}
release_name: Paperless-ngx ${{ steps.get_version.outputs.version }}
draft: false
prerelease: ${{ steps.get_version.outputs.prerelease }}
body: ${{ steps.get_version.outputs.body }}
-
name: Upload release archive
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./paperless-ngx.tar.xz
asset_name: paperless-ngx-${{ steps.get_version.outputs.version }}.tar.xz
asset_content_type: application/x-xz
+54
View File
@@ -0,0 +1,54 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"
on:
push:
branches: [ main, dev ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ dev ]
schedule:
- cron: '28 13 * * 5'
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'javascript', 'python' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://git.io/codeql-language-support
steps:
- name: Checkout repository
uses: actions/checkout@v2
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
+47
View File
@@ -0,0 +1,47 @@
name: Project Automations
on:
issues:
types:
- opened
- reopened
pull_request_target: #_target allows access to secrets
types:
- opened
- reopened
branches:
- main
- dev
env:
todo: Todo
done: Done
in_progress: In Progress
jobs:
issue_opened_or_reopened:
name: issue_opened_or_reopened
runs-on: ubuntu-latest
if: github.event_name == 'issues' && (github.event.action == 'opened' || github.event.action == 'reopened')
steps:
- name: Set issue status to ${{ env.todo }}
uses: leonsteinhaeuser/project-beta-automations@v1.2.1
with:
gh_token: ${{ secrets.GH_TOKEN }}
organization: paperless-ngx
project_id: 2
resource_node_id: ${{ github.event.issue.node_id }}
status_value: ${{ env.todo }} # Target status
pr_opened_or_reopened:
name: pr_opened_or_reopened
runs-on: ubuntu-latest
if: github.event_name == 'pull_request_target' && (github.event.action == 'opened' || github.event.action == 'reopened')
steps:
- name: Set PR status to ${{ env.in_progress }}
uses: leonsteinhaeuser/project-beta-automations@v1.2.1
with:
gh_token: ${{ secrets.GH_TOKEN }}
organization: paperless-ngx
project_id: 2
resource_node_id: ${{ github.event.pull_request.node_id }}
status_value: ${{ env.in_progress }} # Target status
+6 -2
View File
@@ -61,12 +61,15 @@ target/
# PyCharm
.idea
# VS Code
.vscode
# Other stuff that doesn't belong
.virtualenv
virtualenv
/venv
docker-compose.env
docker-compose.yml
/docker-compose.env
/docker-compose.yml
# Used for development
scripts/import-for-development
@@ -85,3 +88,4 @@ scripts/nuke
# this is where the compiled frontend is moved to.
/src/documents/static/frontend/
/docs/.vscode/settings.json
+80
View File
@@ -0,0 +1,80 @@
# This file configures pre-commit hooks.
# See https://pre-commit.com/ for general information
# See https://pre-commit.com/hooks.html for a listing of possible hooks
repos:
# General hooks
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.1.0
hooks:
- id: check-docstring-first
- id: check-json
exclude: "tsconfig.*json"
- id: check-yaml
- id: check-toml
- id: check-executables-have-shebangs
- id: end-of-file-fixer
exclude_types:
- svg
- pofile
exclude: "(^LICENSE$)"
- id: mixed-line-ending
args:
- "--fix=lf"
- id: trailing-whitespace
exclude_types:
- svg
- id: check-case-conflict
- id: detect-private-key
- repo: https://github.com/pre-commit/mirrors-prettier
rev: "v2.6.1"
hooks:
- id: prettier
types_or:
- javascript
- ts
- markdown
exclude: "(^Pipfile\\.lock$)"
# Python hooks
- repo: https://github.com/asottile/reorder_python_imports
rev: v3.0.1
hooks:
- id: reorder-python-imports
exclude: "(migrations)"
- repo: https://github.com/asottile/yesqa
rev: "v1.3.0"
hooks:
- id: yesqa
exclude: "(migrations)"
- repo: https://github.com/asottile/add-trailing-comma
rev: "v2.2.1"
hooks:
- id: add-trailing-comma
exclude: "(migrations)"
- repo: https://gitlab.com/pycqa/flake8
rev: 3.9.2
hooks:
- id: flake8
files: ^src/
args:
- "--config=./src/setup.cfg"
- repo: https://github.com/psf/black
rev: 22.3.0
hooks:
- id: black
# Dockerfile hooks
- repo: https://github.com/pryorda/dockerfilelint-precommit-hooks
rev: "v0.1.0"
hooks:
- id: dockerfilelint
# Shell script hooks
- repo: https://github.com/lovesegfault/beautysh
rev: v6.2.1
hooks:
- id: beautysh
args:
- "--tab"
- repo: https://github.com/shellcheck-py/shellcheck-py
rev: "v0.8.0.4"
hooks:
- id: shellcheck
+4
View File
@@ -0,0 +1,4 @@
# https://prettier.io/docs/en/options.html#semicolons
semi: false
# https://prettier.io/docs/en/options.html#quotes
singleQuote: true
+16
View File
@@ -0,0 +1,16 @@
# .readthedocs.yml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: docs/conf.py
# Optionally set the version of Python and requirements required to build your docs
python:
version: "3.8"
install:
- requirements: docs/requirements.txt
-51
View File
@@ -1,51 +0,0 @@
language: python
dist: focal
os: linux
jobs:
include:
- name: "Paperless on Python 3.6"
python: "3.6"
- name: "Paperless on Python 3.7"
python: "3.7"
- name: "Paperless on Python 3.8"
python: "3.8"
- name: "Documentation"
script:
- cd docs/
- make html
after_success: true
- name: "Front end"
language: node_js
node_js:
- 15
before_install: true
install:
- cd src-ui/
- npm install -g @angular/cli
- npm install
script:
- ng build --prod
after_success: true
before_install:
- sudo apt-get update -qq
- sudo apt-get install -qq libpoppler-cpp-dev unpaper tesseract-ocr imagemagick ghostscript optipng
install:
- pip install --upgrade pipenv
- pipenv install --system --dev
script:
- cd src/
- pipenv run pytest --cov
- pipenv run pycodestyle
after_success:
- pipenv run coveralls
+128
View File
@@ -0,0 +1,128 @@
# Contributor Covenant Code of Conduct
## Our Pledge
We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.
We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.
## Our Standards
Examples of behavior that contributes to a positive environment for our
community include:
- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes,
and learning from the experience
- Focusing on what is best not just for us as individuals, but for the
overall community
Examples of unacceptable behavior include:
- The use of sexualized language or imagery, and sexual attention or
advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email
address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a
professional setting
## Enforcement Responsibilities
Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.
Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.
## Scope
This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
hello@paperless-ngx.com.
All complaints will be reviewed and investigated promptly and fairly.
All community leaders are obligated to respect the privacy and security of the
reporter of any incident.
## Enforcement Guidelines
Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:
### 1. Correction
**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.
**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.
### 2. Warning
**Community Impact**: A violation through a single incident or series
of actions.
**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.
### 3. Temporary Ban
**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.
**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.
### 4. Permanent Ban
**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior, harassment of an
individual, or aggression toward or disparagement of classes of individuals.
**Consequence**: A permanent ban from any sort of public interaction within
the community.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org
For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.
+113 -11
View File
@@ -1,30 +1,132 @@
# Contributing
There's still lots of things to be done, just have a look at that issue log. If you feel like conctributing to the project, please do! Bug fixes and improvements to the front end (I just can't seem to get some of these CSS things right) are always welcome.
If you feel like contributing to the project, please do! Bug fixes and improvements are always welcome.
If you want to implement something big: Please start a discussion about that in the issues! Maybe I've already had something similar in mind and we can make it happen together. However, keep in mind that the general roadmap is to make the existing features stable and get them tested. See the roadmap in the readme.
If you want to implement something big:
* When making additions to the project, consider if the majority of users will benefit from your change. If not, you're probably better of forking the project.
* Also consider if your change will get in the way of other users. A good change is a change that enhances the experience of some users who want that change and does not affect users who do not care about the change.
- Please start a discussion about that in the issues! Maybe something similar is already in development and we can make it happen together.
- When making additions to the project, consider if the majority of users will benefit from your change. If not, you're probably better of forking the project.
- Also consider if your change will get in the way of other users. A good change is a change that enhances the experience of some users who want that change and does not affect users who do not care about the change.
- Please see the [paperless-ngx merge process](#merging-prs) below.
## Python
Use python 3.6 for development. Paperless supports python 3.6, 3.7 and 3.8.
Paperless supports python 3.8 and 3.9. We format Python code with [Black](https://github.com/psf/black).
## Branches
master always reflects the latest release.
`main` always reflects the latest release. Apart from changes to the documentation or readme, absolutely no functional changes on this branch in between releases.
dev contains all changes that will be part of the next release. Use this branch to start making your changes.
`dev` contains all changes that will be part of the next release. Use this branch to start making your changes.
feature-X branches is for experimental stuff that will eventually be merged into dev, and then released as part of the next release.
`feature-X` branches are for experimental stuff that will eventually be merged into dev.
## Testing:
I'm trying to get most of paperless tested, so please do the same for your code! I know its a hassle, but it makes sure that your code works now and will allow us to detect regressions easily.
Please format and test your code! I know it's a hassle, but it makes sure that your code works now and will allow us to detect regressions easily.
To test your code, execute `pytest` in the src/ directory. Executing that in the project root is no good. This also generates a html coverage report, which you can use to see if you missed anything important during testing.
To test your code, execute `pytest` in the src/ directory. This also generates a html coverage report, which you can use to see if you missed anything important during testing.
Before you can run `pytest`, ensure to [properly set up your local environment](https://paperless-ngx.readthedocs.io/en/latest/extending.html#initial-setup-and-first-start).
## More info:
... is available in the documentation. https://paperless-ng.readthedocs.io/en/latest/extending.html
... is available in the documentation. https://paperless-ngx.readthedocs.io/en/latest/extending.html
# Merging PRs
Once you have submitted a **P**ull **R**equest it will be reviewed, approved, and merged by one or more community members of any team. Automated code tests and formatting checks must be passed.
## Non-Trivial Requests
PRs deemed `non-trivial` will go through a stricter review process before being merged into `dev`. This is to ensure code quality and complete functionality (free of side effects).
Examples of `non-trivial` PRs might include:
- Additional features
- Large changes to many distinct files
- Breaking or depreciation of existing features
Our community review process for `non-trivial` PRs is the following:
1. Must pass usual automated code tests and formatting checks.
2. The PR will be assigned and pinged to the appropriately experienced team (i.e. @paperless-ngx/backend for backend changes).
3. Development team will check and test code manually (possibly over several days).
- You may be asked to make changes or rebase.
- The team may ask for additional testing done by @paperless-ngx/test
4. **At least two** members of the team will approve and finally merge the request into `dev` 🎉.
This process might be slow as community members have different schedules and time to dedicate to the Paperless project. However it ensures community code reviews are as brilliantly thorough as they once were with @jonaswinkler.
# Translating Paperless-ngx
Some notes about translation:
- There are two resources:
- `src-ui/messages.xlf` contains the translation strings for the front end. This is the most important.
- `django.po` contains strings for the administration section of paperless, which is nice to have translated.
- Most of the front-end strings are used on buttons, menu items, etc., so ideally the translated string should not be much longer than the English original.
- Translation units may contain placeholders. These usually mean that there's a name of a tag or document or something in the string. You can click on the placeholders to copy them.
- Translation units may contain plural expressions such as `{PLURAL_VAR, plural, =1 {one result} =0 {no results} other {<placeholder> results}}`. Copy these verbatim and translate only the content in the inner `{}` brackets. Example: `{PLURAL_VAR, plural, =1 {Ein Ergebnis} =0 {Keine Ergebnisse} other {<placeholder> Ergebnisse}}`
- Changes to translations on Crowdin will get pushed into the repository automatically.
## Adding new languages to the codebase
If a language has already been added, and you would like to contribute new translations or change existing translations, please read the "Translation" section in the README.md file for further details on that.
If you would like the project to be translated to another language, first head over to https://crwd.in/paperless-ngx to check if that language has already been enabled for translation.
If not, please request the language to be added by creating an issue on GitHub. The issue should contain:
- English name of the language (the localized name can be added on Crowdin).
- ISO language code. A list of those can be found here: https://support.crowdin.com/enterprise/language-codes/
- Date format commonly used for the language, e.g. dd/mm/yyyy, mm/dd/yyyy, etc.
After the language has been added and some translations have been made on Crowdin, the language needs to be enabled in the code.
Note that there is no need to manually add a .po of .xlf file as those will be automatically generated and imported from Crowdin.
The following files need to be changed:
- src-ui/angular.json (under the _projects/paperless-ui/i18n/locales_ JSON key)
- src/paperless/settings.py (in the _LANGUAGES_ array)
- src-ui/src/app/services/settings.service.ts (inside the _getLanguageOptions_ method)
- src-ui/src/app/app.module.ts (import locale from _angular/common/locales_ and call _registerLocaleData_)
Please add the language in the correct order, alphabetically by locale.
Note that _en-us_ needs to stay on top of the list, as it is the default project language
If you are familiar with Git, feel free to send a Pull Request with those changes.
If not, let us know in the issue you created for the language, so that another developer can make these changes.
# Organization Structure & Membership
Paperless-ngx is a community project. We do our best to delegate permission and responsibility among a team of people to ensure the longevity of the project.
## Structure
As of writing, there are 21 members in paperless-ngx. 4 of these people have complete administrative privileges to the repo:
- [@shamoon](https://github.com/shamoon)
- [@bauerj](https://github.com/bauerj)
- [@qcasey](https://github.com/qcasey)
- [@FrankStrieter](https://github.com/FrankStrieter)
There are 5 teams collaborating on specific tasks within paperless-ngx:
- @paperless-ngx/backend (Python / django)
- @paperless-ngx/frontend (JavaScript / Typescript)
- @paperless-ngx/ci-cd (GitHub Actions / Deployment)
- @paperless-ngx/issues (Issue triage)
- @paperless-ngx/test (General testing for larger PRs)
## Permissions
All team members are notified when mentioned or assigned to a relevant issue or pull request. Additionally, each team has slightly different access to paperless-ngx:
- The **test** team has no special permissions.
- The **issues** team has `triage` access. This means they can organize issues and pull requests.
- The **backend**, **frontend**, and **ci-cd** teams have `write` access. This means they can approve PRs and push code, containers, releases, and more.
## Joining
We are not overly strict with inviting people to the organization. If you have read the [team permissions](#permissions) and think having additional access would enhance your contributions, please reach out to an [admin](#structure) of the team.
The admins occasionally invite contributors directly if we believe having them on a team will accelerate their work.
+70
View File
@@ -0,0 +1,70 @@
FROM node:16 AS compile-frontend
COPY . /src
WORKDIR /src/src-ui
RUN npm update npm -g && npm ci --no-optional
RUN ./node_modules/.bin/ng build --configuration production
FROM ghcr.io/paperless-ngx/builder/ngx-base:1.0 as main-app
LABEL org.opencontainers.image.authors="paperless-ngx team <hello@paperless-ngx.com>"
LABEL org.opencontainers.image.documentation="https://paperless-ngx.readthedocs.io/en/latest/"
LABEL org.opencontainers.image.source="https://github.com/paperless-ngx/paperless-ngx"
LABEL org.opencontainers.image.url="https://github.com/paperless-ngx/paperless-ngx"
LABEL org.opencontainers.image.licenses="GPL-3.0-only"
WORKDIR /usr/src/paperless/src/
COPY requirements.txt ../
# Python dependencies
RUN apt-get update \
# python-Levenshtein still needs to be compiled here
&& apt-get -y --no-install-recommends install \
build-essential \
&& python3 -m pip install --upgrade --no-cache-dir pip wheel \
&& python3 -m pip install --default-timeout=1000 --upgrade --no-cache-dir supervisor \
&& python3 -m pip install --default-timeout=1000 --no-cache-dir -r ../requirements.txt \
&& apt-get -y purge build-essential \
&& apt-get -y autoremove --purge \
&& rm -rf /var/lib/apt/lists/*
# setup docker-specific things
COPY docker/ ./docker/
RUN cd docker \
&& cp imagemagick-policy.xml /etc/ImageMagick-6/policy.xml \
&& mkdir /var/log/supervisord /var/run/supervisord \
&& cp supervisord.conf /etc/supervisord.conf \
&& cp docker-entrypoint.sh /sbin/docker-entrypoint.sh \
&& chmod 755 /sbin/docker-entrypoint.sh \
&& cp docker-prepare.sh /sbin/docker-prepare.sh \
&& chmod 755 /sbin/docker-prepare.sh \
&& chmod +x install_management_commands.sh \
&& ./install_management_commands.sh \
&& cd .. \
&& rm -rf docker/
COPY gunicorn.conf.py ../
# copy app
COPY --from=compile-frontend /src/src/ ./
# add users, setup scripts
RUN addgroup --gid 1000 paperless \
&& useradd --uid 1000 --gid paperless --home-dir /usr/src/paperless paperless \
&& chown -R paperless:paperless ../ \
&& gosu paperless python3 manage.py collectstatic --clear --no-input \
&& gosu paperless python3 manage.py compilemessages
VOLUME ["/usr/src/paperless/data", \
"/usr/src/paperless/media", \
"/usr/src/paperless/consume", \
"/usr/src/paperless/export"]
ENTRYPOINT ["/sbin/docker-entrypoint.sh"]
EXPOSE 8000
CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf"]
+31 -20
View File
@@ -8,40 +8,49 @@ url = "https://www.piwheels.org/simple"
verify_ssl = true
name = "piwheels"
[requires]
python_version = "3.6"
[packages]
dateparser = "~=0.7.6"
django = "~=3.1.3"
dateparser = "~=1.1"
django = "~=4.0"
django-cors-headers = "*"
django-extensions = "*"
django-filter = "~=2.4.0"
django-q = "~=1.3.4"
djangorestframework = "~=3.12.2"
django-filter = "~=21.1"
django-q = "~=1.3"
djangorestframework = "~=3.13"
filelock = "*"
fuzzywuzzy = "*"
fuzzywuzzy = {extras = ["speedup"], version = "*"}
gunicorn = "*"
imap-tools = "*"
langdetect = "*"
pdftotext = "*"
pathvalidate = "*"
pillow = "*"
pikepdf = "*"
pillow = "~=9.0"
# Any version update to pikepdf requires a base image update
pikepdf = "~=5.1"
python-gnupg = "*"
python-dotenv = "*"
python-dateutil = "*"
python-Levenshtein = "*"
python-magic = "*"
psycopg2-binary = "*"
# Any version update to psycopg2 requires a base image update
psycopg2 = "*"
redis = "*"
scikit-learn="~=0.23.2"
whitenoise = "~=5.2.0"
watchdog = "*"
# Pinned because aarch64 wheels and updates cause warnings when loading the classifier model.
scikit-learn="==1.0.2"
whitenoise = "~=6.0.0"
watchdog = "~=2.1.0"
whoosh="~=2.7.4"
inotifyrecursive = "~=0.3.4"
ocrmypdf = "*"
inotifyrecursive = "~=0.3"
ocrmypdf = "~=13.4"
tqdm = "*"
tika = "*"
# TODO: This will sadly also install daphne+dependencies,
# which an ASGI server we don't need. Adds about 15MB image size.
channels = "~=3.0"
channels-redis = "*"
uvicorn = {extras = ["standard"], version = "*"}
concurrent-log-handler = "*"
"pdfminer.six" = "*"
"backports.zoneinfo" = {version = "*", markers = "python_version < '3.9'"}
"importlib-resources" = {version = "*", markers = "python_version < '3.9'"}
zipp = {version = "*", markers = "python_version < '3.9'"}
[dev-packages]
coveralls = "*"
@@ -53,6 +62,8 @@ pytest-django = "*"
pytest-env = "*"
pytest-sugar = "*"
pytest-xdist = "*"
sphinx = "~=3.3"
sphinx = "~=4.4.0"
sphinx_rtd_theme = "*"
tox = "*"
black = "*"
pre-commit = "*"
Generated
+1553 -769
View File
File diff suppressed because it is too large. Load diff
+86 -83
View File
@@ -1,117 +1,120 @@
[![Build Status](https://travis-ci.org/jonaswinkler/paperless-ng.svg?branch=master)](https://travis-ci.org/jonaswinkler/paperless-ng)
[![Documentation Status](https://readthedocs.org/projects/paperless-ng/badge/?version=latest)](https://paperless-ng.readthedocs.io/en/latest/?badge=latest)
[![Docker Hub Pulls](https://img.shields.io/docker/pulls/jonaswinkler/paperless-ng.svg)](https://hub.docker.com/r/jonaswinkler/paperless-ng)
[![Coverage Status](https://coveralls.io/repos/github/jonaswinkler/paperless-ng/badge.svg?branch=master)](https://coveralls.io/github/jonaswinkler/paperless-ng?branch=master)
[![ci](https://github.com/paperless-ngx/paperless-ngx/workflows/ci/badge.svg)](https://github.com/paperless-ngx/paperless-ngx/actions)
[![Crowdin](https://badges.crowdin.net/paperless-ngx/localized.svg)](https://crowdin.com/project/paperless-ngx)
[![Documentation Status](https://readthedocs.org/projects/paperless-ngx/badge/?version=latest)](https://paperless-ngx.readthedocs.io/en/latest/?badge=latest)
[![Coverage Status](https://coveralls.io/repos/github/paperless-ngx/paperless-ngx/badge.svg?branch=master)](https://coveralls.io/github/paperless-ngx/paperless-ngx?branch=master)
[![Chat on Matrix](https://matrix.to/img/matrix-badge.svg)](https://matrix.to/#/#paperless:adnidor.de)
# Paperless-ng
<p align="center">
<img src="https://github.com/paperless-ngx/paperless-ngx/raw/main/resources/logo/web/png/Black%20logo%20-%20no%20background.png#gh-light-mode-only" width="50%" />
<img src="https://github.com/paperless-ngx/paperless-ngx/raw/main/resources/logo/web/png/White%20logo%20-%20no%20background.png#gh-dark-mode-only" width="50%" />
</p>
[Paperless](https://github.com/the-paperless-project/paperless) is an application by Daniel Quinn and others that indexes your scanned documents and allows you to easily search for documents and store metadata alongside your documents.
<!-- omit in toc -->
Paperless-ng is a fork of the original project, adding a new interface and many other changes under the hood. For a detailed list of changes, have a look at the changelog in the documentation.
# Paperless-ngx
This project is still in development and some things may not work as expected.
Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, _less paper_.
# How it Works
Paperless-ngx forked from [paperless-ng](https://github.com/jonaswinkler/paperless-ng) to continue the great work and distribute responsibility of supporting and advancing the project among a team of people. [Consider joining us!](#community-support) Discussion of this transition can be found in issues
[#1599](https://github.com/jonaswinkler/paperless-ng/issues/1599) and [#1632](https://github.com/jonaswinkler/paperless-ng/issues/1632).
Paperless does not control your scanner, it only helps you deal with what your scanner produces.
A demo is available at [demo.paperless-ngx.com](https://demo.paperless-ngx.com) using login `demo` / `demo`. _Note: demo content is reset frequently and confidential information should not be uploaded._
1. Buy a document scanner that can write to a place on your network. If you need some inspiration, have a look at the [scanner recommendations](https://paperless-ng.readthedocs.io/en/latest/scanners.html) page. Set it up to "scan to FTP" or something similar. It should be able to push scanned images to a server without you having to do anything. Of course if your scanner doesn't know how to automatically upload the file somewhere, you can always do that manually. Paperless doesn't care how the documents get into its local consumption directory.
- Alternatively, you can use any of the mobile scanning apps out there. We have an app that allows you to share documents with paperless, if you're on Android. See the section on affiliated projects.
2. Wait for paperless to process your files. OCR is expensive, and depending on the power of your machine, this might take a bit of time.
3. Use the web frontend to sift through the database and find what you want.
4. Download the PDF you need/want via the web interface and do whatever you like with it. You can even print it and send it as if it's the original. In most cases, no one will care or notice.
Here's what you get:
![Dashboard](https://github.com/jonaswinkler/paperless-ng/raw/master/docs/_static/screenshots/dashboard.png)
- [Features](#features)
- [Getting started](#getting-started)
- [Contributing](#contributing)
- [Community Support](#community-support)
- [Translation](#translation)
- [Feature Requests](#feature-requests)
- [Bugs](#bugs)
- [Affiliated Projects](#affiliated-projects)
- [Important Note](#important-note)
# Features
* Performs OCR on your documents, adds selectable text to image only documents and adds tags, correspondents and document types to your documents.
* Paperless stores your documents plain on disk. Filenames and folders are managed by paperless and can be configured freely.
* Single page application front end. Should be pretty snappy. Will be mobile friendly in the future.
* Includes a dashboard that shows basic statistics and has document upload.
* Filtering by tags, correspondents, types, and more.
* Customizable views can be saved and displayed on the dashboard.
* Full text search with auto completion, scored results and query highlighting allows you to quickly find what you need.
* Email processing: Paperless adds documents from your email accounts.
* Configure multiple accounts and filters for each account.
* When adding documents from mails, paperless can move these mails to a new folder, mark them as read, flag them or delete them.
* Machine learning powered document matching.
* Paperless learns from your documents and will be able to automatically assign tags, correspondents and types to documents once you've stored a few documents in paperless.
* A task processor that processes documents in parallel and also tells you when something goes wrong. On modern multi core systems, consumption is blazing fast.
* Code cleanup in many, MANY areas. Some of the code from OG paperless was just overly complicated.
* More tests, more stability.
![Dashboard](https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docs/_static/screenshots/documents-wchrome.png#gh-light-mode-only)
![Dashboard](https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docs/_static/screenshots/documents-wchrome-dark.png#gh-dark-mode-only)
If you want to see some screenshots of paperless-ng in action, [some are available in the documentation](https://paperless-ng.readthedocs.io/en/latest/screenshots.html).
For a complete list of changes from paperless, check out the [changelog](https://paperless-ng.readthedocs.io/en/latest/changelog.html)
# Roadmap for 1.0
- Make the front end nice (except mobile).
- Test coverage at 90%.
- Fix whatever bugs I and you find.
## Roadmap for versions beyond 1.0
These are things that I want to add to paperless eventually. They are sorted by priority.
- **Bulk editing**. Add/remove metadata from multiple documents at once.
- **More search.** The search backend is incredibly versatile and customizable. Searching is the most important feature of this project and thus, I want to implement things like:
- Group and limit search results by correspondent, show “more from this” links in the results.
- Ability to search for “Similar documents” in the search results
- **Nested tags**. Organize tags in a hierarchical structure. This will combine the benefits of folders and tags in one coherent system.
- **An interactive consumer** that shows its progress for documents it processes on the web page.
- With live updates ans websockets. This already works on a dev branch, but requires a lot of new dependencies, which I'm not particular happy about.
- Notifications when a document was added with buttons to open the new document right away.
- **Arbitrary tag colors**. Allow the selection of any color with a color picker.
## On the chopping block.
- **GnuPG encrypion.** [Here's a note about encryption in paperless](https://paperless-ng.readthedocs.io/en/latest/administration.html#managing-encryption). The gist of it is that I don't see which attacks this implementation protects against. It gives a false sense of security to users who don't care about how it works.
- Organize and index your scanned documents with tags, correspondents, types, and more.
- Performs OCR on your documents, adds selectable text to image only documents and adds tags, correspondents and document types to your documents.
- Supports PDF documents, images, plain text files, and Office documents (Word, Excel, Powerpoint, and LibreOffice equivalents).
- Office document support is optional and provided by Apache Tika (see [configuration](https://paperless-ngx.readthedocs.io/en/latest/configuration.html#tika-settings))
- Paperless stores your documents plain on disk. Filenames and folders are managed by paperless and their format can be configured freely.
- Single page application front end.
- Includes a dashboard that shows basic statistics and has document upload.
- Filtering by tags, correspondents, types, and more.
- Customizable views can be saved and displayed on the dashboard.
- Full text search helps you find what you need.
- Auto completion suggests relevant words from your documents.
- Results are sorted by relevance to your search query.
- Highlighting shows you which parts of the document matched the query.
- Searching for similar documents ("More like this")
- Email processing: Paperless adds documents from your email accounts.
- Configure multiple accounts and filters for each account.
- When adding documents from mail, paperless can move these mail to a new folder, mark them as read, flag them as important or delete them.
- Machine learning powered document matching.
- Paperless-ngx learns from your documents and will be able to automatically assign tags, correspondents and types to documents once you've stored a few documents in paperless.
- Optimized for multi core systems: Paperless-ngx consumes multiple documents in parallel.
- The integrated sanity checker makes sure that your document archive is in good health.
- [More screenshots are available in the documentation](https://paperless-ngx.readthedocs.io/en/latest/screenshots.html).
# Getting started
The recommended way to deploy paperless is docker-compose. Don't clone the repository, grab the latest release to get started instead. The dockerfiles archive contains just the docker files which will pull the image from docker hub. The source archive contains everything you need to build the docker image yourself (i.e. if you want to run on Raspberry Pi).
The easiest way to deploy paperless is docker-compose. The files in the [`/docker/compose` directory](https://github.com/paperless-ngx/paperless-ngx/tree/main/docker/compose) are configured to pull the image from Github Packages.
Read the [documentation](https://paperless-ng.readthedocs.io/en/latest/setup.html#installation) on how to get started.
If you'd like to jump right in, you can configure a docker-compose environment with our install script:
Alternatively, you can install the dependencies and setup apache and a database server yourself. The documenation has a step by step guide on how to do it.
```bash
bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"
```
# Migrating to paperless-ng
Alternatively, you can install the dependencies and setup apache and a database server yourself. The [documentation](https://paperless-ngx.readthedocs.io/en/latest/setup.html#installation) has a step by step guide on how to do it.
Read the section about [migration](https://paperless-ng.readthedocs.io/en/latest/setup.html#migration-to-paperless-ng) in the documentation. Its also entirely possible to go back to paperless by reverting the database migrations.
Migrating from Paperless-ng is easy, just drop in the new docker image! See the [documentation on migrating](https://paperless-ngx.readthedocs.io/en/latest/setup.html#migrating-from-paperless-ng) for more details.
# Documentation
<!-- omit in toc -->
The documentation for Paperless-ng is available on [ReadTheDocs](https://paperless-ng.readthedocs.io/).
### Documentation
# Suggestions? Questions? Something not working?
The documentation for Paperless-ngx is available on [ReadTheDocs](https://paperless-ngx.readthedocs.io/).
Please open an issue and start a discussion about it!
# Contributing
## Feel like helping out?
If you feel like contributing to the project, please do! Bug fixes, enhancements, visual fixes etc. are always welcome. If you want to implement something big: Please start a discussion about that! The [documentation](https://paperless-ngx.readthedocs.io/en/latest/extending.html) has some basic information on how to get started.
There's still lots of things to be done, just have a look at that issue log. If you feel like contributing to the project, please do! Bug fixes and improvements to the front end (I just can't seem to get some of these CSS things right) are always welcome. The documentation has some basic information on how to get started.
## Community Support
If you want to implement something big: Please start a discussion about that in the issues! Maybe I've already had something similar in mind and we can make it happen together. However, keep in mind that the general roadmap is to make the existing features stable and get them tested. See the roadmap above.
People interested in continuing the work on paperless-ngx are encouraged to reach out here on github and in the [Matrix Room](https://matrix.to/#/#paperless:adnidor.de). If you would like to contribute to the project on an ongoing basis there are multiple [teams](https://github.com/orgs/paperless-ngx/people) (frontend, ci/cd, etc) that could use your help so please reach out!
## Translation
Paperless-ngx is available in many languages that are coordinated on Crowdin. If you want to help out by translating paperless-ngx into your language, please head over to https://crwd.in/paperless-ngx, and thank you! More details can be found in [CONTRIBUTING.md](https://github.com/paperless-ngx/paperless-ngx/blob/main/CONTRIBUTING.md#translating-paperless-ngx).
## Feature Requests
Feature requests can be submitted via [GitHub Discussions](https://github.com/paperless-ngx/paperless-ngx/discussions/categories/feature-requests), you can search for existing ideas, add your own and vote for the ones you care about.
## Bugs
For bugs please [open an issue](https://github.com/paperless-ngx/paperless-ngx/issues) or [start a discussion](https://github.com/paperless-ngx/paperless-ngx/discussions) if you have questions.
# Affiliated Projects
Paperless has been around a while now, and people are starting to build stuff on top of it. If you're one of those people, we can add your project to this list:
Paperless has been around a while now, and people are starting to build stuff on top of it. If you're one of those people, we can add your project to this list:
* [Paperless App](https://github.com/bauerj/paperless_app): An Android/iOS app for Paperless. Updated to work with paperless-ng.
* [Paperless Share](https://github.com/qcasey/paperless_share). Share any files from your Android application with paperless. Very simple, but works with all of the mobile scanning apps out there that allow you to share scanned documents.
- [Paperless App](https://github.com/bauerj/paperless_app): An Android/iOS app for Paperless-ngx. Also works with the original Paperless and Paperless-ngx.
- [Paperless Share](https://github.com/qcasey/paperless_share). Share any files from your Android application with paperless. Very simple, but works with all of the mobile scanning apps out there that allow you to share scanned documents.
- [Scan to Paperless](https://github.com/sbrunner/scan-to-paperless): Scan and prepare (crop, deskew, OCR, ...) your documents for Paperless.
These projects also exist, but their status and compatibility with paperless-ng is unknown.
These projects also exist, but their status and compatibility with paperless-ngx is unknown.
* [Paperless Desktop](https://github.com/thomasbrueggemann/paperless-desktop): A desktop UI for your Paperless installation. Runs on Mac, Linux, and Windows.
* [ansible-role-paperless](https://github.com/ovv/ansible-role-paperless): An easy way to get Paperless running via Ansible.
* [paperless-cli](https://github.com/stgarf/paperless-cli): A golang command line binary to interact with a Paperless instance.
- [paperless-cli](https://github.com/stgarf/paperless-cli): A golang command line binary to interact with a Paperless instance.
This project also exists, but needs updates to be compatible with paperless-ngx.
- [Paperless Desktop](https://github.com/thomasbrueggemann/paperless-desktop): A desktop UI for your Paperless installation. Runs on Mac, Linux, and Windows.
Known issues on Mac: (Could not load reminders and documents)
# Important Note
Document scanners are typically used to scan sensitive documents. Things like your social insurance number, tax records, invoices, etc. Everything is stored in the clear without encryption by default (it needs to be searchable, so if someone has ideas on how to do that on encrypted data, I'm all ears). This means that Paperless should never be run on an untrusted host. Instead, I recommend that if you do want to use it, run it locally on a server in your own home.
Document scanners are typically used to scan sensitive documents. Things like your social insurance number, tax records, invoices, etc. Everything is stored in the clear without encryption. This means that Paperless should never be run on an untrusted host. Instead, I recommend that if you do want to use it, run it locally on a server in your own home.
+6
View File
@@ -0,0 +1,6 @@
commit_message: '[ci skip]'
files:
- source: /src/locale/en_US/LC_MESSAGES/django.po
translation: /src/locale/%locale_with_underscore%/LC_MESSAGES/django.po
- source: /src-ui/messages.xlf
translation: /src-ui/src/locale/messages.%locale_with_underscore%.xlf
+1
View File
@@ -0,0 +1 @@
COMPOSE_PROJECT_NAME=paperless
@@ -7,7 +7,7 @@
# Additional languages to install for text recognition, separated by a
# whitespace. Note that this is
# different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the
# default language used when guessing the language from the OCR output.
# language used for OCR.
# The container installs English, German, Italian, Spanish and French by
# default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
@@ -0,0 +1,97 @@
# docker-compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8010.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
#
# To install and update paperless with this file, do the following:
#
# - Open portainer Stacks list and click 'Add stack'
# - Paste the contents of this file and assign a name, e.g. 'Paperless'
# - Click 'Deploy the stack' and wait for it to be deployed
# - Open the list of containers, select paperless_webserver_1
# - Click 'Console' and then 'Connect' to open the command line inside the container
# - Run 'python3 manage.py createsuperuser' to create a user
# - Exit the console
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: redis:6.0
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: postgres:13
restart: unless-stopped
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- 8010:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
# The UID and GID of the user used to run paperless in the container. Set this
# to your UID and GID on the host so that you have write access to the
# consumption directory.
USERMAP_UID: 1000
USERMAP_GID: 100
# Additional languages to install for text recognition, separated by a
# whitespace. Note that this is
# different from PAPERLESS_OCR_LANGUAGE (default=eng), which defines the
# language used for OCR.
# The container installs English, German, Italian, Spanish and French by
# default.
# See https://packages.debian.org/search?keywords=tesseract-ocr-&searchon=names&suite=buster
# for available languages.
#PAPERLESS_OCR_LANGUAGES: tur ces
# Adjust this key if you plan to make paperless available publicly. It should
# be a very long sequence of random characters. You don't need to remember it.
#PAPERLESS_SECRET_KEY: change-me
# Use this variable to set a timezone for the Paperless Docker containers. If not specified, defaults to UTC.
#PAPERLESS_TIME_ZONE: America/Los_Angeles
# The default language to use for OCR. Set this to the language most of your
# documents are written in.
#PAPERLESS_OCR_LANGUAGE: eng
volumes:
data:
media:
pgdata:
redisdata:
@@ -0,0 +1,95 @@
# docker-compose file for running paperless from the docker container registry.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware. The apache/tika image
# does not support arm or arm64, however.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
# - Apache Tika and Gotenberg servers are started with paperless and paperless
# is configured to use these services. These provide support for consuming
# Office documents (Word, Excel, Power Point and their LibreOffice counter-
# parts.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: redis:6.0
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: postgres:13
restart: unless-stopped
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
- gotenberg
- tika
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
gotenberg:
image: gotenberg/gotenberg:7
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-routes=true"
tika:
image: apache/tika
restart: unless-stopped
volumes:
data:
media:
pgdata:
redisdata:
@@ -0,0 +1,75 @@
# docker-compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Instead of SQLite (default), PostgreSQL is used as the database server.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: redis:6.0
restart: unless-stopped
volumes:
- redisdata:/data
db:
image: postgres:13
restart: unless-stopped
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- db
- broker
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
volumes:
data:
media:
pgdata:
redisdata:
@@ -0,0 +1,84 @@
# docker-compose file for running paperless from the docker container registry.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# SQLite is used as the database. The SQLite file is stored in the data volume.
#
# iwishiwasaneagle/apache-tika-arm docker image is used to enable arm64 arch
# which apache/tika does not currently support.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Apache Tika and Gotenberg servers are started with paperless and paperless
# is configured to use these services. These provide support for consuming
# Office documents (Word, Excel, Power Point and their LibreOffice counter-
# parts.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: redis:6.0
restart: unless-stopped
volumes:
- redisdata:/data
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- broker
- gotenberg
- tika
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
gotenberg:
image: thecodingmachine/gotenberg
restart: unless-stopped
environment:
DISABLE_GOOGLE_CHROME: 1
tika:
image: iwishiwasaneagle/apache-tika-arm@sha256:a78c25ffe57ecb1a194b2859d42a61af46e9e845191512b8f1a4bf90578ffdfd
restart: unless-stopped
volumes:
data:
media:
redisdata:
@@ -0,0 +1,83 @@
# docker-compose file for running paperless from the docker container registry.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware. The apache/tika image
# does not support arm or arm64, however.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# SQLite is used as the database. The SQLite file is stored in the data volume.
#
# In addition to that, this docker-compose file adds the following optional
# configurations:
#
# - Apache Tika and Gotenberg servers are started with paperless and paperless
# is configured to use these services. These provide support for consuming
# Office documents (Word, Excel, Power Point and their LibreOffice counter-
# parts.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: redis:6.0
restart: unless-stopped
volumes:
- redisdata:/data
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- broker
- gotenberg
- tika
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
gotenberg:
image: gotenberg/gotenberg:7
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-routes=true"
tika:
image: apache/tika
restart: unless-stopped
volumes:
data:
media:
redisdata:
+59
View File
@@ -0,0 +1,59 @@
# docker-compose file for running paperless from the Docker Hub.
# This file contains everything paperless needs to run.
# Paperless supports amd64, arm and arm64 hardware.
#
# All compose files of paperless configure paperless in the following way:
#
# - Paperless is (re)started on system boot, if it was running before shutdown.
# - Docker volumes for storing data are managed by Docker.
# - Folders for importing and exporting files are created in the same directory
# as this file and mounted to the correct folders inside the container.
# - Paperless listens on port 8000.
#
# SQLite is used as the database. The SQLite file is stored in the data volume.
#
# To install and update paperless with this file, do the following:
#
# - Copy this file as 'docker-compose.yml' and the files 'docker-compose.env'
# and '.env' into a folder.
# - Run 'docker-compose pull'.
# - Run 'docker-compose run --rm webserver createsuperuser' to create a user.
# - Run 'docker-compose up -d'.
#
# For more extensive installation and update instructions, refer to the
# documentation.
version: "3.4"
services:
broker:
image: redis:6.0
restart: unless-stopped
volumes:
- redisdata:/data
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
restart: unless-stopped
depends_on:
- broker
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
volumes:
data:
media:
redisdata:
Regular → Executable
+47 -89
View File
@@ -1,90 +1,45 @@
#!/bin/bash
#!/usr/bin/env bash
set -e
# Source: https://github.com/sameersbn/docker-gitlab/
map_uidgid() {
USERMAP_ORIG_UID=$(id -u paperless)
USERMAP_ORIG_GID=$(id -g paperless)
USERMAP_NEW_UID=${USERMAP_UID:-$USERMAP_ORIG_UID}
USERMAP_NEW_GID=${USERMAP_GID:-${USERMAP_ORIG_GID:-$USERMAP_NEW_UID}}
if [[ ${USERMAP_NEW_UID} != "${USERMAP_ORIG_UID}" || ${USERMAP_NEW_GID} != "${USERMAP_ORIG_GID}" ]]; then
echo "Mapping UID and GID for paperless:paperless to $USERMAP_NEW_UID:$USERMAP_NEW_GID"
usermod -u "${USERMAP_NEW_UID}" paperless
groupmod -o -g "${USERMAP_NEW_GID}" paperless
fi
}
wait_for_postgres() {
attempt_num=1
max_attempts=5
echo "Waiting for PostgreSQL to start..."
host="${PAPERLESS_DBHOST}"
port="${PAPERLESS_DBPORT}"
if [[ -z $port ]] ;
then
port="5432"
USERMAP_ORIG_UID=$(id -u paperless)
USERMAP_ORIG_GID=$(id -g paperless)
USERMAP_NEW_UID=${USERMAP_UID:-$USERMAP_ORIG_UID}
USERMAP_NEW_GID=${USERMAP_GID:-${USERMAP_ORIG_GID:-$USERMAP_NEW_UID}}
if [[ ${USERMAP_NEW_UID} != "${USERMAP_ORIG_UID}" || ${USERMAP_NEW_GID} != "${USERMAP_ORIG_GID}" ]]; then
echo "Mapping UID and GID for paperless:paperless to $USERMAP_NEW_UID:$USERMAP_NEW_GID"
usermod -o -u "${USERMAP_NEW_UID}" paperless
groupmod -o -g "${USERMAP_NEW_GID}" paperless
fi
while !</dev/tcp/$host/$port ;
do
if [ $attempt_num -eq $max_attempts ]
then
echo "Unable to connect to database."
exit 1
else
echo "Attempt $attempt_num failed! Trying again in 5 seconds..."
fi
attempt_num=$(expr "$attempt_num" + 1)
sleep 5
done
}
migrations() {
if [[ -n "${PAPERLESS_DBHOST}" ]]
then
wait_for_postgres
fi
(
# flock is in place to prevent multiple containers from doing migrations
# simultaneously. This also ensures that the db is ready when the command
# of the current container starts.
flock 200
sudo -HEu paperless python3 manage.py migrate
) 200>/usr/src/paperless/data/migration_lock
}
initialize() {
map_uidgid
for dir in export data data/index media media/documents media/documents/originals media/documents/thumbnails; do
if [[ ! -d "../$dir" ]]
then
echo "creating directory ../$dir"
if [[ ! -d "../$dir" ]]; then
echo "Creating directory ../$dir"
mkdir ../$dir
fi
done
chown -R paperless:paperless ../
echo "Creating directory /tmp/paperless"
mkdir -p /tmp/paperless
migrations
set +e
echo "Adjusting permissions of paperless files. This may take a while."
chown -R paperless:paperless /tmp/paperless
find .. -not \( -user paperless -and -group paperless \) -exec chown paperless:paperless {} +
set -e
gosu paperless /sbin/docker-prepare.sh
}
install_languages() {
echo "Installing languages..."
local langs="$1"
read -ra langs <<<"$langs"
@@ -95,40 +50,43 @@ install_languages() {
apt-get update
for lang in "${langs[@]}"; do
pkg="tesseract-ocr-$lang"
# English is installed by default
#if [[ "$lang" == "eng" ]]; then
# continue
#fi
pkg="tesseract-ocr-$lang"
# English is installed by default
#if [[ "$lang" == "eng" ]]; then
# continue
#fi
if dpkg -s $pkg &> /dev/null; then
echo "package $pkg already installed!"
continue
fi
if dpkg -s "$pkg" &>/dev/null; then
echo "Package $pkg already installed!"
continue
fi
if ! apt-cache show $pkg &> /dev/null; then
echo "package $pkg not found! :("
continue
fi
if ! apt-cache show "$pkg" &>/dev/null; then
echo "Package $pkg not found! :("
continue
fi
echo "Installing package $pkg..."
if ! apt-get -y install "$pkg" &> /dev/null; then
echo "Could not install $pkg"
exit 1
fi
done
echo "Installing package $pkg..."
if ! apt-get -y install "$pkg" &>/dev/null; then
echo "Could not install $pkg"
exit 1
fi
done
}
echo "Paperless-ngx docker container starting..."
# Install additional languages if specified
if [[ ! -z "$PAPERLESS_OCR_LANGUAGES" ]]; then
install_languages "$PAPERLESS_OCR_LANGUAGES"
if [[ -n "$PAPERLESS_OCR_LANGUAGES" ]]; then
install_languages "$PAPERLESS_OCR_LANGUAGES"
fi
initialize
if [[ "$1" != "/"* ]]; then
exec sudo -HEu paperless python3 manage.py "$@"
echo Executing management command "$@"
exec gosu paperless python3 manage.py "$@"
else
echo Executing "$@"
exec "$@"
fi
+69
View File
@@ -0,0 +1,69 @@
#!/usr/bin/env bash
wait_for_postgres() {
attempt_num=1
max_attempts=5
echo "Waiting for PostgreSQL to start..."
host="${PAPERLESS_DBHOST:=localhost}"
port="${PAPERLESS_DBPORT:=5342}"
while [ ! "$(pg_isready -h $host -p $port)" ]; do
if [ $attempt_num -eq $max_attempts ]; then
echo "Unable to connect to database."
exit 1
else
echo "Attempt $attempt_num failed! Trying again in 5 seconds..."
fi
attempt_num=$(("$attempt_num" + 1))
sleep 5
done
}
migrations() {
(
# flock is in place to prevent multiple containers from doing migrations
# simultaneously. This also ensures that the db is ready when the command
# of the current container starts.
flock 200
echo "Apply database migrations..."
python3 manage.py migrate
) 200>/usr/src/paperless/data/migration_lock
}
search_index() {
index_version=1
index_version_file=/usr/src/paperless/data/.index_version
if [[ (! -f "$index_version_file") || $(<$index_version_file) != "$index_version" ]]; then
echo "Search index out of date. Updating..."
python3 manage.py document_index reindex
echo $index_version | tee $index_version_file >/dev/null
fi
}
superuser() {
if [[ -n "${PAPERLESS_ADMIN_USER}" ]]; then
python3 manage.py manage_superuser
fi
}
do_work() {
if [[ -n "${PAPERLESS_DBHOST}" ]]; then
wait_for_postgres
fi
migrations
search_index
superuser
}
do_work
-44
View File
@@ -1,44 +0,0 @@
version: "3.4"
services:
broker:
image: redis:6.0
restart: always
db:
image: postgres:13
restart: always
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
image: jonaswinkler/paperless-ng:0.9.7
restart: always
depends_on:
- db
- broker
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
volumes:
data:
media:
pgdata:
-31
View File
@@ -1,31 +0,0 @@
version: "3.4"
services:
broker:
image: redis:6.0
restart: always
webserver:
image: jonaswinkler/paperless-ng:0.9.7
restart: always
depends_on:
- broker
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
volumes:
data:
media:
+8
View File
@@ -0,0 +1,8 @@
#!/usr/bin/env bash
for command in document_archiver document_exporter document_importer mail_fetcher document_create_classifier document_index document_renamer document_retagger document_thumbnails document_sanity_checker manage_superuser;
do
echo "installing $command..."
sed "s/management_command/$command/g" management_script.sh > /usr/local/bin/$command
chmod +x /usr/local/bin/$command
done
-67
View File
@@ -1,67 +0,0 @@
FROM python:3.7-slim
WORKDIR /usr/src/paperless/
COPY requirements.txt ./
#Dependencies
RUN apt-get update \
&& apt-get -y --no-install-recommends install \
build-essential \
curl \
ghostscript \
gnupg \
icc-profiles-free \
imagemagick \
libatlas-base-dev \
liblept5 \
libmagic-dev \
libpoppler-cpp-dev \
libpq-dev \
libqpdf-dev \
libxml2 \
optipng \
pngquant \
qpdf \
sudo \
tesseract-ocr \
tesseract-ocr-eng \
tesseract-ocr-deu \
tesseract-ocr-fra \
tesseract-ocr-ita \
tesseract-ocr-spa \
tzdata \
unpaper \
zlib1g \
&& pip3 install --upgrade supervisor setuptools \
&& pip install --no-cache-dir -r requirements.txt \
&& apt-get -y purge build-essential libqpdf-dev \
&& apt-get -y autoremove --purge \
&& rm -rf /var/lib/apt/lists/* \
&& mkdir /var/log/supervisord /var/run/supervisord
# copy scripts
# this fixes issues with imagemagick and PDF
COPY docker/imagemagick-policy.xml /etc/ImageMagick-6/policy.xml
COPY docker/gunicorn.conf.py ./
COPY docker/supervisord.conf /etc/supervisord.conf
COPY docker/docker-entrypoint.sh /sbin/docker-entrypoint.sh
# copy app
COPY src/ ./src/
# add users, setup scripts
RUN addgroup --gid 1000 paperless \
&& useradd --uid 1000 --gid paperless --home-dir /usr/src/paperless paperless \
&& chown -R paperless:paperless . \
&& chmod 755 /sbin/docker-entrypoint.sh
WORKDIR /usr/src/paperless/src/
RUN sudo -HEu paperless python3 manage.py collectstatic --clear --no-input
VOLUME ["/usr/src/paperless/data", "/usr/src/paperless/media", "/usr/src/paperless/consume", "/usr/src/paperless/export"]
ENTRYPOINT ["/sbin/docker-entrypoint.sh"]
CMD ["/usr/local/bin/supervisord", "-c", "/etc/supervisord.conf"]
LABEL maintainer="Jonas Winkler <dev@jpwinkler.de>"
-44
View File
@@ -1,44 +0,0 @@
version: "3.4"
services:
broker:
image: redis:6.0
restart: always
db:
image: postgres:13
restart: always
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_DB: paperless
POSTGRES_USER: paperless
POSTGRES_PASSWORD: paperless
webserver:
build: .
restart: always
depends_on:
- db
- broker
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
PAPERLESS_DBHOST: db
volumes:
data:
media:
pgdata:
-31
View File
@@ -1,31 +0,0 @@
version: "3.4"
services:
broker:
image: redis:6.0
restart: always
webserver:
build: .
restart: always
depends_on:
- broker
ports:
- 8000:8000
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000"]
interval: 30s
timeout: 10s
retries: 5
volumes:
- data:/usr/src/paperless/data
- media:/usr/src/paperless/media
- ./export:/usr/src/paperless/export
- ./consume:/usr/src/paperless/consume
env_file: docker-compose.env
environment:
PAPERLESS_REDIS: redis://broker:6379
volumes:
data:
media:
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
set -e
cd /usr/src/paperless/src/
if [[ $(id -u) == 0 ]] ;
then
gosu paperless python3 manage.py management_command "$@"
elif [[ $(id -un) == "paperless" ]] ;
then
python3 manage.py management_command "$@"
else
echo "Unknown user."
fi
+1 -1
View File
@@ -8,7 +8,7 @@ loglevel=info ; log level; default info; others: debug,warn,trace
user=root
[program:gunicorn]
command=gunicorn -c /usr/src/paperless/gunicorn.conf.py -b 0.0.0.0:8000 paperless.wsgi
command=gunicorn -c /usr/src/paperless/gunicorn.conf.py paperless.asgi:application
user=paperless
stdout_logfile=/dev/stdout
-1
View File
@@ -1,5 +1,4 @@
FROM python:3.5.1
MAINTAINER Pit Kleyersburg <pitkley@googlemail.com>
# Install Sphinx and Pygments
RUN pip install Sphinx Pygments
Binary file not shown.

After

Width:  |  Height:  |  Size: 680 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 685 KiB

+151 -67
View File
@@ -20,6 +20,14 @@ Options available to any installation of paperless:
metadata to a specific folder. You may import your documents into a
fresh instance of paperless again or store your documents in another
DMS with this export.
* The document exporter is also able to update an already existing export.
Therefore, incremental backups with ``rsync`` are entirely possible.
.. caution::
You cannot import the export generated with one version of paperless in a
different version of paperless. The export contains an exact image of the
database, and migrations may change the database layout.
Options available to docker installations:
@@ -48,17 +56,17 @@ Options available to bare-metal and non-docker installations:
Restoring
=========
.. _administration-updating:
Updating paperless
Updating Paperless
##################
If a new release of paperless-ng is available, upgrading depends on how you
installed paperless-ng in the first place. The releases are available at
`release page <https://github.com/jonaswinkler/paperless-ng/releases>`_.
Docker Route
============
If a new release of paperless-ngx is available, upgrading depends on how you
installed paperless-ngx in the first place. The releases are available at the
`release page <https://github.com/paperless-ngx/paperless-ngx/releases>`_.
First of all, ensure that paperless is stopped.
@@ -69,106 +77,130 @@ First of all, ensure that paperless is stopped.
After that, :ref:`make a backup <administration-backup>`.
A. If you used the dockerfiles archive, simply download the files of the new release,
adjust the settings in the files (i.e., the path to your consumption directory),
and replace your existing docker-compose files. Then start paperless as usual,
which will pull the new image, and update your database, if necessary:
A. If you pull the image from the docker hub, all you need to do is:
.. code:: shell-session
$ cd /path/to/paperless
$ docker-compose pull
$ docker-compose up
If you see everything working, you can start paperless-ng with "-d" to have it
run in the background.
The docker-compose files refer to the ``latest`` version, which is always the latest
stable release.
.. hint::
The released docker-compose files specify exact versions to be pulled from the hub.
This is to ensure that if the docker-compose files should change at some point
(i.e., services updates/configured differently), you wont run into trouble due to
docker pulling the ``latest`` image and running it in an older environment.
B. If you built the image yourself, grab the new archive and replace your current
paperless folder with the new contents.
After that, make the necessary adjustments to the docker-compose.yml (i.e.,
adjust your consumption directory).
Build and start the new image with:
B. If you built the image yourself, do the following:
.. code:: shell-session
$ cd /path/to/paperless
$ git pull
$ docker-compose build
$ docker-compose up
If you see everything working, you can start paperless-ng with "-d" to have it
run in the background.
Running ``docker-compose up`` will also apply any new database migrations.
If you see everything working, press CTRL+C once to gracefully stop paperless.
Then you can start paperless-ngx with ``-d`` to have it run in the background.
.. hint::
.. note::
You can usually keep your ``docker-compose.env`` file, since this file will
never include mandatory configuration options. However, it is worth checking
out the new version of this file, since it might have new recommendations
on what to configure.
In version 0.9.14, the update process was changed. In 0.9.13 and earlier, the
docker-compose files specified exact versions and pull won't automatically
update to newer versions. In order to enable updates as described above, either
get the new ``docker-compose.yml`` file from `here <https://github.com/paperless-ngx/paperless-ngx/tree/master/docker/compose>`_
or edit the ``docker-compose.yml`` file, find the line that says
.. code::
Updating paperless without docker
=================================
image: ghcr.io/paperless-ngx/paperless-ngx:0.9.x
and replace the version with ``latest``:
.. code::
image: ghcr.io/paperless-ngx/paperless-ngx:latest
Bare Metal Route
================
After grabbing the new release and unpacking the contents, do the following:
1. Update dependencies. New paperless version may require additional
dependencies. The dependencies required are listed in the section about
dependencies. The dependencies required are listed in the section about
:ref:`bare metal installations <setup-bare_metal>`.
2. Update python requirements. If you use Pipenv, this is done with the following steps.
2. Update python requirements. Keep in mind to activate your virtual environment
before that, if you use one.
.. code:: shell-session
$ pip install --upgrade pipenv
$ cd /path/to/paperless
$ pipenv clean
$ pipenv install
$ pip install -r requirements.txt
This creates a new virtual environment (or uses your existing environment)
and installs all dependencies into it.
3. Collect static files.
3. Migrate the database.
.. code:: shell-session
$ cd src
$ pipenv run python3 manage.py collectstatic --clear
4. Migrate the database.
$ python3 manage.py migrate
.. code:: shell-session
This might not actually do anything. Not every new paperless version comes with new
database migrations.
$ cd src
$ pipenv run python3 manage.py migrate
Downgrading Paperless
#####################
Downgrades are possible. However, some updates also contain database migrations (these change the layout of the database and may move data).
In order to move back from a version that applied database migrations, you'll have to revert the database migration *before* downgrading,
and then downgrade paperless.
This table lists the compatible versions for each database migration number.
+------------------+-----------------+
| Migration number | Version range |
+------------------+-----------------+
| 1011 | 1.0.0 |
+------------------+-----------------+
| 1012 | 1.1.0 - 1.2.1 |
+------------------+-----------------+
| 1014 | 1.3.0 - 1.3.1 |
+------------------+-----------------+
| 1016 | 1.3.2 - current |
+------------------+-----------------+
Execute the following management command to migrate your database:
.. code:: shell-session
$ python3 manage.py migrate documents <migration number>
.. note::
Some migrations cannot be undone. The command will issue errors if that happens.
.. _utilities-management-commands:
Management utilities
####################
Paperless comes with some management commands that perform various maintenance
tasks on your paperless instance. You can invoke these commands either by
tasks on your paperless instance. You can invoke these commands in the following way:
With docker-compose, while paperless is running:
.. code:: shell-session
$ cd /path/to/paperless
$ docker-compose run --rm webserver <command> <arguments>
$ docker-compose exec webserver <command> <arguments>
or
With docker, while paperless is running:
.. code:: shell-session
$ docker exec -it <container-name> <command> <arguments>
Bare metal:
.. code:: shell-session
$ cd /path/to/paperless/src
$ pipenv run python manage.py <command> <arguments>
depending on whether you use docker or not.
$ python3 manage.py <command> <arguments>
All commands have built-in help, which can be accessed by executing them with
the argument ``--help``.
@@ -181,9 +213,16 @@ Document exporter
The document exporter exports all your data from paperless into a folder for
backup or migration to another DMS.
If you use the document exporter within a cronjob to backup your data you might use the ``-T`` flag behind exec to suppress "The input device is not a TTY" errors. For example: ``docker-compose exec -T webserver document_exporter ../export``
.. code::
document_exporter target
document_exporter target [-c] [-f] [-d]
optional arguments:
-c, --compare-checksums
-f, --use-filename-format
-d, --delete
``target`` is a folder to which the data gets written. This includes documents,
thumbnails and a ``manifest.json`` file. The manifest contains all metadata from
@@ -193,6 +232,24 @@ When you use the provided docker compose script, specify ``../export`` as the
target. This path inside the container is automatically mounted on your host on
the folder ``export``.
If the target directory already exists and contains files, paperless will assume
that the contents of the export directory are a previous export and will attempt
to update the previous export. Paperless will only export changed and added files.
Paperless determines whether a file has changed by inspecting the file attributes
"date/time modified" and "size". If that does not work out for you, specify
``--compare-checksums`` and paperless will attempt to compare file checksums instead.
This is slower.
Paperless will not remove any existing files in the export directory. If you want
paperless to also remove files that do not belong to the current export such as files
from deleted documents, specify ``--delete``. Be careful when pointing paperless to
a directory that already contains other files.
The filenames generated by this command follow the format
``[date created] [correspondent] [title].[extension]``.
If you want paperless to use ``PAPERLESS_FILENAME_FORMAT`` for exported filenames
instead, specify ``--use-filename-format``.
.. _utilities-importer:
@@ -322,6 +379,36 @@ the naming scheme.
The command takes no arguments and processes all your documents at once.
Learn how to use :ref:`Management Utilities<utilities-management-commands>`.
.. _utilities-sanity-checker:
Sanity checker
==============
Paperless has a built-in sanity checker that inspects your document collection for issues.
The issues detected by the sanity checker are as follows:
* Missing original files.
* Missing archive files.
* Inaccessible original files due to improper permissions.
* Inaccessible archive files due to improper permissions.
* Corrupted original documents by comparing their checksum against what is stored in the database.
* Corrupted archive documents by comparing their checksum against what is stored in the database.
* Missing thumbnails.
* Inaccessible thumbnails due to improper permissions.
* Documents without any content (warning).
* Orphaned files in the media directory (warning). These are files that are not referenced by any document im paperless.
.. code::
document_sanity_checker
The command takes no arguments. Depending on the size of your document archive, this may take some time.
Fetching e-mail
===============
@@ -381,13 +468,13 @@ Documents can be stored in Paperless using GnuPG encryption.
.. danger::
Encryption is deprecated since paperless-ng 0.9 and doesn't really provide any
Encryption is deprecated since paperless-ngx 0.9 and doesn't really provide any
additional security, since you have to store the passphrase in a configuration
file on the same system as the encrypted documents for paperless to work.
Furthermore, the entire text content of the documents is stored plain in the
database, even if your documents are encrypted. Filenames are not encrypted as
well.
Also, the web server provides transparent access to your encrypted documents.
Consider running paperless on an encrypted filesystem instead, which will then
@@ -410,6 +497,3 @@ Basic usage to disable encryption of your document store:
.. code::
decrypt_documents [--passphrase SECR3TP4SSPHRA$E]
.. _Pipenv: https://pipenv.pypa.io/en/latest/
+58 -108
View File
@@ -5,106 +5,26 @@ Advanced topics
Paperless offers a couple features that automate certain tasks and make your life
easier.
Guesswork
#########
Any document you put into the consumption directory will be consumed, but if
you name the file right, it'll automatically set some values in the database
for you. This is is the logic the consumer follows:
1. Try to find the correspondent, title, and tags in the file name following
the pattern: ``Date - Correspondent - Title - tag,tag,tag.pdf``. Note that
the format of the date is **rigidly defined** as ``YYYYMMDDHHMMSSZ`` or
``YYYYMMDDZ``. The ``Z`` refers "Zulu time" AKA "UTC".
The tags are optional, so the format ``Date - Correspondent - Title.pdf``
works as well.
2. If that doesn't work, we skip the date and try this pattern:
``Correspondent - Title - tag,tag,tag.pdf``.
3. If that doesn't work, we try to find the correspondent and title in the file
name following the pattern: ``Correspondent - Title.pdf``.
4. If that doesn't work, just assume that the name of the file is the title.
So given the above, the following examples would work as you'd expect:
* ``20150314000700Z - Some Company Name - Invoice 2016-01-01 - money,invoices.pdf``
* ``20150314Z - Some Company Name - Invoice 2016-01-01 - money,invoices.pdf``
* ``Some Company Name - Invoice 2016-01-01 - money,invoices.pdf``
* ``Another Company - Letter of Reference.jpg``
* ``Dad's Recipe for Pancakes.png``
These however wouldn't work:
* ``2015-03-14 00:07:00 UTC - Some Company Name, Invoice 2016-01-01, money, invoices.pdf``
* ``2015-03-14 - Some Company Name, Invoice 2016-01-01, money, invoices.pdf``
* ``Some Company Name, Invoice 2016-01-01, money, invoices.pdf``
* ``Another Company- Letter of Reference.jpg``
Do I have to be so strict about naming?
=======================================
Rather than using the strict document naming rules, one can also set the option
``PAPERLESS_FILENAME_DATE_ORDER`` in ``paperless.conf`` to any date order
that is accepted by dateparser_. Doing so will cause ``paperless`` to default
to any date format that is found in the title, instead of a date pulled from
the document's text, without requiring the strict formatting of the document
filename as described above.
.. _dateparser: https://github.com/scrapinghub/dateparser/blob/v0.7.0/docs/usage.rst#settings
.. _advanced-transforming_filenames:
Transforming filenames for parsing
==================================
Some devices can't produce filenames that can be parsed by the default
parser. By configuring the option ``PAPERLESS_FILENAME_PARSE_TRANSFORMS`` in
``paperless.conf`` one can add transformations that are applied to the filename
before it's parsed.
The option contains a list of dictionaries of regular expressions (key:
``pattern``) and replacements (key: ``repl``) in JSON format, which are
applied in order by passing them to ``re.subn``. Transformation stops
after the first match, so at most one transformation is applied. The general
syntax is
.. code:: python
[{"pattern":"pattern1", "repl":"repl1"}, {"pattern":"pattern2", "repl":"repl2"}, ..., {"pattern":"patternN", "repl":"replN"}]
The example below is for a Brother ADS-2400N, a scanner that allows
different names to different hardware buttons (useful for handling
multiple entities in one instance), but insists on adding ``_<count>``
to the filename.
.. code:: python
# Brother profile configuration, support "Name_Date_Count" (the default
# setting) and "Name_Count" (use "Name" as tag and "Count" as title).
PAPERLESS_FILENAME_PARSE_TRANSFORMS=[{"pattern":"^([a-z]+)_(\\d{8})_(\\d{6})_([0-9]+)\\.", "repl":"\\2\\3Z - \\4 - \\1."}, {"pattern":"^([a-z]+)_([0-9]+)\\.", "repl":" - \\2 - \\1."}]
.. _advanced-matching:
Matching tags, correspondents and document types
################################################
After the consumer has tried to figure out what it could from the file name,
it starts looking at the content of the document itself. It will compare the
matching algorithms defined by every tag and correspondent already set in your
database to see if they apply to the text in that document. In other words,
if you defined a tag called ``Home Utility`` that had a ``match`` property of
``bc hydro`` and a ``matching_algorithm`` of ``literal``, Paperless will
automatically tag your newly-consumed document with your ``Home Utility`` tag
so long as the text ``bc hydro`` appears in the body of the document somewhere.
Paperless will compare the matching algorithms defined by every tag and
correspondent already set in your database to see if they apply to the text in
a document. In other words, if you defined a tag called ``Home Utility``
that had a ``match`` property of ``bc hydro`` and a ``matching_algorithm`` of
``literal``, Paperless will automatically tag your newly-consumed document with
your ``Home Utility`` tag so long as the text ``bc hydro`` appears in the body
of the document somewhere.
The matching logic is quite powerful, and supports searching the text of your
The matching logic is quite powerful. It supports searching the text of your
document with different algorithms, and as such, some experimentation may be
necessary to get things right.
In order to have a tag, correspondent or type assigned automatically to newly
In order to have a tag, correspondent, or type assigned automatically to newly
consumed documents, assign a match and matching algorithm using the web
interface. These settings define when to assign correspondents, tags and types
interface. These settings define when to assign correspondents, tags, and types
to documents.
The following algorithms are available:
@@ -114,16 +34,16 @@ The following algorithms are available:
either of these terms.
* **All:** Requires that every word provided appears in the PDF, albeit not in the
order provided.
* **Literal:** Matches only if the match appears exactly as provided in the PDF.
* **Literal:** Matches only if the match appears exactly as provided (i.e. preserve ordering) in the PDF.
* **Regular expression:** Parses the match as a regular expression and tries to
find a match within the document.
* **Fuzzy match:** I dont know. Look at the source.
* **Auto:** Tries to automatically match new documents. This does not require you
to set a match. See the notes below.
When using the "any" or "all" matching algorithms, you can search for terms
When using the *any* or *all* matching algorithms, you can search for terms
that consist of multiple words by enclosing them in double quotes. For example,
defining a match text of ``"Bank of America" BofA`` using the "any" algorithm,
defining a match text of ``"Bank of America" BofA`` using the *any* algorithm,
will match documents that contain either "Bank of America" or "BofA", but will
not match documents containing "Bank of South America".
@@ -137,9 +57,9 @@ automatically tagged with the appropriate data.
Automatic matching
==================
Paperless-ng comes with a new matching algorithm called *Auto*. This matching
algorithm tries to assign tags, correspondents and document types to your
documents based on how you have assigned these on existing documents. It
Paperless-ngx comes with a new matching algorithm called *Auto*. This matching
algorithm tries to assign tags, correspondents, and document types to your
documents based on how you have already assigned these on existing documents. It
uses a neural network under the hood.
If, for example, all your bank statements of your account 123 at the Bank of
@@ -156,11 +76,11 @@ feature:
changes. Paperless periodically (default: once each hour) checks for changes
and does this automatically for you.
* The Auto matching algorithm only takes documents into account which are NOT
placed in your inbox (i.e., have inbox tags assigned to them). This ensures
placed in your inbox (i.e. have any inbox tags assigned to them). This ensures
that the neural network only learns from documents which you have correctly
tagged before.
* The matching algorithm can only work if there is a correlation between the
tag, correspondent or document type and the document itself. Your bank
tag, correspondent, or document type and the document itself. Your bank
statements usually contain your bank account number and the name of the bank,
so this works reasonably well, However, tags such as "TODO" cannot be
automatically assigned.
@@ -184,7 +104,7 @@ you execute scripts of your own choosing just before or after a document is
consumed using a couple simple hooks.
Just write a script, put it somewhere that Paperless can read & execute, and
then put the path to that script in ``paperless.conf`` with the variable name
then put the path to that script in ``paperless.conf`` or ``docker-compose.env`` with the variable name
of either ``PAPERLESS_PRE_CONSUME_SCRIPT`` or
``PAPERLESS_POST_CONSUME_SCRIPT``.
@@ -247,12 +167,41 @@ into paperless. It receives the following arguments:
* Correspondent
* Tags
The script can be in any language you like, but for a simple shell script
example, you can take a look at ``post-consumption-example.sh`` in the
``scripts`` directory in this project.
The script can be in any language, but for a simple shell script
example, you can take a look at `post-consumption-example.sh`_ in this project.
The post consumption script cannot cancel the consumption process.
Docker
------
Assumed you have ``/home/foo/paperless-ngx/scripts/post-consumption-example.sh``.
You can pass that script into the consumer container via a host mount in your ``docker-compose.yml``.
.. code:: bash
...
consumer:
...
volumes:
...
- /home/paperless-ngx/scripts:/path/in/container/scripts/
...
Example (docker-compose.yml): ``- /home/foo/paperless-ngx/scripts:/usr/src/paperless/scripts``
which in turn requires the variable ``PAPERLESS_POST_CONSUME_SCRIPT`` in ``docker-compose.env`` to point to ``/path/in/container/scripts/post-consumption-example.sh``.
Example (docker-compose.env): ``PAPERLESS_POST_CONSUME_SCRIPT=/usr/src/paperless/scripts/post-consumption-example.sh``
Troubleshooting:
- Monitor the docker-compose log ``cd ~/paperless-ngx; docker-compose logs -f``
- Check your script's permission e.g. in case of permission error ``sudo chmod 755 post-consumption-example.sh``
- Pipe your scripts's output to a log file e.g. ``echo "${DOCUMENT_ID}" | tee --append /usr/src/paperless/scripts/post-consumption-example.log``
.. _post-consumption-example.sh: https://github.com/jonaswinkler/paperless-ngx/blob/master/scripts/post-consumption-example.sh
.. _advanced-file_name_handling:
File name handling
@@ -296,18 +245,19 @@ will create a directory structure as follows:
Paperless provides the following placeholders withing filenames:
* ``{asn}``: The archive serial number of the document, or "none".
* ``{correspondent}``: The name of the correspondent, or "none".
* ``{document_type}``: The name of the document type, or "none".
* ``{tag_list}``: A comma separated list of all tags assigned to the document.
* ``{title}``: The title of the document.
* ``{created}``: The full date and time the document was created.
* ``{created}``: The full date (ISO format) the document was created.
* ``{created_year}``: Year created only.
* ``{created_month}``: Month created only (number 1-12).
* ``{created_day}``: Day created only (number 1-31).
* ``{added}``: The full date and time the document was added to paperless.
* ``{created_month}``: Month created only (number 01-12).
* ``{created_day}``: Day created only (number 01-31).
* ``{added}``: The full date (ISO format) the document was added to paperless.
* ``{added_year}``: Year added only.
* ``{added_month}``: Month added only (number 1-12).
* ``{added_day}``: Day added only (number 1-31).
* ``{added_month}``: Month added only (number 01-12).
* ``{added_day}``: Day added only (number 01-31).
Paperless will try to conserve the information from your database as much as possible.
+89 -80
View File
@@ -60,7 +60,7 @@ The endpoints correctly serve the response header fields ``Content-Disposition``
and ``Content-Type`` to indicate the filename for download and the type of content of
the document.
In order to download or preview the original document when an archied document is available,
In order to download or preview the original document when an archived document is available,
supply the query parameter ``original=true``.
.. hint::
@@ -147,98 +147,57 @@ The REST api provides three different forms of authentication.
Searching for documents
#######################
Paperless-ng offers API endpoints for full text search. These are as follows:
Full text searching is available on the ``/api/documents/`` endpoint. Two specific
query parameters cause the API to return full text search results:
``/api/search/``
================
* ``/api/documents/?query=your%20search%20query``: Search for a document using a full text query.
For details on the syntax, see :ref:`basic-usage_searching`.
Get search results based on a query.
* ``/api/documents/?more_like=1234``: Search for documents similar to the document with id 1234.
Query parameters:
Pagination works exactly the same as it does for normal requests on this endpoint.
* ``query``: The query string. See
`here <https://whoosh.readthedocs.io/en/latest/querylang.html>`_
for details on the syntax.
* ``page``: Specify the page you want to retrieve. Each page
contains 10 search results and the first page is ``page=1``, which
is the default if this is omitted.
Certain limitations apply to full text queries:
Result list object returned by the endpoint:
* Results are always sorted by search score. The results matching the query best will show up first.
.. code:: json
* Only a small subset of filtering parameters are supported.
Furthermore, each returned document has an additional ``__search_hit__`` attribute with various information
about the search results:
.. code::
{
"count": 1,
"page": 1,
"page_count": 1,
"corrected_query": "",
"count": 31,
"next": "http://localhost:8000/api/documents/?page=2&query=test",
"previous": null,
"results": [
...
{
"id": 123,
"title": "title",
"content": "content",
...
"__search_hit__": {
"score": 0.343,
"highlights": "text <span class=\"match\">Test</span> text",
"rank": 23
}
},
...
]
}
* ``count``: The approximate total number of results.
* ``page``: The page returned to you. This might be different from
the page you requested, if you requested a page that is behind
the last page. In that case, the last page is returned.
* ``page_count``: The total number of pages.
* ``corrected_query``: Corrected version of the query string. Can be null.
If not null, can be used verbatim to start a new query.
* ``results``: A list of result objects on the current page.
Result object:
.. code:: json
{
"id": 1,
"highlights": [
],
"score": 6.34234,
"rank": 23,
"document": {
}
}
* ``id``: the primary key of the found document
* ``highlights``: an object containing parsable highlights for the result.
See below.
* ``score``: The score assigned to the document. A higher score indicates a
better match with the query. Search results are sorted descending by score.
* ``rank``: the position of the document within the entire search results list.
* ``document``: The full json of the document, as returned by
``/api/documents/<id>/``.
Highlights object:
Highlights are provided as a list of fragments. A fragment is a longer section of
text from the original document.
Each fragment contains a list of strings, and some of them are marked as a highlight.
.. code:: json
[
[
{"text": "This is a sample text with a "},
{"text": "highlighted", "term": 0},
{"text": " word."}
],
[
{"text": "Another", "term": 1},
{"text": " fragment with a highlight."}
]
]
When ``term`` is present within a string, the word within ``text`` should be highlighted.
The term index groups multiple matches together and words with the same index
should get identical highlighting.
A client may use this example to produce the following output:
... This is a sample text with a **highlighted** word. ... **Another** fragment with a highlight. ...
* ``score`` is an indication how well this document matches the query relative to the other search results.
* ``highlights`` is an excerpt from the document content and highlights the search terms with ``<span>`` tags as shown above.
* ``rank`` is the index of the search results. The first result will have rank 0.
``/api/search/autocomplete/``
=============================
@@ -289,3 +248,53 @@ The endpoint supports the following optional form fields:
The endpoint will immediately return "OK" if the document consumption process
was started successfully. No additional status information about the consumption
process itself is available, since that happens in a different process.
.. _api-versioning:
API Versioning
##############
The REST API is versioned since Paperless-ngx 1.3.0.
* Versioning ensures that changes to the API don't break older clients.
* Clients specify the specific version of the API they wish to use with every request and Paperless will handle the request using the specified API version.
* Even if the underlying data model changes, older API versions will always serve compatible data.
* If no version is specified, Paperless will serve version 1 to ensure compatibility with older clients that do not request a specific API version.
API versions are specified by submitting an additional HTTP ``Accept`` header with every request:
.. code::
Accept: application/json; version=6
If an invalid version is specified, Paperless 1.3.0 will respond with "406 Not Acceptable" and an error message in the body.
Earlier versions of Paperless will serve API version 1 regardless of whether a version is specified via the ``Accept`` header.
If a client wishes to verify whether it is compatible with any given server, the following procedure should be performed:
1. Perform an *authenticated* request against any API endpoint. If the server is on version 1.3.0 or newer, the server will
add two custom headers to the response:
.. code::
X-Api-Version: 2
X-Version: 1.3.0
2. Determine whether the client is compatible with this server based on the presence/absence of these headers and their values if present.
API Changelog
=============
Version 1
---------
Initial API version.
Version 2
---------
* Added field ``Tag.color``. This read/write string field contains a hex color such as ``#a6cee3``.
* Added read-only field ``Tag.text_color``. This field contains the text color to use for a specific tag, which is either black or white depending on the brightness of ``Tag.color``.
* Removed field ``Tag.colour``.
+636 -12
View File
@@ -5,21 +5,592 @@
Changelog
*********
paperless-ngx 1.6.0
###################
This is the first release of the revived paperless-ngx project 🎉. Thank you to everyone on the paperless-ngx team for your initiative and excellent teamwork!
Version 1.6.0 merges several pending PRs from jonaswinkler's repo and includes new feature updates and bug fixes. Major backend and UI changes include:
* Updated docs, scripts, CI, and containers to paperless-ngx.
* Updated Python and Angular dependencies.
* Dropped support for Python 3.7.
* Dropped support for Ansible playbooks (thanks `@slankes`_ #109). If someone would like to continue supporting them, please see the `ansible repo`_.
* Python code is now required to use Black formatting (thanks `@kpj`_ #168).
* `@tribut`_ added support for a custom SSO logout redirect (jonaswinkler#1258). See ``PAPERLESS_LOGOUT_REDIRECT_URL``.
* `@shamoon`_ added a loading indicator when document list is reloading (jonaswinkler#1297).
* `@shamoon`_ improved the PDF viewer on mobile (#2).
* `@shamoon`_ added 'any' / 'all' and 'not' filtering with tags (#10).
* `@shamoon`_ added warnings for unsaved changes, with smart edit buttons (#13).
* `@benjaminfrank`_ enabled a non-root access to port 80 via systemd (#18).
* `@tribut`_ added simple "delete to trash" functionality (#24). See ``PAPERLESS_TRASH_DIR``.
* `@amenk`_ fixed the search box overlay menu on mobile (#32).
* `@dblitt`_ updated the login form to not auto-capitalize usernames (#36).
* `@evilsidekick293`_ made the worker timeout configurable (#37). See ``PAPERLESS_WORKER_TIMEOUT``.
* `@Nicarim`_ fixed downloads of UTF-8 formatted documents in Firefox (#56).
* `@mweimerskirch`_ sorted the language dropdown by locale (#78).
* `@mweimerskirch`_ enabled the Czech (#83) and Danish (#84) translations.
* `@cschmatzler`_ enabled specifying the webserver port (#124). See ``PAPERLESS_PORT``.
* `@muellermartin`_ fixed an error when uploading transparent PNGs (#133).
* `@shamoon`_ created a slick new logo (#165).
* `@tim-vogel`_ fixed exports missing groups (#193).
Thank you to the following people for their documentation updates, fixes, and comprehensive testing:
`@m0veax`_, `@a17t`_, `@fignew`_, `@muued`_, `@bauerj`_, `@isigmund`_, `@denilsonsa`_, `@mweimerskirch`_, `@alexander-bauer`_, `@apeltzer`_, `@tribut`_, `@yschroeder`_, `@gador`_, `@sAksham-Ar`_, `@sbrunner`_, `@philpagel`_, `@davemachado`_, `@2600box`_, `@qcasey`_, `@Nicarim`_, `@kpj`_, `@filcuk`_, `@Timoms`_, `@mattlamb99`_, `@padraigkitterick`_, `@ajkavanagh`_, `@Tooa`_, `@Unkn0wnCat`_, `@pewter77`_, `@stumpylog`_, `@Toxix`_, `@azapater`_, `@jschpp`_
Another big thanks to the people who have contributed translations:
* Michel Weimerskirch (michel_weimerskirch) suggested 31 translations into French and Luxembourgish.
* jo.vandeginste suggested 21 translations into Dutch.
* Lars Sørensen (Lrss) suggested 486 translations into Danish.
* Alex (Sky-Dragon) voted for 46 translations in German.
* Yannic Schröder (yschroeder) suggested 14 translations into German.
* David Morais Ferreira (DavidMoraisFerreira) voted for 10 translations in Portuguese and Luxembourgish.
* David Morais Ferreira (DavidMoraisFerreira) suggested 88 translations into French, German, Portuguese, Portuguese, Brazilian and Luxembourgish.
* 汪泠沣 (wlfcss) suggested 13 translations into Chinese Traditional.
* Lars Sørensen (Lrss) suggested 167 translations into Danish.
* Philmo67 suggested 11 translations into French.
Paperless-ng
############
paperless-ng 1.5.0
==================
Support for Python 3.6 was dropped.
* Updated python dependencies.
* Base image of the docker image changed from Debian Buster to Debian Bullseye due to its recent release.
* The docker image now uses python 3.9.
* Added the Luxembourgish locale. Thanks for translating!
* `Daniel Albers`_ added support for making the files and folders ignored by the paperless consume folder scanner configurable. See ``PAPERLESS_CONSUMER_IGNORE_PATTERNS``.
paperless-ng 1.4.5
==================
This is a maintenance release.
* Updated Python and Angular dependencies.
* Changed the algorithm that changes permissions during startup. This is still fast,
and will hopefully cause less issues.
* Fixed an issue that would sometimes cause paperless to write an incomplete
classification model file to disk.
* Fixed an issue with the OCRmyPDF parser that would always try to extract text
with PDFminer even from non-PDF files.
paperless-ng 1.4.4
==================
* Drastically decreased the startup time of the docker container. The startup script adjusts file permissions of all data only if changes are required.
* Paperless mail: Added ability to specify the character set for each server.
* Document consumption: Ignore Mac OS specific files such as ``.DS_STORE`` and ``._XXXXX.pdf``.
* Fixed an issue with the automatic matching algorithm that prevents paperless from consuming new files.
* Updated translations.
paperless-ng 1.4.3
==================
* Additions and changes
* Added Swedish locale.
* `Stéphane Brunner`_ added an option to disable the progress bars of all management commands.
* `Jo Vandeginste`_ added support for RTF documents to the Apache TIKA parser.
* `Michael Shamoon`_ added dark mode for the login and logout pages.
* `Alexander Menk`_ added additional stylesheets for printing. You can now print any page of paperless and the print result will hide the page header, sidebar, and action buttons.
* Added support for sorting when using full text search.
* Fixes
* `puuu`_ fixed ``PAPERLESS_FORCE_SCRIPT_NAME``. You can now host paperless on sub paths such as ``https://localhost:8000/paperless/``.
* Fixed an issue with the document consumer crashing on certain documents due to issues with pdfminer.six. This library is used for PDF text extraction.
paperless-ng 1.4.2
==================
* Fixed an issue with ``sudo`` that caused paperless to not start on many Raspberry Pi devices. Thank you `WhiteHatTux`_!
paperless-ng 1.4.1
==================
* Added Polish locale.
* Changed some parts of the Dockerfile to hopefully restore functionality on certain ARM devices.
* Updated python dependencies.
* `Michael Shamoon`_ added a sticky filter / bulk edit bar.
* `sbrl`_ changed the docker-entrypoint.sh script to increase compatibility with NFS shares.
* `Chris Nagy`_ added support for creating a super user by passing ``PAPERLESS_ADMIN_USER`` and
``PAPERLESS_ADMIN_PASSWORD`` as environment variables to the docker container.
paperless-ng 1.4.0
==================
* Docker images now use tesseract 4.1.1, which should fix a series of issues with OCR.
* The full text search now displays results using the default document list. This enables
selection, filtering and bulk edit on search results.
* Changes
* Firefox only: Highlight search query in PDF previews.
* New URL pattern for accessing documents by ASN directly (http://<paperless>/asn/123)
* Added logging when executing pre- and post-consume scripts.
* Better error logging during document consumption.
* Updated python dependencies.
* Automatically inserts typed text when opening "Create new" dialogs on the document details page.
* Fixes
* Fixed an issue with null characters in the document content.
.. note::
The changed to the full text searching require you to reindex your documents.
*The docker image does this automatically, you don't need to do anything.*
To do this, execute the ``document_index reindex`` management command
(see :ref:`administration-index`).
paperless-ng 1.3.2
==================
* Added translation into Portuguese.
* Changes
* The exporter now exports user accounts, mail accounts, mail rules and saved views as well.
* Fixes
* Minor layout issues with document cards and the log viewer.
* Fixed an issue with any/all/exact matching when characters used in regular expressions were used for the match.
paperless-ng 1.3.1
==================
* Added translation into Spanish and Russian.
* Other changes
* ISO-8601 date format will now always show years with 4 digits.
* Added the ability to search for a document with a specific ASN.
* The document cards now display ASN, types and dates in a more organized way.
* Added document previews when hovering over the preview button.
* Fixes
* The startup check for write permissions now works properly on NFS shares.
* Fixed an issue with the search results score indicator.
* Paperless was unable to generate thumbnails for encrypted PDF files and failed. Paperless will now generate a default thumbnail for these files.
* Fixed ``AUTO_LOGIN_USERNAME``: Unable to perform POST/PUT/DELETE requests and unable to receive WebSocket messages.
paperless-ng 1.3.0
==================
This release contains new database migrations.
* Changes
* The REST API is versioned from this point onwards. This will allow me to make changes without breaking existing clients. See the documentation about :ref:`api-versioning` for details.
* Added a color picker for tag colors.
* Added the ability to use the filter for searching the document content as well.
* Added translations into Italian and Romanian. Thank you!
* Close individual documents from the sidebar. Thanks to `Michael Shamoon`_.
* `BolkoSchreiber <https://github.com/BolkoSchreiber>`_ added an option to disable/enable thumbnail inversion in dark mode.
* `Simon Taddiken <https://github.com/skuzzle>`_ added the ability to customize the header used for remote user authentication with SSO applications.
* Bug fixes
* Fixed an issue with the auto matching algorithm when more than 256 tags were used.
paperless-ng 1.2.1
==================
* `Rodrigo Avelino <https://github.com/rodavelino>`_ translated Paperless into Portuguese (Brazil)!
* The date input fields now respect the currently selected date format.
* Added a fancy icon when adding paperless to the home screen on iOS devices. Thanks to `Joel Nordell <https://github.com/joelnordell>`_.
* When using regular expression matching, the regular expression is now validated before saving the tag/correspondent/type.
* Regression fix: Dates on the front end did not respect date locale settings in some cases.
paperless-ng 1.2.0
==================
* Changes to the OCRmyPDF integration
* Added support for deskewing and automatic rotation of incorrectly rotated pages. This is enabled by default, see :ref:`configuration-ocr`.
* Better support for encrypted files.
* Better support for various other PDF files: Paperless will now attempt to force OCR with safe options when OCR fails with the configured options.
* Added an explicit option to skip cleaning with ``unpaper``.
* Download multiple selected documents as a zip archive.
* The document list now remembers the current page.
* Improved responsiveness when switching between saved views and the document list.
* Increased the default wait time when observing files in the consumption folder
with polling from 1 to 5 seconds. This will decrease the likelihood of paperless
consuming partially written files.
* Fixed a crash of the document archiver management command when trying to process documents with unknown mime types.
* Paperless no longer depends on ``libpoppler-cpp-dev``.
paperless-ng 1.1.4
==================
* Added English (GB) locale.
* Added ISO-8601 date display option.
paperless-ng 1.1.3
==================
* Added a docker-specific configuration option to adjust the number of
worker processes of the web server. See :ref:`configuration-docker`.
* Some more memory usage optimizations.
* Don't show inbox statistics if no inbox tag is defined.
paperless-ng 1.1.2
==================
* Always show top left corner of thumbnails, even for extra wide documents.
* Added a management command for executing the sanity checker directly.
See :ref:`utilities-sanity-checker`.
* The weekly sanity check now reports messages in the log files.
* Fixed an issue with the metadata tab not reporting anything in case of missing files.
* Reverted a change from 1.1.0 that caused huge memory usage due to redis caching.
* Some memory usage optimizations.
paperless-ng 1.1.1
==================
This release contains new database migrations.
* Fixed a bug in the sanity checker that would cause it to display "x not in list" errors instead of actual issues.
* Fixed a bug with filename generation for archive filenames that would cause the archive files of two documents to overlap.
* This happened when ``PAPERLESS_FILENAME_FORMAT`` is used and the filenames of two or more documents are the same, except for the file extension.
* Paperless will now store the archive filename in the database as well instead of deriving it from the original filename, and use the
same logic for detecting and avoiding filename clashes that's also used for original filenames.
* The migrations will repair any missing archive files. If you're using tika, ensure that tika is running while performing the migration. Docker-compose will take care of that.
* Fixed a bug with thumbnail regeneration when TIKA integration was used.
* Added ASN as a placeholder field to the filename format.
* The docker image now comes with built-in shortcuts for most management commands. These are now the recommended way to execute management commands, since these
also ensure that they're always executed as the paperless user and you're less likely to run into permission issues. See :ref:`utilities-management-commands`.
paperless-ng 1.1.0
==================
* Document processing status
* Paperless now shows the status of processing documents on the dashboard in real time.
* Status notifications when
* New documents are detected in the consumption folder, in mails, uploaded on the front end,
or added with one of the mobile apps.
* Documents are successfully added to paperless.
* Document consumption failed (with error messages)
* Configuration options to enable/disable individual notifications.
* Live updates to document lists and saved views when new documents are added.
.. hint::
For status notifications and live updates to work, paperless now requires an `ASGI <https://asgi.readthedocs.io/en/latest/>`_-enabled
web server. The docker images uses ``gunicorn`` and an ASGI-enabled worker called `uvicorn <http://www.uvicorn.org/>`_,
and there is no need to configure anything.
For bare metal installations, changes are required for the notifications to work. Adapt the service ``paperless-webserver.service``
to use the supplied ``gunicorn.conf.py`` configuration file and adapt the reference to the ASGI application as follows:
.. code::
ExecStart=/opt/paperless/.local/bin/gunicorn -c /opt/paperless/gunicorn.conf.py paperless.asgi:application
Paperless will continue to work with WSGI, but you will not get any status notifications.
Apache ``mod_wsgi`` users, see :ref:`this note <faq-mod_wsgi>`.
* Paperless now offers suggestions for tags, correspondents and types on the document detail page.
* Added an interactive easy install script that automatically downloads, configures and starts paperless with docker.
* Official support for Python 3.9.
* Other changes and fixes
* Adjusted the default parallelization settings to run more than one task in parallel on systems with 4 or less cores.
This addresses issues with paperless not consuming any new files when other tasks are running.
* Fixed a rare race condition that would cause paperless to process incompletely written files when using the upload on the dashboard.
* The document classifier no longer issues warnings and errors when auto matching is not used at all.
* Better icon for document previews.
* Better info section in the side bar.
* Paperless no longer logs to the database. Instead, logs are written to rotating log files. This solves many "database is locked"
issues on Raspberry Pi, especially when SQLite is used.
* By default, log files are written to ``PAPERLESS_DATA_DIR/log/``. Logging settings can be adjusted with
``PAPERLESS_LOGGING_DIR``, ``PAPERLESS_LOGROTATE_MAX_SIZE`` and
``PAPERLESS_LOGROTATE_MAX_BACKUPS``.
paperless-ng 1.0.0
==================
Nothing special about this release, but since there are relatively few bug reports coming in, I think that this is reasonably stable.
* Document export
* The document exporter has been rewritten to support updating an already existing export in place.
This enables incremental backups with ``rsync``.
* The document exporter supports naming exported files according to ``PAPERLESS_FILENAME_FORMAT``.
* The document exporter locks the media directory and the database during execution to ensure that
the resulting export is consistent.
* See the :ref:`updated documentation <utilities-exporter>` for more details.
* Other changes and additions
* Added a language selector to the settings.
* Added date format options to the settings.
* Range selection with shift clicking is now possible in the document list.
* Filtering correspondent, type and tag management pages by name.
* Focus "Name" field in dialogs by default.
paperless-ng 0.9.14
===================
Starting with this version, releases are getting built automatically. This release also comes with changes on how to install and
update paperless.
* Paperless now uses GitHub Actions to make releases and build docker images.
* Docker images are available for amd64, armhf, and aarch64.
* When you pull an image from Docker Hub, Docker will automatically select the correct image for you.
* Changes to docker installations and updates
* The ``-dockerfiles.tar.xz`` release archive is gone. Instead, simply grab the docker files from ``/docker/compose`` in the repository
if you wish to install paperless by pulling from the hub.
* The docker compose files in ``/docker/compose`` were changed to always use the ``latest`` version automatically. In order to do further
updates, simply do a ``docker-compose pull``. The documentation has been updated.
* The docker compose files were changed to restart paperless on system boot only if it was running before shutdown.
* Documentation of the docker-compose files about what they do.
* Changes to bare metal installations and updates
* The release archive is built exactly like before. However, the release now comes with already compiled translation messages and
collected static files. Therefore, the update steps ``compilemessages`` and ``collectstatic`` are now obsolete.
* Other changes
* A new configuration option ``PAPERLESS_IGNORE_DATES`` was added by `jayme-github`_. This can be used to instruct paperless to ignore
certain dates (such as your date of birth) when guessing the date from the document content. This was actually introduced in 0.9.12,
I just forgot to mention it in the changelog.
* The filter drop downs now display selected entries on top of all other entries.
* The PostgreSQL client now supports setting an explicit ``sslmode`` to force encryption of the connection to PostgreSQL.
* The docker images now come with ``jbig2enc``, which is a lossless image encoder for PDF documents and decreases the size of certain
PDF/A documents.
* When using any of the manual matching algorithms, paperless now logs messages about when and why these matching algorithms matched.
* The default settings for parallelization in paperless were adjusted to always leave one CPU core free.
* Added an option to the frontend to choose which method to use for displaying PDF documents.
* Fixes
* An issue with the tika parser not picking up files from the consumption directory was fixed.
* A couple changes to the dark mode and fixes to several other layout issues.
* An issue with the drop downs for correspondents, tags and types not properly supporting filtering with special characters was fixed.
* Fixed an issue with filenames of downloaded files: Dates where off by one day due to timezone issues.
* Searching will continue to work even when the index returns non-existing documents. This resulted in "Document does not exist" errors
before. Instead, a warning is logged, indicating the issue.
* An issue with the consumer crashing when invalid regular expression were used was fixed.
paperless-ng 0.9.13
===================
* Fixed an issue with Paperless not starting due to the new Tika integration when ``USERMAP_UID`` and ``USERMAP_GID`` was used
in the ``docker-compose.env`` file.
paperless-ng 0.9.12
===================
* Paperless localization
* Thanks to the combined efforts of many users, Paperless is now available in English, Dutch, French and German.
* Thanks to `Jo Vandeginste`_, Paperless has optional support for Office documents such as .docx, .doc, .odt and more.
* See the :ref:`configuration<configuration-tika>` on how to enable this feature. This feature requires two additional services
(one for parsing Office documents and metadata extraction and another for converting Office documents to PDF), and is therefore
not enabled on default installations.
* As with all other documents, paperless converts Office documents to PDF and stores both the original as well as the archived PDF.
* Dark mode
* Thanks to `Michael Shamoon`_, paperless now has a dark mode. Configuration is available in the settings.
* Other changes and additions
* The PDF viewer now uses a local copy of some dependencies instead of fetching them from the internet. Thanks to `slorenz`_.
* Revamped search bar styling thanks to `Michael Shamoon`_.
* Sorting in the document list by clicking on table headers.
* A button was added to the document detail page that assigns a new ASN to a document.
* Form field validation: When providing invalid input in a form (such as a duplicate ASN or no name), paperless now has visual
indicators and clearer error messages about what's wrong.
* Paperless disables buttons with network actions (such as save and delete) when a network action is active. This indicates that
something is happening and prevents double clicking.
* When using "Save & next", the title field is focussed automatically to better support keyboard editing.
* E-Mail: Added filter rule parameters to allow inline attachments (watch out for mails with inlined images!) and attachment filename filters
with wildcards.
* Support for remote user authentication thanks to `Michael Shamoon`_. This is useful for hiding Paperless behind single sign on applications
such as `authelia <https://www.authelia.com/>`_.
* "Clear filters" has been renamed to "Reset filters" and now correctly restores the default filters on saved views. Thanks to `Michael Shamoon`_
* Fixes
* Paperless was unable to save views when "Not assigned" was chosen in one of the filter dropdowns.
* Clearer error messages when pre and post consumption scripts do not exist.
* The post consumption script is executed later in the consumption process. Before the change, an ID was passed to the script referring to
a document that did not yet exist in the database.
paperless-ng 0.9.11
===================
* Fixed an issue with the docker image not starting at all due to a configuration change of the web server.
paperless-ng 0.9.10
===================
* Bulk editing
* Thanks to `Michael Shamoon`_, we've got a new interface for the bulk editor.
* There are some configuration options in the settings to alter the behavior.
* Other changes and additions
* Thanks to `zjean`_, paperless now publishes a webmanifest, which is useful for adding the application to home screens on mobile devices.
* The Paperless-ng logo now navigates to the dashboard.
* Filter for documents that don't have any correspondents, types or tags assigned.
* Tags, types and correspondents are now sorted case insensitive.
* Lots of preparation work for localization support.
* Fixes
* Added missing dependencies for Raspberry Pi builds.
* Fixed an issue with plain text file consumption: Thumbnail generation failed due to missing fonts.
* An issue with the search index reporting missing documents after bulk deletes was fixed.
* Issue with the tag selector not clearing input correctly.
* The consumer used to stop working when encountering an incomplete classifier model file.
.. note::
The bulk delete operations did not update the search index. Therefore, documents that you deleted remained in the index and
caused the search to return messages about missing documents when searching. Further bulk operations will properly update
the index.
However, this change is not retroactive: If you used the delete method of the bulk editor, you need to reindex your search index
by :ref:`running the management command document_index with the argument reindex <administration-index>`.
paperless-ng 0.9.9
==================
Christmas release!
* Bulk editing
* Paperless now supports bulk editing.
* The following operations are available: Add and remove correspondents, tags, document types from selected documents, as well as mass-deleting documents.
* We've got a more fancy UI in the works that makes these features more accessible, but that's not quite ready yet.
* Searching
* Paperless now supports searching for similar documents ("More like this") both from the document detail page as well as from individual search results.
* A search score indicates how well a document matches the search query, or how similar a document is to a given reference document.
* Other additions and changes
* Clarification in the UI that the fields "Match" and "Is insensitive" are not relevant for the Auto matching algorithm.
* New select interface for tags, types and correspondents allows filtering. This also improves tag selection. Thanks again to `Michael Shamoon`_!
* Page navigation controls for the document viewer, thanks to `Michael Shamoon`_.
* Layout changes to the small cards document list.
* The dashboard now displays the username (or full name if specified in the admin) on the dashboard.
* Fixes
* An error that caused the document importer to crash was fixed.
* An issue with changes not being possible when ``PAPERLESS_COOKIE_PREFIX`` is used was fixed.
* The date selection filters now allow manual entry of dates.
* Feature Removal
* Most of the guesswork features have been removed. Paperless no longer tries to extract correspondents and tags from file names.
paperless-ng 0.9.8
==================
This release addresses two severe issues with the previous release.
* The delete buttons for document types, correspondents and tags were not working.
* The document section in the admin was causing internal server errors (500).
paperless-ng 0.9.7
##################
==================
* Front end
* Thanks to the hard work of `Michael Shamoon`_, paperless now comes with a much more streamlined UI for
filtering documents.
* `Michael Shamoon`_ replaced the document preview with another component. This should fix compatibility with Safari browsers.
* Added buttons to the management pages to quickly show all documents with one specific tag, correspondent, or title.
* Paperless now stores your saved views on the server and associates them with your user account.
* Paperless now stores your saved views on the server and associates them with your user account.
This means that you can access your views on multiple devices and have separate views for different users.
You will have to recreate your views.
@@ -37,7 +608,7 @@ paperless-ng 0.9.7
This option enables you to be logged in into multiple instances by specifying different cookie names for each instance.
* Fixes
* Sometimes paperless would assign dates in the future to newly consumed documents.
* The filename format fields ``{created_month}`` and ``{created_day}`` now use a leading zero for single digit values.
* The filename format field ``{tags}`` can no longer be used without arguments.
@@ -49,7 +620,7 @@ paperless-ng 0.9.7
paperless-ng 0.9.6
##################
==================
This release focusses primarily on many small issues with the UI.
@@ -90,7 +661,7 @@ This release focusses primarily on many small issues with the UI.
paperless-ng 0.9.5
##################
==================
This release concludes the big changes I wanted to get rolled into paperless. The next releases before 1.0 will
focus on fixing issues, primarily.
@@ -140,7 +711,7 @@ focus on fixing issues, primarily.
* Assigning correspondents from mail sender names failed for very long names. Paperless no longer assigns correspondents in these cases.
paperless-ng 0.9.4
##################
==================
* Searching:
@@ -168,7 +739,7 @@ paperless-ng 0.9.4
how to setup the development environment.
paperless-ng 0.9.3
##################
==================
* Setting ``PAPERLESS_AUTO_LOGIN_USERNAME`` replaces ``PAPERLESS_DISABLE_LOGIN``.
You have to specify your username.
@@ -186,7 +757,7 @@ paperless-ng 0.9.3
* Added lots of tests for various parts of the application.
paperless-ng 0.9.2
##################
==================
* Major changes to the front end (colors, logo, shadows, layout of the cards,
better mobile support)
@@ -216,7 +787,7 @@ paperless-ng 0.9.2
up in the admin.
paperless-ng 0.9.1
##################
==================
* Moved documentation of the settings to the actual documentation.
* Updated release script to force the user to choose between SQLite
@@ -224,7 +795,7 @@ paperless-ng 0.9.1
paperless-ng 0.9.0
##################
==================
* **Deprecated:** GnuPG. :ref:`See this note on the state of GnuPG in paperless-ng. <utilities-encyption>`
This features will most likely be removed in future versions.
@@ -884,6 +1455,14 @@ bulk of the work on this big change.
* Initial release
.. _Alexander Menk: https://github.com/amenk
.. _puuu: https://github.com/puuu
.. _WhiteHatTux: https://github.com/WhiteHatTux
.. _Chris Nagy: https://github.com/what-name
.. _sbrl: https://github.com/sbrl
.. _slorenz: https://github.com/sisao
.. _Jo Vandeginste: https://github.com/jovandeginste
.. _zjean: https://github.com/zjean
.. _rYR79435: https://github.com/rYR79435
.. _Michael Shamoon: https://github.com/shamoon
.. _jayme-github: http://github.com/jayme-github
@@ -953,6 +1532,50 @@ bulk of the work on this big change.
.. _JOKer: https://github.com/MasterofJOKers
.. _Brian Cribbs: https://github.com/cribbstechnolog
.. _Brendan M. Sleight: https://github.com/bmsleight
.. _Daniel Albers: https://github.com/AlD
.. _@shamoon: https://github.com/shamoon
.. _@amenk: https://github.com/amenk
.. _@dblitt: https://github.com/dblitt
.. _@evilsidekick293: https://github.com/evilsidekick293
.. _@m0veax: https://github.com/m0veax
.. _@fignew: https://github.com/fignew
.. _@muued: https://github.com/muued
.. _@isigmund: https://github.com/isigmund
.. _@denilsonsa: https://github.com/denilsonsa
.. _@sAksham-Ar: https://github.com/sAksham-Ar
.. _@philpagel: https://github.com/philpagel
.. _@davemachado: https://github.com/davemachado
.. _@2600box: https://github.com/2600box
.. _@qcasey: https://github.com/qcasey
.. _@kpj: https://github.com/kpj
.. _@mweimerskirch: https://github.com/mweimerskirch
.. _@filcuk: https://github.com/filcuk
.. _@FrankStrieter: https://github.com/FrankStrieter
.. _@tribut: https://github.com/tribut
.. _@yschroeder: https://github.com/yschroeder
.. _@gador: https://github.com/gador
.. _@Nicarim: https://github.com/Nicarim
.. _@bauerj: https://github.com/bauerj
.. _@a17t: https://github.com/a17t
.. _@alexander-bauer: https://github.com/alexander-bauer
.. _@apeltzer: https://github.com/apeltzer
.. _@Timoms: https://github.com/Timoms
.. _@sbrunner: https://github.com/sbrunner
.. _@slankes: https://github.com/slankes
.. _@mattlamb99: https://github.com/mattlamb99
.. _@padraigkitterick: https://github.com/padraigkitterick
.. _@ajkavanagh: https://github.com/ajkavanagh
.. _@Tooa: https://github.com/Tooa
.. _@Unkn0wnCat: https://github.com/Unkn0wnCat
.. _@pewter77: https://github.com/pewter77
.. _@cschmatzler: https://github.com/cschmatzler
.. _@muellermartin: https://github.com/muellermartin
.. _@stumpylog: https://github.com/stumpylog
.. _@Toxix: https://github.com/Toxix
.. _@benjaminfrank: https://github.com/benjaminfrank
.. _@azapater: https://github.com/azapater
.. _@tim-vogel: https://github.com/tim-vogel
.. _@jschpp: https://github.com/jschpp
.. _#20: https://github.com/the-paperless-project/paperless/issues/20
.. _#44: https://github.com/the-paperless-project/paperless/issues/44
@@ -1065,3 +1688,4 @@ bulk of the work on this big change.
.. _a new home on Docker Hub: https://hub.docker.com/r/danielquinn/paperless/
.. _optipng: http://optipng.sourceforge.net/
.. _DjangoQL: https://github.com/ivelum/djangoql
.. _ansible repo: https://github.com/paperless-ngx/paperless-ngx-ansible
+94 -94
View File
@@ -6,29 +6,29 @@ exec(open("../src/paperless/version.py").read())
extensions = [
'sphinx.ext.autodoc',
'sphinx.ext.intersphinx',
'sphinx.ext.todo',
'sphinx.ext.imgmath',
'sphinx.ext.viewcode',
'sphinx_rtd_theme',
"sphinx.ext.autodoc",
"sphinx.ext.intersphinx",
"sphinx.ext.todo",
"sphinx.ext.imgmath",
"sphinx.ext.viewcode",
"sphinx_rtd_theme",
]
# Add any paths that contain templates here, relative to this directory.
# templates_path = ['_templates']
# The suffix of source filenames.
source_suffix = '.rst'
source_suffix = ".rst"
# The encoding of source files.
#source_encoding = 'utf-8-sig'
# source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
master_doc = "index"
# General information about the project.
project = u'Paperless-ng'
copyright = u'2015, Daniel Quinn'
project = "Paperless-ngx"
copyright = "2015-2022, Daniel Quinn, Jonas Winkler, and the paperless-ngx team"
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@@ -47,180 +47,174 @@ release = ".".join([str(_) for _ in __version__[:3]])
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# language = None
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'
# today_fmt = '%B %d, %Y'
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
exclude_patterns = ["_build"]
# The reST default role (used for this markup: `text`) to use for all
# documents.
#default_role = None
# default_role = None
# If true, '()' will be appended to :func: etc. cross-reference text.
#add_function_parentheses = True
# add_function_parentheses = True
# If true, the current module name will be prepended to all description
# unit titles (such as .. function::).
#add_module_names = True
# add_module_names = True
# If true, sectionauthor and moduleauthor directives will be shown in the
# output. They are ignored by default.
#show_authors = False
# show_authors = False
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
pygments_style = "sphinx"
# A list of ignored prefixes for module index sorting.
#modindex_common_prefix = []
# modindex_common_prefix = []
# If true, keep warnings as "system message" paragraphs in the built documents.
#keep_warnings = False
# keep_warnings = False
# -- Options for HTML output ----------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = 'sphinx_rtd_theme'
html_theme = "sphinx_rtd_theme"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = {}
# html_theme_options = {}
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = []
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
#html_title = None
# html_title = None
# A shorter title for the navigation bar. Default is the same as html_title.
#html_short_title = None
# html_short_title = None
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
# html_logo = None
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
# html_favicon = None
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = ["_static"]
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied
# directly to the root of the documentation.
#html_extra_path = []
# html_extra_path = []
# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
# using the given strftime format.
#html_last_updated_fmt = '%b %d, %Y'
# html_last_updated_fmt = '%b %d, %Y'
# If true, SmartyPants will be used to convert quotes and dashes to
# typographically correct entities.
#html_use_smartypants = True
# html_use_smartypants = True
# Custom sidebar templates, maps document names to template names.
#html_sidebars = {}
# html_sidebars = {}
# Additional templates that should be rendered to pages, maps page names to
# template names.
#html_additional_pages = {}
# html_additional_pages = {}
# If false, no module index is generated.
#html_domain_indices = True
# html_domain_indices = True
# If false, no index is generated.
#html_use_index = True
# html_use_index = True
# If true, the index is split into individual pages for each letter.
#html_split_index = False
# html_split_index = False
# If true, links to the reST sources are added to the pages.
#html_show_sourcelink = True
# html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
# html_show_sphinx = True
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True
# html_show_copyright = True
# If true, an OpenSearch description file will be output, and all pages will
# contain a <link> tag referring to it. The value of this option must be the
# base URL from which the finished HTML is served.
#html_use_opensearch = ''
# html_use_opensearch = ''
# This is the file name suffix for HTML files (e.g. ".xhtml").
#html_file_suffix = None
# html_file_suffix = None
# Output file base name for HTML help builder.
htmlhelp_basename = 'paperless'
htmlhelp_basename = "paperless"
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
# The paper size ('letterpaper' or 'a4paper').
#'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#'preamble': '',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
('index', 'paperless.tex', u'Paperless Documentation',
u'Daniel Quinn', 'manual'),
("index", "paperless.tex", "Paperless Documentation", "Daniel Quinn", "manual"),
]
# The name of an image file (relative to this directory) to place at the top of
# the title page.
#latex_logo = None
# latex_logo = None
# For "manual" documents, if this is true, then toplevel headings are parts,
# not chapters.
#latex_use_parts = False
# latex_use_parts = False
# If true, show page references after internal links.
#latex_show_pagerefs = False
# latex_show_pagerefs = False
# If true, show URL addresses after external links.
#latex_show_urls = False
# latex_show_urls = False
# Documents to append as an appendix to all manuals.
#latex_appendices = []
# latex_appendices = []
# If false, no module index is generated.
#latex_domain_indices = True
# latex_domain_indices = True
# -- Options for manual page output ---------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
('index', 'paperless', u'Paperless Documentation',
[u'Daniel Quinn'], 1)
]
man_pages = [("index", "paperless", "Paperless Documentation", ["Daniel Quinn"], 1)]
# If true, show URL addresses after external links.
#man_show_urls = False
# man_show_urls = False
# -- Options for Texinfo output -------------------------------------------
@@ -229,93 +223,99 @@ man_pages = [
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
('index', 'Paperless', u'Paperless Documentation',
u'Daniel Quinn', 'paperless', 'Scan, index, and archive all of your paper documents.',
'Miscellaneous'),
(
"index",
"Paperless",
"Paperless Documentation",
"Daniel Quinn",
"paperless",
"Scan, index, and archive all of your paper documents.",
"Miscellaneous",
),
]
# Documents to append as an appendix to all manuals.
#texinfo_appendices = []
# texinfo_appendices = []
# If false, no module index is generated.
#texinfo_domain_indices = True
# texinfo_domain_indices = True
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#texinfo_show_urls = 'footnote'
# texinfo_show_urls = 'footnote'
# If true, do not generate a @detailmenu in the "Top" node's menu.
#texinfo_no_detailmenu = False
# texinfo_no_detailmenu = False
# -- Options for Epub output ----------------------------------------------
# Bibliographic Dublin Core info.
epub_title = u'Paperless'
epub_author = u'Daniel Quinn'
epub_publisher = u'Daniel Quinn'
epub_copyright = u'2015, Daniel Quinn'
epub_title = "Paperless"
epub_author = "Daniel Quinn"
epub_publisher = "Daniel Quinn"
epub_copyright = "2015, Daniel Quinn"
# The basename for the epub file. It defaults to the project name.
#epub_basename = u'Paperless'
# epub_basename = u'Paperless'
# The HTML theme for the epub output. Since the default themes are not optimized
# for small screen space, using the same theme for HTML and epub output is
# usually not wise. This defaults to 'epub', a theme designed to save visual
# space.
#epub_theme = 'epub'
# epub_theme = 'epub'
# The language of the text. It defaults to the language option
# or en if the language is not set.
#epub_language = ''
# epub_language = ''
# The scheme of the identifier. Typical schemes are ISBN or URL.
#epub_scheme = ''
# epub_scheme = ''
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#epub_identifier = ''
# epub_identifier = ''
# A unique identification for the text.
#epub_uid = ''
# epub_uid = ''
# A tuple containing the cover image and cover page html template filenames.
#epub_cover = ()
# epub_cover = ()
# A sequence of (type, uri, title) tuples for the guide element of content.opf.
#epub_guide = ()
# epub_guide = ()
# HTML files that should be inserted before the pages created by sphinx.
# The format is a list of tuples containing the path and title.
#epub_pre_files = []
# epub_pre_files = []
# HTML files shat should be inserted after the pages created by sphinx.
# The format is a list of tuples containing the path and title.
#epub_post_files = []
# epub_post_files = []
# A list of files that should not be packed into the epub file.
epub_exclude_files = ['search.html']
epub_exclude_files = ["search.html"]
# The depth of the table of contents in toc.ncx.
#epub_tocdepth = 3
# epub_tocdepth = 3
# Allow duplicate toc entries.
#epub_tocdup = True
# epub_tocdup = True
# Choose between 'default' and 'includehidden'.
#epub_tocscope = 'default'
# epub_tocscope = 'default'
# Fix unsupported image types using the PIL.
#epub_fix_images = False
# epub_fix_images = False
# Scale large images.
#epub_max_image_width = 0
# epub_max_image_width = 0
# How to display URL addresses: 'footnote', 'no', or 'inline'.
#epub_show_urls = 'inline'
# epub_show_urls = 'inline'
# If false, no index is generated.
#epub_use_index = True
# epub_use_index = True
# Example configuration for intersphinx: refer to the Python standard library.
intersphinx_mapping = {'http://docs.python.org/': None}
intersphinx_mapping = {"http://docs.python.org/": None}
+367 -27
View File
@@ -53,6 +53,12 @@ PAPERLESS_DBPASS=<password>
Defaults to "paperless".
PAPERLESS_DBSSLMODE=<mode>
SSL mode to use when connecting to PostgreSQL.
See `the official documentation about sslmode <https://www.postgresql.org/docs/current/libpq-ssl.html>`_.
Default is ``prefer``.
Paths and folders
#################
@@ -66,13 +72,22 @@ PAPERLESS_CONSUMPTION_DIR=<path>
container. Change the local consumption directory in the docker-compose.yml
file instead.
Defaults to "../consume", relative to the "src" directory.
Defaults to "../consume/", relative to the "src" directory.
PAPERLESS_DATA_DIR=<path>
This is where paperless stores all its data (search index, SQLite database,
classification model, etc).
Defaults to "../data", relative to the "src" directory.
Defaults to "../data/", relative to the "src" directory.
PAPERLESS_TRASH_DIR=<path>
Instead of removing deleted documents, they are moved to this directory.
This must be writeable by the user running paperless. When running inside
docker, ensure that this path is within a permanent volume (such as
"../media/trash") so it won't get lost on upgrades.
Defaults to empty (i.e. really delete documents).
PAPERLESS_MEDIA_ROOT=<path>
This is where your documents and thumbnails are stored.
@@ -80,7 +95,7 @@ PAPERLESS_MEDIA_ROOT=<path>
You can set this and PAPERLESS_DATA_DIR to the same folder to have paperless
store all its data within the same volume.
Defaults to "../media", relative to the "src" directory.
Defaults to "../media/", relative to the "src" directory.
PAPERLESS_STATICDIR=<path>
Override the default STATIC_ROOT here. This is where all static files
@@ -88,7 +103,7 @@ PAPERLESS_STATICDIR=<path>
Unless you're doing something fancy, there is no need to override this.
Defaults to "../static", relative to the "src" directory.
Defaults to "../static/", relative to the "src" directory.
PAPERLESS_FILENAME_FORMAT=<format>
Changes the filenames paperless uses to store documents in the media directory.
@@ -96,6 +111,25 @@ PAPERLESS_FILENAME_FORMAT=<format>
Default is none, which disables this feature.
PAPERLESS_LOGGING_DIR=<path>
This is where paperless will store log files.
Defaults to "``PAPERLESS_DATA_DIR``/log/".
Logging
#######
PAPERLESS_LOGROTATE_MAX_SIZE=<num>
Maximum file size for log files before they are rotated, in bytes.
Defaults to 1 MiB.
PAPERLESS_LOGROTATE_MAX_BACKUPS=<num>
Number of rotated log files to keep.
Defaults to 20.
Hosting & Security
##################
@@ -129,10 +163,6 @@ PAPERLESS_FORCE_SCRIPT_NAME=<path>
To host paperless under a subpath url like example.com/paperless you set
this value to /paperless. No trailing slash!
.. note::
I don't know if this works in paperless-ng. Probably not.
Defaults to none, which hosts paperless at "/".
PAPERLESS_STATIC_URL=<path>
@@ -152,6 +182,30 @@ PAPERLESS_AUTO_LOGIN_USERNAME=<username>
Defaults to none, which disables this feature.
PAPERLESS_ADMIN_USER=<username>
If this environment variable is specified, Paperless automatically creates
a superuser with the provided username at start. This is useful in cases
where you can not run the `createsuperuser` command seperately, such as Kubernetes
or AWS ECS.
Requires `PAPERLESS_ADMIN_PASSWORD` to be set.
.. note::
This will not change an existing [super]user's password, nor will
it recreate a user that already exists. You can leave this throughout
the lifecycle of the containers.
PAPERLESS_ADMIN_MAIL=<email>
(Optional) Specify superuser email address. Only used when
`PAPERLESS_ADMIN_USER` is set.
Defaults to ``root@localhost``.
PAPERLESS_ADMIN_PASSWORD=<password>
Only used when `PAPERLESS_ADMIN_USER` is set.
This will be the password of the automatically created superuser.
PAPERLESS_COOKIE_PREFIX=<str>
Specify a prefix that is added to the cookies used by paperless to identify
@@ -162,6 +216,39 @@ PAPERLESS_COOKIE_PREFIX=<str>
Defaults to ``""``, which does not alter the cookie names.
PAPERLESS_ENABLE_HTTP_REMOTE_USER=<bool>
Allows authentication via HTTP_REMOTE_USER which is used by some SSO
applications.
.. warning::
This will allow authentication by simply adding a ``Remote-User: <username>`` header
to a request. Use with care! You especially *must* ensure that any such header is not
passed from your proxy server to paperless.
If you're exposing paperless to the internet directly, do not use this.
Also see the warning `in the official documentation <https://docs.djangoproject.com/en/3.1/howto/auth-remote-user/#configuration>`.
Defaults to `false` which disables this feature.
PAPERLESS_HTTP_REMOTE_USER_HEADER_NAME=<str>
If `PAPERLESS_ENABLE_HTTP_REMOTE_USER` is enabled, this property allows to
customize the name of the HTTP header from which the authenticated username
is extracted. Values are in terms of
[HttpRequest.META](https://docs.djangoproject.com/en/3.1/ref/request-response/#django.http.HttpRequest.META).
Thus, the configured value must start with `HTTP_` followed by the
normalized actual header name.
Defaults to `HTTP_REMOTE_USER`.
PAPERLESS_LOGOUT_REDIRECT_URL=<str>
URL to redirect the user to after a logout. This can be used together with
`PAPERLESS_ENABLE_HTTP_REMOTE_USER` to redirect the user back to the SSO
application's logout page.
Defaults to None, which disables this feature.
.. _configuration-ocr:
OCR settings
@@ -171,7 +258,6 @@ Paperless uses `OCRmyPDF <https://ocrmypdf.readthedocs.io/en/latest/>`_ for
performing OCR on documents and images. Paperless uses sensible defaults for
most settings, but all of them can be configured to your needs.
PAPERLESS_OCR_LANGUAGE=<lang>
Customize the language that paperless will attempt to use when
parsing documents.
@@ -188,6 +274,8 @@ PAPERLESS_OCR_LANGUAGE=<lang>
Defaults to "eng".
Note: If your language contains a '-' such as chi-sim, you must use chi_sim
PAPERLESS_OCR_MODE=<mode>
Tell paperless when and how to perform ocr on your documents. Four modes
are available:
@@ -210,20 +298,68 @@ PAPERLESS_OCR_MODE=<mode>
into images and puts the OCRed text on top. This works for all documents,
however, the resulting document may be significantly larger and text
won't appear as sharp when zoomed in.
The default is ``skip``, which only performs OCR when necessary and always
creates archived documents.
Read more about this in the `OCRmyPDF documentation <https://ocrmypdf.readthedocs.io/en/latest/advanced.html#when-ocr-is-skipped>`_.
PAPERLESS_OCR_CLEAN=<mode>
Tells paperless to use ``unpaper`` to clean any input document before
sending it to tesseract. This uses more resources, but generally results
in better OCR results. The following modes are available:
* ``clean``: Apply unpaper.
* ``clean-final``: Apply unpaper, and use the cleaned images to build the
output file instead of the original images.
* ``none``: Do not apply unpaper.
Defaults to ``clean``.
.. note::
``clean-final`` is incompatible with ocr mode ``redo``. When both
``clean-final`` and the ocr mode ``redo`` is configured, ``clean``
is used instead.
PAPERLESS_OCR_DESKEW=<bool>
Tells paperless to correct skewing (slight rotation of input images mainly
due to improper scanning)
Defaults to ``true``, which enables this feature.
.. note::
Deskewing is incompatible with ocr mode ``redo``. Deskewing will get
disabled automatically if ``redo`` is used as the ocr mode.
PAPERLESS_OCR_ROTATE_PAGES=<bool>
Tells paperless to correct page rotation (90°, 180° and 270° rotation).
If you notice that paperless is not rotating incorrectly rotated
pages (or vice versa), try adjusting the threshold up or down (see below).
Defaults to ``true``, which enables this feature.
PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD=<num>
Adjust the threshold for automatic page rotation by ``PAPERLESS_OCR_ROTATE_PAGES``.
This is an arbitrary value reported by tesseract. "15" is a very conservative value,
whereas "2" is a very aggressive option and will often result in correctly rotated pages
being rotated as well.
Defaults to "12".
PAPERLESS_OCR_OUTPUT_TYPE=<type>
Specify the the type of PDF documents that paperless should produce.
* ``pdf``: Modify the PDF document as little as possible.
* ``pdfa``: Convert PDF documents into PDF/A-2b documents, which is a
subset of the entire PDF specification and meant for storing
documents long term.
* ``pdfa-1``, ``pdfa-2``, ``pdfa-3`` to specify the exact version of
PDF/A you wish to use.
If not specified, ``pdfa`` is used. Remember that paperless also keeps
the original input file as well as the archived version.
@@ -240,7 +376,6 @@ PAPERLESS_OCR_PAGES=<num>
Defaults to 0, which disables this feature and always uses all pages.
PAPERLESS_OCR_IMAGE_DPI=<num>
Paperless will OCR any images you put into the system and convert them
into PDF documents. This is useful if your scanner produces images.
@@ -251,17 +386,26 @@ PAPERLESS_OCR_IMAGE_DPI=<num>
Set this to the DPI your scanner produces images at.
Default is none, which causes paperless to fail if no DPI information is
present in an image.
Default is none, which will automatically calculate image DPI so that
the produced PDF documents are A4 sized.
PAPERLESS_OCR_MAX_IMAGE_PIXELS=<num>
Paperless will not OCR images that have more pixels than this limit.
This is intended to prevent decompression bombs from overloading paperless.
Increasing this limit is desired if you face a DecompressionBombError despite
the concerning file not being malicious; this could e.g. be caused by invalidly
recognized metadata.
If you have enough resources or if you are certain that your uploaded files
are not malicious you can increase this value to your needs.
The default value is 256000000, an image with more pixels than that would not be parsed.
PAPERLESS_OCR_USER_ARG=<json>
PAPERLESS_OCR_USER_ARGS=<json>
OCRmyPDF offers many more options. Use this parameter to specify any
additional arguments you wish to pass to OCRmyPDF. Since Paperless uses
the API of OCRmyPDF, you have to specify these in a format that can be
passed to the API. See `the API reference of OCRmyPDF <https://ocrmypdf.readthedocs.io/en/latest/api.html#reference>`_
for valid parameters. All command line options are supported, but they
use underscores instead of dashed.
use underscores instead of dashes.
.. caution::
@@ -275,9 +419,72 @@ PAPERLESS_OCR_USER_ARG=<json>
.. code:: json
{"deskew": true, "optimize": 3, "unpaper_args": "--pre-rotate 90"}
{"deskew": true, "optimize": 3, "unpaper_args": "--pre-rotate 90"}
.. _configuration-tika:
Tika settings
#############
Paperless can make use of `Tika <https://tika.apache.org/>`_ and
`Gotenberg <https://gotenberg.dev/>`_ for parsing and
converting "Office" documents (such as ".doc", ".xlsx" and ".odt"). If you
wish to use this, you must provide a Tika server and a Gotenberg server,
configure their endpoints, and enable the feature.
PAPERLESS_TIKA_ENABLED=<bool>
Enable (or disable) the Tika parser.
Defaults to false.
PAPERLESS_TIKA_ENDPOINT=<url>
Set the endpoint URL were Paperless can reach your Tika server.
Defaults to "http://localhost:9998".
PAPERLESS_TIKA_GOTENBERG_ENDPOINT=<url>
Set the endpoint URL were Paperless can reach your Gotenberg server.
Defaults to "http://localhost:3000".
If you run paperless on docker, you can add those services to the docker-compose
file (see the provided ``docker-compose.tika.yml`` file for reference). The changes
requires are as follows:
.. code:: yaml
services:
# ...
webserver:
# ...
environment:
# ...
PAPERLESS_TIKA_ENABLED: 1
PAPERLESS_TIKA_GOTENBERG_ENDPOINT: http://gotenberg:3000
PAPERLESS_TIKA_ENDPOINT: http://tika:9998
# ...
gotenberg:
image: gotenberg/gotenberg:7
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-routes=true"
tika:
image: apache/tika
restart: unless-stopped
Add the configuration variables to the environment of the webserver (alternatively
put the configuration in the ``docker-compose.env`` file) and add the additional
services below the webserver service. Watch out for indentation.
Make sure to use the correct format `PAPERLESS_TIKA_ENABLED = 1` so python_dotenv can parse the statement correctly.
Software tweaks
###############
@@ -304,13 +511,36 @@ PAPERLESS_THREADS_PER_WORKER=<num>
use a higher thread per worker count.
The default is a balance between the two, according to your CPU core count,
with a slight favor towards threads per worker, and using as much cores as
possible.
with a slight favor towards threads per worker:
+----------------+---------+---------+
| CPU core count | Workers | Threads |
+----------------+---------+---------+
| 1 | 1 | 1 |
+----------------+---------+---------+
| 2 | 2 | 1 |
+----------------+---------+---------+
| 4 | 2 | 2 |
+----------------+---------+---------+
| 6 | 2 | 3 |
+----------------+---------+---------+
| 8 | 2 | 4 |
+----------------+---------+---------+
| 12 | 3 | 4 |
+----------------+---------+---------+
| 16 | 4 | 4 |
+----------------+---------+---------+
If you only specify PAPERLESS_TASK_WORKERS, paperless will adjust
PAPERLESS_THREADS_PER_WORKER automatically.
PAPERLESS_WORKER_TIMEOUT=<num>
Machines with few cores or weak ones might not be able to finish OCR on
large documents within the default 1800 seconds. So extending this timeout
may prove to be useful on weak hardware setups.
PAPERLESS_TIME_ZONE=<timezone>
Set the time zone here.
See https://docs.djangoproject.com/en/3.1/ref/settings/#std:setting-TIME_ZONE
@@ -319,11 +549,14 @@ PAPERLESS_TIME_ZONE=<timezone>
Defaults to UTC.
.. _configuration-polling:
PAPERLESS_CONSUMER_POLLING=<num>
If paperless won't find documents added to your consume folder, it might
not be able to automatically detect filesystem changes. In that case,
specify a polling interval in seconds here, which will then cause paperless
to periodically check your consumption directory for changes.
to periodically check your consumption directory for changes. This will also
disable listening for file system changes with ``inotify``.
Defaults to 0, which disables polling and uses filesystem notifications.
@@ -348,6 +581,9 @@ PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=<bool>
E.g. <CONSUMPTION_DIR>/foo/bar/file.pdf will add the tags "foo" and "bar" to
the consumed file. Paperless will create any tags that don't exist yet.
This is useful for sorting documents with certain tags such as ``car`` or
``todo`` prior to consumption. These folders won't be deleted.
PAPERLESS_CONSUMER_RECURSIVE must be enabled for this to work.
Defaults to false.
@@ -400,11 +636,42 @@ PAPERLESS_FILENAME_DATE_ORDER=<format>
Defaults to none, which disables this feature.
PAPERLESS_FILENAME_PARSE_TRANSFORMS
Transforms filenames before they are processed by paperless. See
:ref:`advanced-transforming_filenames` for details.
PAPERLESS_THUMBNAIL_FONT_NAME=<filename>
Paperless creates thumbnails for plain text files by rendering the content
of the file on an image and uses a predefined font for that. This
font can be changed here.
Defaults to none, which disables this feature.
Note that this won't have any effect on already generated thumbnails.
Defaults to ``/usr/share/fonts/liberation/LiberationSerif-Regular.ttf``.
PAPERLESS_IGNORE_DATES=<string>
Paperless parses a documents creation date from filename and file content.
You may specify a comma separated list of dates that should be ignored during
this process. This is useful for special dates (like date of birth) that appear
in documents regularly but are very unlikely to be the documents creation date.
You may specify dates in a multitude of formats supported by dateparser (see
https://dateparser.readthedocs.io/en/latest/#popular-formats) but as the dates
need to be comma separated, the options are limited.
Example: "2020-12-02,22.04.1999"
Defaults to an empty string to not ignore any dates.
PAPERLESS_DATE_ORDER=<format>
Paperless will try to determine the document creation date from its contents.
Specify the date format Paperless should expect to see within your documents.
This option defaults to DMY which translates to day first, month second, and year
last order. Characters D, M, or Y can be shuffled to meet the required order.
PAPERLESS_CONSUMER_IGNORE_PATTERNS=<json>
By default, paperless ignores certain files and folders in the consumption
directory, such as system files created by the Mac OS.
This can be adjusted by configuring a custom json array with patterns to exclude.
Defautls to ``[".DS_STORE/*", "._*", ".stfolder/*"]``.
Binaries
########
@@ -424,3 +691,76 @@ PAPERLESS_GS_BINARY=<path>
PAPERLESS_OPTIPNG_BINARY=<path>
Defaults to "/usr/bin/optipng".
.. _configuration-docker:
Docker-specific options
#######################
These options don't have any effect in ``paperless.conf``. These options adjust
the behavior of the docker container. Configure these in `docker-compose.env`.
PAPERLESS_WEBSERVER_WORKERS=<num>
The number of worker processes the webserver should spawn. More worker processes
usually result in the front end to load data much quicker. However, each worker process
also loads the entire application into memory separately, so increasing this value
will increase RAM usage.
Consider configuring this to 1 on low power devices with limited amount of RAM.
Defaults to 2.
PAPERLESS_PORT=<port>
The port number the webserver will listen on inside the container. There are
special setups where you may need this to avoid collisions with other
services (like using podman with multiple containers in one pod).
Don't change this when using Docker. To change the port the webserver is
reachable outside of the container, instead refer to the "ports" key in
``docker-compose.yml``.
Defaults to 8000.
USERMAP_UID=<uid>
The ID of the paperless user in the container. Set this to your actual user ID on the
host system, which you can get by executing
.. code:: shell-session
$ id -u
Paperless will change ownership on its folders to this user, so you need to get this right
in order to be able to write to the consumption directory.
Defaults to 1000.
USERMAP_GID=<gid>
The ID of the paperless Group in the container. Set this to your actual group ID on the
host system, which you can get by executing
.. code:: shell-session
$ id -g
Paperless will change ownership on its folders to this group, so you need to get this right
in order to be able to write to the consumption directory.
Defaults to 1000.
PAPERLESS_OCR_LANGUAGES=<list>
Additional OCR languages to install. By default, paperless comes with
English, German, Italian, Spanish and French. If your language is not in this list, install
additional languages with this configuration option:
.. code:: bash
PAPERLESS_OCR_LANGUAGES=tur ces
To actually use these languages, also set the default OCR language of paperless:
.. code:: bash
PAPERLESS_OCR_LANGUAGE=tur
Defaults to none, which does not install any additional languages.
-145
View File
@@ -1,145 +0,0 @@
.. _contributing:
Contributing to Paperless
#########################
.. warning::
This section is not updated to paperless-ng yet.
Maybe you've been using Paperless for a while and want to add a feature or two,
or maybe you've come across a bug that you have some ideas how to solve. The
beauty of Free software is that you can see what's wrong and help to get it
fixed for everyone!
How to Get Your Changes Rolled Into Paperless
=============================================
If you've found a bug, but don't know how to fix it, you can always post an
issue on `GitHub`_ in the hopes that someone will have the time to fix it for
you. If however you're the one with the time, pull requests are always
welcome, you just have to make sure that your code conforms to a few standards:
Pep8
----
It's the standard for all Python development, so it's `very well documented`_.
The short version is:
* Lines should wrap at 79 characters
* Use ``snake_case`` for variables, ``CamelCase`` for classes, and ``ALL_CAPS``
for constants.
* Space out your operators: ``stuff + 7`` instead of ``stuff+7``
* Two empty lines between classes, and functions, but 1 empty line between
class methods.
There's more to it than that, but if you follow those, you'll probably be
alright. When you submit your pull request, there's a pep8 checker that'll
look at your code to see if anything is off. If it finds anything, it'll
complain at you until you fix it.
Additional Style Guides
-----------------------
Where pep8 is ambiguous, I've tried to be a little more specific. These rules
aren't hard-and-fast, but if you can conform to them, I'll appreciate it and
spend less time trying to conform your PR before merging:
Function calls
..............
If you're calling a function and that necessitates more than one line of code,
please format it like this:
.. code:: python
my_function(
argument1,
kwarg1="x",
kwarg2="y"
another_really_long_kwarg="some big value"
a_kwarg_calling_another_long_function=another_function(
another_arg,
another_kwarg="kwarg!"
)
)
This is all in the interest of code uniformity rather than anything else. If
we stick to a style, everything is understandable in the same way.
Quoting Strings
...............
pep8 is a little too open-minded on this for my liking. Python strings should
be quoted with double quotes (``"``) except in cases where the resulting string
would require too much escaping of a double quote, in which case, a single
quoted, or triple-quoted string will do:
.. code:: python
my_string = "This is my string"
problematic_string = 'This is a "string" with "quotes" in it'
In HTML templates, please use double-quotes for tag attributes, and single
quotes for arguments passed to Django template tags:
.. code:: html
<div class="stuff">
<a href="{% url 'some-url-name' pk='w00t' %}">link this</a>
</div>
This is to keep linters happy they look at an HTML file and see an attribute
closing the ``"`` before it should have been.
--
That's all there is in terms of guidelines, so I hope it's not too daunting.
Indentation & Spacing
.....................
When it comes to indentation:
* For Python, the rule is: follow pep8 and use 4 spaces.
* For Javascript, CSS, and HTML, please use 1 tab.
Additionally, Django templates making use of block elements like ``{% if %}``,
``{% for %}``, and ``{% block %}`` etc. should be indented:
Good:
.. code:: html
{% block stuff %}
<h1>This is the stuff</h1>
{% endblock %}
Bad:
.. code:: html
{% block stuff %}
<h1>This is the stuff</h1>
{% endblock %}
The Code of Conduct
===================
Paperless has a `code of conduct`_. It's a lot like the other ones you see out
there, with a few small changes, but basically it boils down to:
> Don't be an ass, or you might get banned.
I'm proud to say that the CoC has never had to be enforced because everyone has
been awesome, friendly, and professional.
.. _GitHub: https://github.com/the-paperless-project/paperless/issues
.. _very well documented: https://www.python.org/dev/peps/pep-0008/
.. _code of conduct: https://github.com/the-paperless-project/paperless/blob/master/CODE_OF_CONDUCT.md
+270 -42
View File
@@ -1,75 +1,163 @@
.. _extending:
Paperless development
#####################
Paperless-ngx Development
#########################
This section describes the steps you need to take to start development on paperless-ng.
This section describes the steps you need to take to start development on paperless-ngx.
1. Check out the source from github. The repository is organized in the following way:
Check out the source from github. The repository is organized in the following way:
* ``master`` always represents the latest release and will only see changes
when a new release is made.
* ``dev`` contains the code that will be in the next release.
* ``feature-X`` contain bigger changes that will be in some release, but not
necessarily the next one.
Apart from that, the folder structure is as follows:
* ``main`` always represents the latest release and will only see changes
when a new release is made.
* ``dev`` contains the code that will be in the next release.
* ``feature-X`` contain bigger changes that will be in some release, but not
necessarily the next one.
* ``docs/`` - Documentation.
* ``src-ui/`` - Code of the front end.
* ``src/`` - Code of the back end.
* ``scripts/`` - Various scripts that help with different parts of development.
* ``docker/`` - Files required to build the docker image.
When making functional changes to paperless, *always* make your changes on the ``dev`` branch.
2. Install some dependencies.
Apart from that, the folder structure is as follows:
* Python 3.6.
* All dependencies listed in the :ref:`Bare metal route <setup-bare_metal>`
* redis. You can either install redis or use the included scritps/start-redis.sh
to use docker to fire up a redis instance.
* ``docs/`` - Documentation.
* ``src-ui/`` - Code of the front end.
* ``src/`` - Code of the back end.
* ``scripts/`` - Various scripts that help with different parts of development.
* ``docker/`` - Files required to build the docker image.
Contributing to Paperless
=========================
Maybe you've been using Paperless for a while and want to add a feature or two,
or maybe you've come across a bug that you have some ideas how to solve. The
beauty of open source software is that you can see what's wrong and help to get
it fixed for everyone!
Before contributing please review our `code of conduct`_ and other important
information in the `contributing guidelines`_.
.. _code-formatting-with-pre-commit-hooks:
Code formatting with pre-commit Hooks
=====================================
To ensure a consistent style and formatting across the project source, the project
utilizes a Git `pre-commit` hook to perform some formatting and linting before a
commit is allowed. That way, everyone uses the same style and some common issues
can be caught early on. See below for installation instructions.
Once installed, hooks will run when you commit. If the formatting isn't quite right
or a linter catches something, the commit will be rejected. You'll need to look at the
output and fix the issue. Some hooks, such as the Python formatting tool `black`,
will format failing files, so all you need to do is `git add` those files again and
retry your commit.
Initial setup and first start
=============================
After you forked and cloned the code from github you need to perform a first-time setup.
To do the setup you need to perform the steps from the following chapters in a certain order:
1. Install prerequisites + pipenv as mentioned in :ref:`Bare metal route <setup-bare_metal>`
2. Copy ``paperless.conf.example`` to ``paperless.conf`` and enable debug mode.
3. Install the Angular CLI interface:
.. code:: shell-session
$ npm install -g @angular/cli
4. Install pre-commit
.. code:: shell-session
pre-commit install
5. Create ``consume`` and ``media`` folders in the cloned root folder.
.. code:: shell-session
mkdir -p consume media
6. You can now either ...
* install redis or
* use the included scripts/start-services.sh to use docker to fire up a redis instance (and some other services such as tika, gotenberg and a postgresql server) or
* spin up a bare redis container
.. code:: shell-session
docker run -d -p 6379:6379 --restart unless-stopped redis:latest
7. Install the python dependencies by performing in the src/ directory.
.. code:: shell-session
pipenv install --dev
* Make sure you're using python 3.9.x or lower. Otherwise you might get issues with building dependencies. You can use `pyenv <https://github.com/pyenv/pyenv>`_ to install a specific python version.
8. Generate the static UI so you can perform a login to get session that is required for frontend development (this needs to be done one time only). From src-ui directory:
.. code:: shell-session
npm install .
./node_modules/.bin/ng build --configuration production
9. Apply migrations and create a superuser for your dev instance:
.. code:: shell-session
python3 manage.py migrate
python3 manage.py createsuperuser
10. Now spin up the dev backend. Depending on which part of paperless you're developing for, you need to have some or all of them running.
.. code:: shell-session
python3 manage.py runserver & python3 manage.py document_consumer & python3 manage.py qcluster
11. Login with the superuser credentials provided in step 8 at ``http://localhost:8000`` to create a session that enables you to use the backend.
Backend development environment is now ready, to start Frontend development go to ``/src-ui`` and run ``ng serve``. From there you can use ``http://localhost:4200`` for a preview.
Back end development
====================
The backend is a django application. I use PyCharm for development, but you can use whatever
The backend is a django application. PyCharm works well for development, but you can use whatever
you want.
Install the python dependencies by performing ``pipenv install --dev`` in the src/ directory.
This will also create a virtual environment, which you can enter with ``pipenv shell`` or
execute one-shot commands in with ``pipenv run``.
In ``src/paperless.conf``, enable debug mode.
Configure the IDE to use the src/ folder as the base source folder. Configure the following
launch configurations in your IDE:
* python3 manage.py runserver
* python3 manage.py qcluster
* python3 manage.py consumer
* python3 manage.py document_consumer
Depending on which part of paperless you're developing for, you need to have some or all of
them running.
To start them all:
.. code:: shell-session
python3 manage.py runserver & python3 manage.py document_consumer & python3 manage.py qcluster
Testing and code style:
* Run ``pytest`` in the src/ directory to execute all tests. This also generates a HTML coverage
report. When runnings test, paperless.conf is loaded as well. However: the tests rely on the default
configuration. This is not ideal. But for now, make sure no settings except for DEBUG are overridden when testing.
* Run ``pycodestyle`` to test your code for issues with the configured code style settings.
* Coding style is enforced by the Git pre-commit hooks. These will ensure your code is formatted and do some
linting when you do a `git commit`.
* You can also run ``black`` manually to format your code
.. note::
The line length rule E501 is generally useful for getting multiple source files
next to each other on the screen. However, in some cases, its just not possible
to make some lines fit, especially complicated IF cases. Append `` # NOQA: E501``
to make some lines fit, especially complicated IF cases. Append ``# NOQA: E501``
to disable this check for certain lines.
Front end development
=====================
The front end is build using angular. I use the ``Code - OSS`` IDE for development.
In order to get started, you need ``npm``. Install the Angular CLI interface with
The front end is built using Angular. In order to get started, you need ``npm``.
Install the Angular CLI interface with
.. code:: shell-session
@@ -98,22 +186,159 @@ X-Frame-Options are in place so that the front end behaves exactly as in product
relies on you being logged into the back end. Without a valid session, The front end will simply
not work.
Testing and code style:
* The frontend code (.ts, .html, .scss) use ``prettier`` for code formatting via the Git
``pre-commit`` hooks which run automatically on commit. See
:ref:`above <code-formatting-with-pre-commit-hooks>` for installation. You can also run this
via cli with a command such as
.. code:: shell-session
$ git ls-files -- '*.ts' | xargs pre-commit run prettier --files
* Frontend testing uses jest and cypress. There is currently a need for significantly more
frontend tests. Unit tests and e2e tests, respectively, can be run non-interactively with:
.. code:: shell-session
$ ng test
$ npm run e2e:ci
Cypress also includes a UI which can be run from within the ``src-ui`` directory with
.. code:: shell-session
$ ./node_modules/.bin/cypress open
In order to build the front end and serve it as part of django, execute
.. code:: shell-session
$ ng build --prod --output-path ../src/documents/static/frontend/
$ ng build --prod
This will build the front end and put it in a location from which the Django server will serve
it as static content. This way, you can verify that authentication is working.
Making a release
================
Execute the ``make-release.sh <ver>`` script.
Localization
============
This will test and assemble everything and also build and tag a docker image.
Paperless is available in many different languages. Since paperless consists both of a django
application and an Angular front end, both these parts have to be translated separately.
Front end localization
----------------------
* The Angular front end does localization according to the `Angular documentation <https://angular.io/guide/i18n>`_.
* The source language of the project is "en_US".
* The source strings end up in the file "src-ui/messages.xlf".
* The translated strings need to be placed in the "src-ui/src/locale/" folder.
* In order to extract added or changed strings from the source files, call ``ng xi18n --ivy``.
Adding new languages requires adding the translated files in the "src-ui/src/locale/" folder and adjusting a couple files.
1. Adjust "src-ui/angular.json":
.. code:: json
"i18n": {
"sourceLocale": "en-US",
"locales": {
"de": "src/locale/messages.de.xlf",
"nl-NL": "src/locale/messages.nl_NL.xlf",
"fr": "src/locale/messages.fr.xlf",
"en-GB": "src/locale/messages.en_GB.xlf",
"pt-BR": "src/locale/messages.pt_BR.xlf",
"language-code": "language-file"
}
}
2. Add the language to the available options in "src-ui/src/app/services/settings.service.ts":
.. code:: typescript
getLanguageOptions(): LanguageOption[] {
return [
{code: "en-us", name: $localize`English (US)`, englishName: "English (US)", dateInputFormat: "mm/dd/yyyy"},
{code: "en-gb", name: $localize`English (GB)`, englishName: "English (GB)", dateInputFormat: "dd/mm/yyyy"},
{code: "de", name: $localize`German`, englishName: "German", dateInputFormat: "dd.mm.yyyy"},
{code: "nl", name: $localize`Dutch`, englishName: "Dutch", dateInputFormat: "dd-mm-yyyy"},
{code: "fr", name: $localize`French`, englishName: "French", dateInputFormat: "dd/mm/yyyy"},
{code: "pt-br", name: $localize`Portuguese (Brazil)`, englishName: "Portuguese (Brazil)", dateInputFormat: "dd/mm/yyyy"}
// Add your new language here
]
}
``dateInputFormat`` is a special string that defines the behavior of the date input fields and absolutely needs to contain "dd", "mm" and "yyyy".
3. Import and register the Angular data for this locale in "src-ui/src/app/app.module.ts":
.. code:: typescript
import localeDe from '@angular/common/locales/de';
registerLocaleData(localeDe)
Back end localization
---------------------
A majority of the strings that appear in the back end appear only when the admin is used. However,
some of these are still shown on the front end (such as error messages).
* The django application does localization according to the `django documentation <https://docs.djangoproject.com/en/3.1/topics/i18n/translation/>`_.
* The source language of the project is "en_US".
* Localization files end up in the folder "src/locale/".
* In order to extract strings from the application, call ``python3 manage.py makemessages -l en_US``. This is important after making changes to translatable strings.
* The message files need to be compiled for them to show up in the application. Call ``python3 manage.py compilemessages`` to do this. The generated files don't get
committed into git, since these are derived artifacts. The build pipeline takes care of executing this command.
Adding new languages requires adding the translated files in the "src/locale/" folder and adjusting the file "src/paperless/settings.py" to include the new language:
.. code:: python
LANGUAGES = [
("en-us", _("English (US)")),
("en-gb", _("English (GB)")),
("de", _("German")),
("nl-nl", _("Dutch")),
("fr", _("French")),
("pt-br", _("Portuguese (Brazil)")),
# Add language here.
]
Building the documentation
==========================
The documentation is built using sphinx. I've configured ReadTheDocs to automatically build
the documentation when changes are pushed. If you want to build the documentation locally,
this is how you do it:
1. Install python dependencies.
.. code:: shell-session
$ cd /path/to/paperless
$ pipenv install --dev
2. Build the documentation
.. code:: shell-session
$ cd /path/to/paperless/docs
$ pipenv run make clean html
This will build the HTML documentation, and put the resulting files in the ``_build/html``
directory.
Building the Docker image
=========================
Building the docker image from source:
.. code:: shell-session
docker build . -t <your-tag>
Extending Paperless
===================
@@ -149,7 +374,7 @@ methods ``parse`` and ``get_thumbnail``. You can provide your own implementation
# The content of the document.
self.text = "content"
# Optional: path to a PDF document that you created from the original.
self.archive_path = os.path.join(self.tempdir, "archived.pdf")
@@ -195,3 +420,6 @@ that returns information about your parser:
download. We could guess that from the file extensions, but some mime types have many extensions
associated with them and the python methods responsible for guessing the extension do not always
return the same value.
.. _code of conduct: https://github.com/paperless-ngx/paperless-ngx/blob/main/CODE_OF_CONDUCT.md
.. _contributing guidelines: https://github.com/paperless-ngx/paperless-ngx/blob/main/CONTRIBUTING.md
+46 -35
View File
@@ -3,17 +3,13 @@
Frequently asked questions
**************************
**Q:** *What's the general plan for Paperless-ng?*
**Q:** *What's the general plan for Paperless-ngx?*
**A:** Paperless-ng is already almost feature-complete. This project will remain
as simple as it is right now. It will see improvements to features that are already there.
If you need advanced features such as document versions,
workflows or multi-user with customizable access to individual files, this is
not the tool for you.
Features that *are* planned are some more quality of life extensions for the searching
(i.e., search for similar documents, group results by correspondents with "more from this"
links, etc), bulk editing and hierarchical tags.
**A:** While Paperless-ngx is already considered largely "feature-complete" it is a community-driven
project and development will be guided in this way. New features can be submitted via
GitHub discussions and "up-voted" by the community but this is not a garauntee the feature
will be implemented. This project will always be open to collaboration in the form of PRs,
ideas etc.
**Q:** *I'm using docker. Where are my documents?*
@@ -33,56 +29,62 @@ is
files around manually. This folder is meant to be entirely managed by docker
and paperless.
**Q:** *Let's say you don't support this project anymore in a year. Can I easily move to other systems?*
**Q:** *Let's say I want to switch tools in a year. Can I easily move to other systems?*
**A:** Your documents are stored as plain files inside the media folder. You can always drag those files
out of that folder to use them elsewhere. Here are a couple notes about that.
* Paperless never modifies your original documents. It keeps checksums of all documents and uses a
* Paperless-ngx never modifies your original documents. It keeps checksums of all documents and uses a
scheduled sanity checker to check that they remain the same.
* By default, paperless uses the internal ID of each document as its filename. This might not be very
convenient for export. However, you can adjust the way files are stored in paperless by
:ref:`configuring the filename format <advanced-file_name_handling>`.
* :ref:`The exporter <utilities-exporter>` is another easy way to get your files out of paperless with reasonable file names.
**Q:** *What file types does paperless-ng support?*
**Q:** *What file types does paperless-ngx support?*
**A:** Currently, the following files are supported:
* PDF documents, PNG images, JPEG images, TIFF images and GIF images are processed with OCR and converted into PDF documents.
* Plain text documents are supported as well and are added verbatim
to paperless.
* With the optional Tika integration enabled (see :ref:`Configuration <configuration-tika>`), Paperless also supports various
Office documents (.docx, .doc, odt, .ppt, .pptx, .odp, .xls, .xlsx, .ods).
Paperless determines the type of a file by inspecting its content. The
Paperless-ngx determines the type of a file by inspecting its content. The
file extensions do not matter.
**Q:** *Will paperless-ng run on Raspberry Pi?*
**Q:** *Will paperless-ngx run on Raspberry Pi?*
**A:** The short answer is yes. I've tested it on a Raspberry Pi 3 B.
The long answer is that certain parts of
Paperless will run very slow, such as the tesseract OCR. On Raspberry Pi,
Paperless will run very slow, such as the OCR. On Raspberry Pi,
try to OCR documents before feeding them into paperless so that paperless can
reuse the text. The web interface should be a lot snappier, since it runs
reuse the text. The web interface is a lot snappier, since it runs
in your browser and paperless has to do much less work to serve the data.
.. note::
You can adjust some of the settings so that paperless uses less processing
power. See :ref:`setup-less_powerful_devices` for details.
**Q:** *How do I install paperless-ng on Raspberry Pi?*
**A:** There is no docker image for ARM available. If you know how to build
that automatically, I'm all ears. For now, you have to grab the latest release
archive from the project page and build the image yourself. The release comes
with the front end already compiled, so you don't have to do this on the Pi.
**Q:** *How do I install paperless-ngx on Raspberry Pi?*
**Q:** *How do I run this on unRaid?*
**A:** Docker images are available for arm and arm64 hardware, so just follow
the docker-compose instructions. Apart from more required disk space compared to
a bare metal installation, docker comes with close to zero overhead, even on
Raspberry Pi.
**A:** Head over to `<https://github.com/selfhosters/unRAID-CA-templates>`_,
`Uli Fahrer <https://github.com/Tooa>`_ created a container template for that.
I don't exactly know how to use that though, since I don't use unRaid.
If you decide to got with the bare metal route, be aware that some of the
python requirements do not have precompiled packages for ARM / ARM64. Installation
of these will require additional development libraries and compilation will take
a long time.
**Q:** *How do I run this on Unraid?*
**A:** Paperless-ngx is available as `community app <https://unraid.net/community/apps?q=paperless-ngx>`_
in Unraid. `Uli Fahrer <https://github.com/Tooa>`_ created a container template for that.
**Q:** *How do I run this on my toaster?*
@@ -95,12 +97,21 @@ occasionally build the image on and see if it works.
**Q:** *How do I proxy this with NGINX?*
.. code::
**A:** See :ref:`here <setup-nginx>`.
location / {
proxy_pass http://localhost:8000/
}
.. _faq-mod_wsgi:
And that's about it. Paperless serves everything, including static files by itself
when running the docker image. If you want to do anything fancy, you have to
install paperless bare metal.
**Q:** *How do I get WebSocket support with Apache mod_wsgi*?
**A:** ``mod_wsgi`` by itself does not support ASGI. Paperless will continue
to work with WSGI, but certain features such as status notifications about
document consumption won't be available.
If you want to continue using ``mod_wsgi``, you will have to run an ASGI-enabled
web server as well that processes WebSocket connections, and configure Apache to
redirect WebSocket connections to this server. Multiple options for ASGI servers
exist:
* ``gunicorn`` with ``uvicorn`` as the worker implementation (the default of paperless)
* ``daphne`` as a standalone server, which is the reference implementation for ASGI.
* ``uvicorn`` as a standalone server
+14 -17
View File
@@ -22,19 +22,21 @@ finding stuff again. I feed documents right from the post box into the scanner
and then shred them. Perhaps you might find it useful too.
Paperless-ng
============
Paperless-ngx
=============
Paperless-ng is a fork of the original paperless project. It changes many
things both on the surface and under the hood. Paperless-ng was created
because I feel that these changes are too big to be pushed into the main
repository right away.
Paperless-ngx is a document management system that transforms your physical
documents into a searchable online archive so you can keep, well, *less paper*.
Paperless-ngx forked from paperless-ng to continue the great work and
distribute responsibility of supporting and advancing the project among a team
of people.
NG stands for both Angular (the framework used for the
Frontend) and next-gen. Publishing this project under a different name also
avoids confusion between paperless and paperless-ng.
avoids confusion between paperless and paperless-ngx.
If you want to learn about what's different in paperless-ng, check out these
If you want to learn about what's different in paperless-ngx from Paperless, check out these
resources in the documentation:
* :ref:`Some screenshots <screenshots>` of the new UI are available.
@@ -46,16 +48,12 @@ resources in the documentation:
the consumption directory. This means that you can select text in
image-only documents coming from your scanner.
* See :ref:`this note <utilities-encyption>` about GnuPG encryption in
paperless-ng.
paperless-ngx.
* Paperless is now integrated with a
:ref:`task processing queue <setup-task_processor>` that tells you
at a glance when and why something is not working.
at a glance when and why something is not working.
* The :ref:`changelog <paperless_changelog>` contains a detailed list of all changes
in paperless-ng.
It would be great if this project could eventually merge back into the main
repository, but it needs a lot more work before that can happen.
in paperless-ngx.
Contents
========
@@ -70,9 +68,8 @@ Contents
configuration
api
faq
extending
troubleshooting
contributing
extending
scanners
screenshots
changelog
+111 -20
View File
@@ -10,34 +10,125 @@ scanner you use, but sometimes finding a scanner that will write to an FTP,
NFS, or SMB server can be difficult. This page is here to help you find one
that works right for you based on recommendations from other Paperless users.
+---------+----------------+-----+-----+-----+----------------+
| Brand | Model | Supports | Recommended By |
+---------+----------------+-----+-----+-----+----------------+
| | | FTP | NFS | SMB | |
+=========+================+=====+=====+=====+================+
| Brother | `ADS-1500W`_ | yes | no | yes | `danielquinn`_ |
+---------+----------------+-----+-----+-----+----------------+
| Brother | `MFC-J6930DW`_ | yes | | | `ayounggun`_ |
+---------+----------------+-----+-----+-----+----------------+
| Brother | `MFC-J5910DW`_ | yes | | | `bmsleight`_ |
+---------+----------------+-----+-----+-----+----------------+
| Brother | `MFC-9142CDN`_ | yes | | yes | `REOLDEV`_ |
+---------+----------------+-----+-----+-----+----------------+
| Fujitsu | `ix500`_ | yes | | yes | `eonist`_ |
+---------+----------------+-----+-----+-----+----------------+
| Fujitsu | `S1300i`_ | yes | | yes | `jonaswinkler`_|
+---------+----------------+-----+-----+-----+----------------+
Physical scanners
=================
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brand | Model | Supports | Recommended By |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| | | FTP | NFS | SMB | SMTP | API [1]_ | |
+=========+================+=====+=====+=====+======+==========+================+
| Brother | `ADS-1700W`_ | yes | | yes | yes | |`holzhannes`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `ADS-1600W`_ | yes | | yes | yes | |`holzhannes`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `ADS-1500W`_ | yes | | yes | yes | |`danielquinn`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `ADS-1100W`_ | yes | | | | |`ytzelf`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `ADS-2800W`_ | yes | yes | | yes | yes |`philpagel`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-J6930DW`_ | yes | | | | |`ayounggun`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-L5850DW`_ | yes | | | yes | |`holzhannes`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-L2750DW`_ | yes | | yes | yes | |`muued`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-J5910DW`_ | yes | | | | |`bmsleight`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-8950DW`_ | yes | | | yes | yes |`philpagel`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Brother | `MFC-9142CDN`_ | yes | | yes | | |`REOLDEV`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Fujitsu | `ix500`_ | yes | | yes | | |`eonist`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Epson | `ES-580W`_ | yes | | yes | yes | |`fignew`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Epson | `WF-7710DWF`_ | yes | | yes | | |`Skylinar`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Fujitsu | `S1300i`_ | yes | | yes | | |`jonaswinkler`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
| Doxie | `Q2`_ | | | | | yes |`Unkn0wnCat`_ |
+---------+----------------+-----+-----+-----+------+----------+----------------+
.. _MFC-L5850DW: https://www.brother-usa.com/products/mfcl5850dw
.. _MFC-L2750DW: https://www.brother.de/drucker/laserdrucker/mfc-l2750dw
.. _ADS-1700W: https://www.brother-usa.com/products/ads1700w
.. _ADS-1600W: https://www.brother-usa.com/products/ads1600w
.. _ADS-1500W: https://www.brother.ca/en/p/ads1500w
.. _ADS-1100W: https://support.brother.com/g/b/downloadtop.aspx?c=fr&lang=fr&prod=ads1100w_eu_as_cn
.. _ADS-2800W: https://www.brother-usa.com/products/ads2800w
.. _MFC-J6930DW: https://www.brother.ca/en/p/MFCJ6930DW
.. _MFC-J5910DW: https://www.brother.co.uk/printers/inkjet-printers/mfcj5910dw
.. _MFC-8950DW: https://www.brother-usa.com/products/mfc8950dw
.. _MFC-9142CDN: https://www.brother.co.uk/printers/laser-printers/mfc9140cdn
.. _ix500: https://www.fujitsu.com/global/products/computing/peripheral/scanners/scansnap/ix500/
.. _ES-580W: https://epson.com/Support/Scanners/ES-Series/Epson-WorkForce-ES-580W/s/SPT_B11B258201
.. _WF-7710DWF: https://www.epson.de/en/products/printers/inkjet-printers/for-home/workforce-wf-7710dwf
.. _ix500: http://www.fujitsu.com/us/products/computing/peripheral/scanners/scansnap/ix500/
.. _S1300i: https://www.fujitsu.com/global/products/computing/peripheral/scanners/soho/s1300i/
.. _Q2: https://www.getdoxie.com/product/doxie-q/
.. _danielquinn: https://github.com/danielquinn
.. _ayounggun: https://github.com/ayounggun
.. _bmsleight: https://github.com/bmsleight
.. _danielquinn: https://github.com/danielquinn
.. _eonist: https://github.com/eonist
.. _REOLDEV: https://github.com/REOLDEV
.. _fignew: https://github.com/fignew
.. _holzhannes: https://github.com/holzhannes
.. _jonaswinkler: https://github.com/jonaswinkler
.. _REOLDEV: https://github.com/REOLDEV
.. _Skylinar: https://github.com/Skylinar
.. _ytzelf: https://github.com/ytzelf
.. _Unkn0wnCat: https://github.com/Unkn0wnCat
.. _muued: https://github.com/muued
.. _philpagel: https://github.com/philpagel
.. [1] Scanners with API Integration allow to push scanned documents directly to :ref:`Paperless API <api-file_uploads>`, sometimes referred to as Webhook or Document POST.
Mobile phone software
=====================
You can use your phone to "scan" documents. The regular camera app will work, but may have too low contrast for OCR to work well. Apps specifically for scanning are recommended.
+-----------------------------+----------------+-----+-----+-----+-------+--------+------------------+
| Name | OS | Supports | Recommended By |
+-----------------------------+----------------+-----+-----+-----+-------+--------+------------------+
| | | FTP | NFS | SMB | Email | WebDAV | |
+=============================+================+=====+=====+=====+=======+========+==================+
| `Office Lens`_ | Android | ? | ? | ? | ? | ? | `jonaswinkler`_ |
+-----------------------------+----------------+-----+-----+-----+-------+--------+------------------+
| `Genius Scan`_ | Android | yes | no | yes | yes | yes | `hannahswain`_ |
+-----------------------------+----------------+-----+-----+-----+-------+--------+------------------+
| `OpenScan`_ | Android | no | no | no | no | no | `benjaminfrank`_ |
+-----------------------------+----------------+-----+-----+-----+-------+--------+------------------+
| `OCR Scanner - QuickScan`_ | iOS | no | no | no | no | yes | `holzhannes`_ |
+-----------------------------+----------------+-----+-----+-----+-------+--------+------------------+
On Android, you can use these applications in combination with one of the :ref:`Paperless-ngx compatible apps <usage-mobile_upload>` to "Share" the documents produced by these scanner apps with paperless. On iOS, you can share the scanned documents via iOS-Sharing to other mail, WebDav or FTP apps.
.. _Office Lens: https://play.google.com/store/apps/details?id=com.microsoft.office.officelens
.. _Genius Scan: https://play.google.com/store/apps/details?id=com.thegrizzlylabs.geniusscan.free
.. _OCR Scanner - QuickScan: https://apps.apple.com/us/app/quickscan-scanner-text-ocr/id1513790291
.. _OpenScan: https://github.com/Ethereal-Developers-Inc/OpenScan
.. _hannahswain: https://github.com/hannahswain
.. _benjaminfrank: https://github.com/benjaminfrank
API Scanning Setup
==================
This sections contains information on how to set up scanners to post directly to :ref:`Paperless API <api-file_uploads>`.
Doxie Q2
--------
This part assumes your Doxie is connected to WiFi and you know its IP.
1. Open your Doxie web UI by navigating to its IP address
2. Navigate to Options -> Webhook
3. Set the *URL* to ``https://[your-paperless-ngx-instance]/api/documents/post_document/``
4. Set the *File Parameter Name* to ``document``
5. Add the username and password to the respective fields (Consider creating a user just for your Doxie)
6. Click *Submit* at the bottom of the page
Congrats, you can now scan directly from your Doxie to your Paperless-ngx instance!
+1 -2
View File
@@ -4,7 +4,7 @@
Screenshots
***********
This is what paperless-ng looks like. You shouldn't use paperless to index
This is what paperless-ngx looks like. You shouldn't use paperless to index
research papers though, its a horrible tool for that job.
The dashboard shows customizable views on your document and allows document uploads:
@@ -42,4 +42,3 @@ Mobile support in the future? This kinda works, however some layouts are still
too wide.
.. image:: _static/screenshots/mobile.png
+375 -175
View File
@@ -3,39 +3,10 @@
Setup
*****
Download
########
Overview of Paperless-ngx
#########################
Go to the project page on GitHub and download the
`latest release <https://github.com/jonaswinkler/paperless-ng/releases>`_.
There are multiple options available.
* Download the dockerfiles archive if you want to pull paperless from
Docker Hub.
* Download the dist archive and extract it if you want to build the docker image
yourself or want to install paperless without docker.
.. hint::
In contrast to paperless, the recommended way to get and update paperless-ng
is not to pull the entire git repository. Paperless-ng includes artifacts
that need to be compiled, and that's already done for you in the release.
.. admonition:: Want to try out paperless-ng before migrating?
The release contains a file ``.env`` which sets the docker-compose project
name to "paperless", which is the same as before and instructs docker-compose
to reuse and upgrade your paperless volumes.
Just rename the project name in that file to anything else and docker-compose
will create fresh volumes for you!
Overview of Paperless-ng
########################
Compared to paperless, paperless-ng works a little different under the hood and has
Compared to paperless, paperless-ngx works a little different under the hood and has
more moving parts that work together. While this increases the complexity of
the system, it also brings many benefits.
@@ -49,45 +20,45 @@ Paperless consists of the following components:
.. code:: shell-session
$ cd /path/to/paperless/src/
$ pipenv run gunicorn -c /usr/src/paperless/gunicorn.conf.py -b 0.0.0.0:8000 paperless.wsgi
$ gunicorn -c ../gunicorn.conf.py paperless.wsgi
or by any other means such as Apache ``mod_wsgi``.
* **The consumer:** This is what watches your consumption folder for documents.
However, the consumer itself does not consume really consume your documents anymore.
It rather notifies a task processor that a new file is ready for consumption.
However, the consumer itself does not really consume your documents.
Now it notifies a task processor that a new file is ready for consumption.
I suppose it should be named differently.
This also used to check your emails, but that's now gone elsewhere as well.
This was also used to check your emails, but that's now done elsewhere as well.
Start the consumer with the management command ``document_consumer``:
.. code:: shell-session
$ cd /path/to/paperless/src/
$ pipenv run python3 manage.py document_consumer
$ python3 manage.py document_consumer
.. _setup-task_processor:
* **The task processor:** Paperless relies on `Django Q <https://django-q.readthedocs.io/en/latest/>`_
for doing much of the heavy lifting. This is a task queue that accepts tasks from
multiple sources and processes tasks in parallel. It also comes with a scheduler that executes
for doing most of the heavy lifting. This is a task queue that accepts tasks from
multiple sources and processes these in parallel. It also comes with a scheduler that executes
certain commands periodically.
This task processor is responsible for:
* Consuming documents. When the consumer finds new documents, it notifies the task processor to
start a consumption task.
* Consuming emails. It periodically checks your configured accounts for new mails and
produces consumption tasks for any documents it finds.
* The task processor also performs the consumption of any documents you upload through
the web interface.
* Maintain the search index and the automatic matching algorithm. These are things that paperless
* Consuming emails. It periodically checks your configured accounts for new emails and
notifies the task processor to consume the attachment of an email.
* Maintaining the search index and the automatic matching algorithm. These are things that paperless
needs to do from time to time in order to operate properly.
This allows paperless to process multiple documents from your consumption folder in parallel! On
a modern multi core system, consumption with full ocr is blazing fast.
a modern multi core system, this makes the consumption process with full OCR blazingly fast.
The task processor comes with a built-in admin interface that you can use to see whenever any of the
The task processor comes with a built-in admin interface that you can use to check whenever any of the
tasks fail and inspect the errors (i.e., wrong email credentials, errors during consuming a specific
file, etc).
@@ -96,11 +67,11 @@ Paperless consists of the following components:
.. code:: shell-session
$ cd /path/to/paperless/src/
$ pipenv run python3 manage.py qcluster
$ python3 manage.py qcluster
* A `redis <https://redis.io/>`_ message broker: This is a really lightweight service that is responsible
for getting the tasks from the webserver and consumer to the task scheduler. These run in different
processes (maybe even on different machines!), and therefore, this is necessary.
for getting the tasks from the webserver and the consumer to the task scheduler. These run in a different
process (maybe even on different machines!), and therefore, this is necessary.
* Optional: A database server. Paperless supports both PostgreSQL and SQLite for storing its data.
@@ -108,48 +79,78 @@ Paperless consists of the following components:
Installation
############
You can go multiple routes with setting up and running Paperless:
You can go multiple routes to setup and run Paperless:
* The `docker route`_
* The `bare metal route`_
* :ref:`Use the easy install docker script <setup-docker_script>`
* :ref:`Pull the image from Docker Hub <setup-docker_hub>`
* :ref:`Build the Docker image yourself <setup-docker_build>`
* :ref:`Install Paperless directly on your system manually (bare metal) <setup-bare_metal>`
The `docker route`_ is quick & easy. This is the recommended route. This configures all the stuff
from above automatically so that it just works and uses sensible defaults for all configuration options.
The Docker routes are quick & easy. These are the recommended routes. This configures all the stuff
from the above automatically so that it just works and uses sensible defaults for all configuration options.
Here you find a cheat-sheet for docker beginners: `CLI Basics <https://www.sehn.tech/refs/devops-with-docker/>`_
The `bare metal route`_ is more complicated to setup but makes it easier
The bare metal route is complicated to setup but makes it easier
should you want to contribute some code back. You need to configure and
run the above mentioned components yourself.
Docker Route
============
.. _CLI Basics: https://www.sehn.tech/refs/devops-with-docker/
1. Install `Docker`_ and `docker-compose`_. [#compose]_
.. _setup-docker_script:
.. caution::
Install Paperless from Docker Hub using the installation script
===============================================================
If you want to use the included ``docker-compose.*.yml`` file, you
need to have at least Docker version **17.09.0** and docker-compose
version **1.17.0**.
Paperless provides an interactive installation script. This script will ask you
for a couple configuration options, download and create the necessary configuration files, pull the docker image, start paperless and create your user account. This script essentially
performs all the steps described in :ref:`setup-docker_hub` automatically.
See the `Docker installation guide`_ on how to install the current
version of Docker for your operating system or Linux distribution of
choice. To get an up-to-date version of docker-compose, follow the
`docker-compose installation guide`_ if your package repository doesn't
include it.
1. Make sure that docker and docker-compose are installed.
2. Download and run the installation script:
.. _Docker installation guide: https://docs.docker.com/engine/installation/
.. _docker-compose installation guide: https://docs.docker.com/compose/install/
.. code:: shell-session
2. Copy either ``docker-compose.sqlite.yml`` or ``docker-compose.postgres.yml`` to
``docker-compose.yml``, depending on which database backend you want to use.
$ bash -c "$(curl -L https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/install-paperless-ngx.sh)"
.. _setup-docker_hub:
Install Paperless from Docker Hub
=================================
1. Login with your user and create a folder in your home-directory `mkdir -v ~/paperless-ngx` to have a place for your configuration files and consumption directory.
2. Go to the `/docker/compose directory on the project page <https://github.com/paperless-ngx/paperless-ngx/tree/master/docker/compose>`_
and download one of the `docker-compose.*.yml` files, depending on which database backend you
want to use. Rename this file to `docker-compose.yml`.
If you want to enable optional support for Office documents, download a file with `-tika` in the file name.
Download the ``docker-compose.env`` file and the ``.env`` file as well and store them
in the same directory.
.. hint::
For new installations, it is recommended to use PostgreSQL as the database
backend.
2. Modify ``docker-compose.yml`` to your preferences. You may want to change the path
to the consumption directory in this file. Find the line that specifies where
3. Install `Docker`_ and `docker-compose`_.
.. caution::
If you want to use the included ``docker-compose.*.yml`` file, you
need to have at least Docker version **17.09.0** and docker-compose
version **1.17.0**.
To check do: `docker-compose -v` or `docker -v`
See the `Docker installation guide`_ on how to install the current
version of Docker for your operating system or Linux distribution of
choice. To get the latest version of docker-compose, follow the
`docker-compose installation guide`_ if your package repository doesn't
include it.
.. _Docker installation guide: https://docs.docker.com/engine/installation/
.. _docker-compose installation guide: https://docs.docker.com/compose/install/
4. Modify ``docker-compose.yml`` to your preferences. You may want to change the path
to the consumption directory. Find the line that specifies where
to mount the consumption directory:
.. code::
@@ -164,25 +165,53 @@ Docker Route
Don't change the part after the colon or paperless wont find your documents.
You may also need to change the default port that the webserver will use
from the default (8000):
3. Modify ``docker-compose.env``, following the comments in the file. The
.. code::
ports:
- 8000:8000
Replace the part BEFORE the colon with a port of your choice:
.. code::
ports:
- 8010:8000
Don't change the part after the colon or edit other lines that refer to
port 8000. Modifying the part before the colon will map requests on another
port to the webserver running on the default port.
5. Modify ``docker-compose.env``, following the comments in the file. The
most important change is to set ``USERMAP_UID`` and ``USERMAP_GID``
to the uid and gid of your user on the host system. This ensures that
to the uid and gid of your user on the host system. Use ``id -u`` and
``id -g`` to get these.
This ensures that
both the docker container and you on the host machine have write access
to the consumption directory. If your UID and GID on the host system is
1000 (the default for the first normal user on most systems), it will
work out of the box without any modifications.
work out of the box without any modifications. `id "username"` to check.
.. note::
You can use any settings from the file ``paperless.conf`` in this file.
Have a look at :ref:`configuration` to see whats available.
You can copy any setting from the file ``paperless.conf.example`` and paste it here.
Have a look at :ref:`configuration` to see what's available.
4. Run ``docker-compose up -d``. This will create and start the necessary
containers. This will also build the image of paperless if you grabbed the
source archive.
.. caution::
5. To be able to login, you will need a super user. To create it, execute the
Some file systems such as NFS network shares don't support file system
notifications with ``inotify``. When storing the consumption directory
on such a file system, paperless will not pick up new files
with the default configuration. You will need to use ``PAPERLESS_CONSUMER_POLLING``,
which will disable inotify. See :ref:`here <configuration-polling>`.
6. Run ``docker-compose pull``, followed by ``docker-compose up -d``.
This will pull the image, create and start the necessary containers.
7. To be able to login, you will need a super user. To create it, execute the
following command:
.. code-block:: shell-session
@@ -190,21 +219,57 @@ Docker Route
$ docker-compose run --rm webserver createsuperuser
This will prompt you to set a username, an optional e-mail address and
finally a password.
finally a password (at least 8 characters).
6. The default ``docker-compose.yml`` exports the webserver on your local port
8000. If you haven't adapted this, you should now be able to visit your
Paperless instance at ``http://127.0.0.1:8000``. You can login with the
user and password you just created.
8. The default ``docker-compose.yml`` exports the webserver on your local port
8000. If you did not change this, you should now be able to visit your
Paperless instance at ``http://127.0.0.1:8000`` or your servers IP-Address:8000.
Use the login credentials you have created with the previous step.
.. _Docker: https://www.docker.com/
.. _docker-compose: https://docs.docker.com/compose/install/
.. [#compose] You of course don't have to use docker-compose, but it
simplifies deployment immensely. If you know your way around Docker, feel
free to tinker around without using compose!
.. _setup-docker_build:
.. _`setup-bare_metal`:
Build the Docker image yourself
===============================
1. Clone the entire repository of paperless:
.. code:: shell-session
git clone https://github.com/paperless-ngx/paperless-ngx
The master branch always reflects the latest stable version.
2. Copy one of the ``docker/compose/docker-compose.*.yml`` to ``docker-compose.yml`` in the root folder,
depending on which database backend you want to use. Copy
``docker-compose.env`` into the project root as well.
3. In the ``docker-compose.yml`` file, find the line that instructs docker-compose to pull the paperless image from Docker Hub:
.. code:: yaml
webserver:
image: ghcr.io/paperless-ngx/paperless-ngx:latest
and replace it with a line that instructs docker-compose to build the image from the current working directory instead:
.. code:: yaml
webserver:
build: .
4. Follow steps 3 to 8 of :ref:`setup-docker_hub`. When asked to run
``docker-compose pull`` to pull the image, do
.. code:: shell-session
$ docker-compose build
instead to build the image.
.. _setup-bare_metal:
Bare Metal Route
================
@@ -215,16 +280,23 @@ writing. Windows is not and will never be supported.
1. Install dependencies. Paperless requires the following packages.
* ``python3`` 3.6, 3.7, 3.8 (3.9 is untested).
* ``python3-pip``, optionally ``pipenv`` for package installation
* ``python3`` 3.8, 3.9
* ``python3-pip``
* ``python3-dev``
* ``fonts-liberation`` for generating thumbnails for plain text files
* ``imagemagick`` >= 6 for PDF conversion
* ``optipng`` for optimising thumbnails
* ``optipng`` for optimizing thumbnails
* ``gnupg`` for handling encrypted documents
* ``libpoppler-cpp-dev`` for PDF to text conversion
* ``libmagic-dev`` for mime type detection
* ``libpq-dev`` for PostgreSQL
* ``libmagic-dev`` for mime type detection
* ``mime-support`` for mime type detection
Use this list for your preferred package management:
.. code::
python3 python3-pip python3-dev imagemagick fonts-liberation optipng gnupg libpq-dev libmagic-dev mime-support
These dependencies are required for OCRmyPDF, which is used for text recognition.
@@ -239,17 +311,28 @@ writing. Windows is not and will never be supported.
* ``tesseract-ocr`` >= 4.0.0 for OCR
* ``tesseract-ocr`` language packs (``tesseract-ocr-eng``, ``tesseract-ocr-deu``, etc)
Use this list for your preferred package management:
.. code::
unpaper ghostscript icc-profiles-free qpdf liblept5 libxml2 pngquant zlib1g tesseract-ocr
On Raspberry Pi, these libraries are required as well:
* ``libatlas-base-dev``
* ``libxslt1-dev``
You will also need ``build-essential``, ``python3-setuptools`` and ``python3-wheel``
for installing some of the python dependencies. You can remove that
again after installation.
for installing some of the python dependencies.
2. Install ``redis`` >= 5.0 and configure it to start automatically.
3. Optional. Install ``postgresql`` and configure a database, user and password for paperless. If you do not wish
to use PostgreSQL, SQLite is avialable as well.
to use PostgreSQL, SQLite is available as well.
4. Get the release archive. If you pull the git repo as it is, you also have to compile the front end by yourself.
Extract the frontend to a place from where you wish to execute it, such as ``/opt/paperless``.
4. Get the release archive from `<https://github.com/paperless-ngx/paperless-ngx/releases>`_.
If you clone the git repo as it is, you also have to compile the front end by yourself.
Extract the archive to a place from where you wish to execute it, such as ``/opt/paperless``.
5. Configure paperless. See :ref:`configuration` for details. Edit the included ``paperless.conf`` and adjust the
settings to your needs. Required settings for getting paperless running are:
@@ -262,58 +345,73 @@ writing. Windows is not and will never be supported.
paperless stores its data. If you like, you can point both to the same directory.
* ``PAPERLESS_SECRET_KEY`` should be a random sequence of characters. It's used for authentication. Failure
to do so allows third parties to forge authentication credentials.
Many more adjustments can be made to paperless, especially the OCR part. The following options are recommended
for everyone:
* Set ``PAPERLESS_OCR_LANGUAGE`` to the language most of your documents are written in.
* Set ``PAPERLESS_TIME_ZONE`` to your local time zone.
6. Setup permissions. Create a system users under which you wish to run paperless. Ensure that these directories exist
and that the user has write permissions to the following directories
6. Create a system user under which you wish to run paperless.
.. code:: shell-session
adduser paperless --system --home /opt/paperless --group
7. Ensure that these directories exist
and that the paperless user has write permissions to the following directories:
* ``/opt/paperless/media``
* ``/opt/paperless/data``
* ``/opt/paperless/consume``
Adjust as necessary if you configured different folders.
7. Install python requirements. Paperless comes with both Pipfiles for ``pipenv`` as well as with a ``requirements.txt``.
Both will install exactly the same requirements. It is up to you if you wish to use a virtual environment or not.
8. Install python requirements from the ``requirements.txt`` file.
It is up to you if you wish to use a virtual environment or not. First you should update your pip, so it gets the actual packages.
8. Go to ``/opt/paperless/src``, and execute the following commands:
.. code:: shell-session
sudo -Hu paperless pip3 install --upgrade pip
.. code:: shell-session
sudo -Hu paperless pip3 install -r requirements.txt
This will install all python dependencies in the home directory of
the new paperless user.
9. Go to ``/opt/paperless/src``, and execute the following commands:
.. code:: bash
# This collects static files from paperless and django.
python3 manage.py collectstatic --clear --no-input
# This creates the database schema.
python3 manage.py migrate
sudo -Hu paperless python3 manage.py migrate
# This creates your first paperless user
python3 manage.py createsuperuser
sudo -Hu paperless python3 manage.py createsuperuser
9. Optional: Test that paperless is working by executing
10. Optional: Test that paperless is working by executing
.. code:: bash
# This collects static files from paperless and django.
python3 manage.py runserver
sudo -Hu paperless python3 manage.py runserver
and pointing your browser to http://localhost:8000/.
.. warning::
This is a development server which should not be used in
production.
production. It is not audited for security and performance
is inferior to production ready web servers.
.. hint::
This will not start the consumer. Paperless does this in a
separate process.
10. Setup systemd services to run paperless automatically. You may
11. Setup systemd services to run paperless automatically. You may
use the service definition files included in the ``scripts`` folder
as a starting point.
@@ -321,17 +419,19 @@ writing. Windows is not and will never be supported.
``consumer`` script to watch the input folder, and the ``scheduler``
script to run tasks such as email checking and document consumption.
The ``socket`` script enables ``gunicorn`` to run on port 80 without
root privileges. For this you need to uncomment the ``Require=paperless-webserver.socket``
in the ``webserver`` script and configure ``gunicorn`` to listen on port 80 (see ``paperless/gunicorn.conf.py``).
You may need to adjust the path to the ``gunicorn`` executable. This
will be installed as part of the python dependencies, and is either located
in the ``bin`` folder of your virtual environment, or in ``~/.local/bin/`` if
no virtual environment is used.
These services rely on redis and optionally the database server, but
don't need to be started in any particular order. The example files
depend on redis being started. If you use a database server, you should
add additinal dependencies.
.. hint::
You may optionally set up your preferred web server to serve
paperless as a wsgi application directly instead of running the
``webserver`` service. The module containing the wsgi application
is named ``paperless.wsgi``.
add additional dependencies.
.. caution::
@@ -340,10 +440,13 @@ writing. Windows is not and will never be supported.
however, the documentation of GUnicorn states that you should
use a proxy server in front of gunicorn instead.
11. Optional: Install a samba server and make the consumption folder
For instructions on how to use nginx for that,
:ref:`see the instructions below <setup-nginx>`.
12. Optional: Install a samba server and make the consumption folder
available as a network share.
12. Configure ImageMagick to allow processing of PDF documents. Most distributions have
13. Configure ImageMagick to allow processing of PDF documents. Most distributions have
this disabled by default, since PDF documents can contain malware. If
you don't do this, paperless will fall back to ghostscript for certain steps
such as thumbnail generation.
@@ -353,19 +456,58 @@ writing. Windows is not and will never be supported.
.. code::
<policy domain="coder" rights="none" pattern="PDF" />
to
.. code::
<policy domain="coder" rights="read|write" pattern="PDF" />
Migration to paperless-ng
#########################
14. Optional: Install the `jbig2enc <https://ocrmypdf.readthedocs.io/en/latest/jbig2.html>`_
encoder. This will reduce the size of generated PDF documents. You'll most likely need
to compile this by yourself, because this software has been patented until around 2017 and
binary packages are not available for most distributions.
At its core, paperless-ng is still paperless and fully compatible. However, some
Migrating to Paperless-ngx
##########################
Migration is possible both from Paperless-ng or directly from the 'original' Paperless.
Migrating from Paperless-ng
===========================
Paperless-ngx is meant to be a drop-in replacement for Paperless-ng and thus upgrading should be
trivial for most users, especially when using docker. However, as with any major change, it is
recommended to take a full backup first. Once you are ready, simply change the docker image to
point to the new source. E.g. if using Docker Compose, edit ``docker-compose.yml`` and change:
.. code::
image: jonaswinkler/paperless-ng:latest
to
.. code::
image: ghcr.io/paperless-ngx/paperless-ngx:latest
and then run ``docker-compose up -d`` which will pull the new image recreate the container.
That's it!
Users who installed with the bare-metal route should also update their Git clone to point to
``https://github.com/paperless-ngx/paperless-ngx``, e.g. using the command
``git remote set-url origin https://github.com/paperless-ngx/paperless-ngx`` and then pull the
lastest version.
Migrating from Paperless
========================
At its core, paperless-ngx is still paperless and fully compatible. However, some
things have changed under the hood, so you need to adapt your setup depending on
how you installed paperless. The important things to keep in mind are as follows.
how you installed paperless.
This setup describes how to update an existing paperless Docker installation.
The important things to keep in mind are as follows:
* Read the :ref:`changelog <paperless_changelog>` and take note of breaking changes.
* You should decide if you want to stick with SQLite or want to migrate your database
@@ -376,10 +518,10 @@ how you installed paperless. The important things to keep in mind are as follows
such as email checking and maintenance, requires a `redis`_ message broker
instance. The docker-compose route takes care of that.
* The layout of the folder structure for your documents and data remains the
same, so you can just plug your old docker volumes into paperless-ng and
same, so you can just plug your old docker volumes into paperless-ngx and
expect it to find everything where it should be.
Migration to paperless-ng is then performed in a few simple steps:
Migration to paperless-ngx is then performed in a few simple steps:
1. Stop paperless.
@@ -389,36 +531,38 @@ Migration to paperless-ng is then performed in a few simple steps:
$ docker-compose down
2. Do a backup for two purposes: If something goes wrong, you still have your
data. Second, if you don't like paperless-ng, you can switch back to
data. Second, if you don't like paperless-ngx, you can switch back to
paperless.
3. Download the latest release of paperless-ng. You can either go with the
docker-compose files or use the archive to build the image yourself.
You can either replace your current paperless folder or put paperless-ng
3. Download the latest release of paperless-ngx. You can either go with the
docker-compose files from `here <https://github.com/paperless-ngx/paperless-ngx/tree/master/docker/compose>`__
or clone the repository to build the image yourself (see :ref:`above <setup-docker_build>`).
You can either replace your current paperless folder or put paperless-ngx
in a different location.
.. caution::
The release include a ``.env`` file. This will set the
project name for docker compose to ``paperless`` so that paperless-ng will
automatically reuse your existing paperless volumes. When you start it, it
will migrate your existing data. After that, your old paperless installation
will be incompatible with the migrated volumes.
Paperless-ngx includes a ``.env`` file. This will set the
project name for docker compose to ``paperless``, which will also define the name
of the volumes by paperless-ngx. However, if you experience that paperless-ngx
is not using your old paperless volumes, verify the names of your volumes with
4. Copy the ``docker-compose.sqlite.yml`` file to ``docker-compose.yml``.
.. code:: shell-session
$ docker volume ls | grep _data
and adjust the project name in the ``.env`` file so that it matches the name
of the volumes before the ``_data`` part.
4. Download the ``docker-compose.sqlite.yml`` file to ``docker-compose.yml``.
If you want to switch to PostgreSQL, do that after you migrated your existing
SQLite database.
5. Adjust ``docker-compose.yml`` and
``docker-compose.env`` to your needs.
See `docker route`_ for details on which edits are advised.
5. Adjust ``docker-compose.yml`` and ``docker-compose.env`` to your needs.
See :ref:`setup-docker_hub` for details on which edits are advised.
6. Since ``docker-compose`` would just use the the old paperless image, we need to
manually build a new image:
.. code:: shell-session
$ docker-compose build
6. :ref:`Update paperless. <administration-updating>`
7. In order to find your existing documents with the new search feature, you need
to invoke a one-time operation that will create the search index:
@@ -426,11 +570,11 @@ Migration to paperless-ng is then performed in a few simple steps:
.. code:: shell-session
$ docker-compose run --rm webserver document_index reindex
This will migrate your database and create the search index. After that,
paperless will take care of maintaining the index by itself.
8. Start paperless-ng.
8. Start paperless-ngx.
.. code:: bash
@@ -439,7 +583,7 @@ Migration to paperless-ng is then performed in a few simple steps:
This will run paperless in the background and automatically start it on system boot.
9. Paperless installed a permanent redirect to ``admin/`` in your browser. This
redirect is still in place and prevents access to the new UI. Clear
redirect is still in place and prevents access to the new UI. Clear your
browsing cache in order to fix this.
10. Optionally, follow the instructions below to migrate your existing data to PostgreSQL.
@@ -460,6 +604,15 @@ management commands as below.
load data from an old database schema in SQLite into a newer database
schema in PostgreSQL, you will run into trouble.
.. warning::
On some database fields, PostgreSQL enforces predefined limits on maximum
length, whereas SQLite does not. The fields in question are the title of documents
(128 characters), names of document types, tags and correspondents (128 characters),
and filenames (1024 characters). If you have data in these fields that surpasses these
limits, migration to PostgreSQL is not possible and will fail with an error.
1. Stop paperless, if it is running.
2. Tell paperless to use PostgreSQL:
@@ -478,19 +631,17 @@ management commands as below.
$ cd /path/to/paperless
$ docker-compose run --rm webserver /bin/bash
This will launch the container and initialize the PostgreSQL database.
b) Without docker, open a shell in your virtual environment, switch to
b) Without docker, remember to activate any virtual environment, switch to
the ``src`` directory and create the database schema:
.. code:: shell-session
$ cd /path/to/paperless
$ pipenv shell
$ cd src
$ cd /path/to/paperless/src
$ python3 manage.py migrate
This will not copy any data yet.
4. Dump your data from SQLite:
@@ -498,14 +649,14 @@ management commands as below.
.. code:: shell-session
$ python3 manage.py dumpdata --database=sqlite --exclude=contenttypes --exclude=auth.Permission > data.json
5. Load your data into PostgreSQL:
.. code:: shell-session
$ python3 manage.py loaddata data.json
6. Exit the shell.
6. If operating inside Docker, you may exit the shell now.
.. code:: shell-session
@@ -514,14 +665,14 @@ management commands as below.
7. Start paperless.
Moving back to paperless
Moving back to Paperless
========================
Lets say you migrated to Paperless-ng and used it for a while, but decided that
Lets say you migrated to Paperless-ngx and used it for a while, but decided that
you don't like it and want to move back (If you do, send me a mail about what
part you didn't like!), you can totally do that with a few simple steps.
Paperless-ng modified the database schema slightly, however, these changes can
Paperless-ngx modified the database schema slightly, however, these changes can
be reverted while keeping your current data, so that your current data will
be compatible with original Paperless.
@@ -539,7 +690,7 @@ Or without docker:
$ cd /path/to/paperless/src
$ python3 manage.py migrate documents 0023
After that, you need to clear your cookies (Paperless-ng comes with updated
After that, you need to clear your cookies (Paperless-ngx comes with updated
dependencies that do cookie-processing differently) and probably your cache
as well.
@@ -549,12 +700,13 @@ as well.
Considerations for less powerful devices
########################################
Paperless runs on Raspberry Pi. However, some things are rather slow on the Pi and
Paperless runs on Raspberry Pi. However, some things are rather slow on the Pi and
configuring some options in paperless can help improve performance immensely:
* Stick with SQLite to save some resources.
* Consider setting ``PAPERLESS_OCR_PAGES`` to 1, so that paperless will only OCR
the first page of your documents.
the first page of your documents. In most cases, this page contains enough
information to be able to find it.
* ``PAPERLESS_TASK_WORKERS`` and ``PAPERLESS_THREADS_PER_WORKER`` are configured
to use all cores. The Raspberry Pi models 3 and up have 4 cores, meaning that
paperless will use 2 workers and 2 threads per worker. This may result in
@@ -565,23 +717,71 @@ configuring some options in paperless can help improve performance immensely:
your documents before feeding them into paperless. Some scanners are able to
do this! You might want to even specify ``skip_noarchive`` to skip archive
file generation for already ocr'ed documents entirely.
* If you want to perform OCR on the device, consider using ``PAPERLESS_OCR_CLEAN=none``.
This will speed up OCR times and use less memory at the expense of slightly worse
OCR results.
* Set ``PAPERLESS_OPTIMIZE_THUMBNAILS`` to 'false' if you want faster consumption
times. Thumbnails will be about 20% larger.
* If using docker, consider setting ``PAPERLESS_WEBSERVER_WORKERS`` to
1. This will save some memory.
* Use the arm compatible docker-compose if you're wanting to use Tika on something like
a raspberry pi. The official apache/tika image does not support the arm architecture.
For details, refer to :ref:`configuration`.
.. note::
Updating the :ref:`automatic matching algorithm <advanced-automatic_matching>`
takes quite a bit of time. However, the update mechanism checks if your
data has changed before doing the heavy lifting. If you experience the
data has changed before doing the heavy lifting. If you experience the
algorithm taking too much cpu time, consider changing the schedule in the
admin interface to daily. You can also manually invoke the task
by changing the date and time of the next run to today/now.
The actual matching of the algorithm is fast and works on Raspberry Pi as
The actual matching of the algorithm is fast and works on Raspberry Pi as
well as on any other device.
.. _redis: https://redis.io/
.. _setup-nginx:
Using nginx as a reverse proxy
##############################
If you want to expose paperless to the internet, you should hide it behind a
reverse proxy with SSL enabled.
In addition to the usual configuration for SSL,
the following configuration is required for paperless to operate:
.. code:: nginx
http {
# Adjust as required. This is the maximum size for file uploads.
# The default value 1M might be a little too small.
client_max_body_size 10M;
server {
location / {
# Adjust host and port as required.
proxy_pass http://localhost:8000/;
# These configuration options are required for WebSockets to work.
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name;
}
}
}
Also read `this <https://channels.readthedocs.io/en/stable/deploying.html#nginx-supervisor-ubuntu>`__, towards the end of the section.
+191 -5
View File
@@ -25,21 +25,46 @@ Check for the following issues:
* Go to the admin interface, and check if there are failed tasks. If so, the
tasks will contain an error message.
Consumer warns ``OCR for XX failed``
####################################
If you find the OCR accuracy to be too low, and/or the document consumer warns
that ``OCR for XX failed, but we're going to stick with what we've got since
FORGIVING_OCR is enabled``, then you might need to install the
`Tesseract language files <http://packages.ubuntu.com/search?keywords=tesseract-ocr>`_
marching your document's languages.
As an example, if you are running Paperless-ngx from any Ubuntu or Debian
box, and your documents are written in Spanish you may need to run::
apt-get install -y tesseract-ocr-spa
Consumer fails to pickup any new files
######################################
If you notice that the consumer will only pickup files in the consumption
directory at startup, but won't find any other files added later, check out
the configuration file and enable filesystem polling with the setting
``PAPERLESS_CONSUMER_POLLING``.
directory at startup, but won't find any other files added later, you will need to
enable filesystem polling with the configuration option
``PAPERLESS_CONSUMER_POLLING``, see :ref:`here <configuration-polling>`.
This will disable listening to filesystem changes with inotify and paperless will
manually check the consumption directory for changes instead.
Paperless always redirects to /admin
####################################
You probably had the old paperless installed at some point. Paperless installed
a permanent redirect to /admin in your browser, and you need to clear your
browsing data / cache to fix that.
Operation not permitted
#######################
You might see errors such as:
.. code::
.. code:: shell-session
chown: changing ownership of '../export': Operation not permitted
@@ -48,4 +73,165 @@ required so that the user running paperless inside docker has write permissions
to these folders. This happens when pointing these directories to NFS shares,
for example.
Ensure that `chown` is possible on these directories.
Ensure that ``chown`` is possible on these directories.
Classifier error: No training data available
############################################
This indicates that the Auto matching algorithm found no documents to learn from.
This may have two reasons:
* You don't use the Auto matching algorithm: The error can be safely ignored in this case.
* You are using the Auto matching algorithm: The classifier explicitly excludes documents
with Inbox tags. Verify that there are documents in your archive without inbox tags.
The algorithm will only learn from documents not in your inbox.
UserWarning in sklearn on every single document
###############################################
You may encounter warnings like this:
.. code::
/usr/local/lib/python3.7/site-packages/sklearn/base.py:315:
UserWarning: Trying to unpickle estimator CountVectorizer from version 0.23.2 when using version 0.24.0.
This might lead to breaking code or invalid results. Use at your own risk.
This happens when certain dependencies of paperless that are responsible for the auto matching algorithm are
updated. After updating these, your current training data *might* not be compatible anymore. This can be ignored
in most cases. This warning will disappear automatically when paperless updates the training data.
If you want to get rid of the warning or actually experience issues with automatic matching, delete
the file ``classification_model.pickle`` in the data directory and let paperless recreate it.
504 Server Error: Gateway Timeout when adding Office documents
##############################################################
You may experience these errors when using the optional TIKA integration:
.. code::
requests.exceptions.HTTPError: 504 Server Error: Gateway Timeout for url: http://gotenberg:3000/forms/libreoffice/convert
Gotenberg is a server that converts Office documents into PDF documents and has a default timeout of 30 seconds.
When conversion takes longer, Gotenberg raises this error.
You can increase the timeout by configuring a command flag for Gotenberg (see also `here <https://gotenberg.dev/docs/modules/api#properties>`__).
If using docker-compose, this is achieved by the following configuration change in the ``docker-compose.yml`` file:
.. code:: yaml
gotenberg:
image: gotenberg/gotenberg:7
restart: unless-stopped
command:
- "gotenberg"
- "--chromium-disable-routes=true"
- "--api-timeout=60"
Permission denied errors in the consumption directory
#####################################################
You might encounter errors such as:
.. code:: shell-session
The following error occured while consuming document.pdf: [Errno 13] Permission denied: '/usr/src/paperless/src/../consume/document.pdf'
This happens when paperless does not have permission to delete files inside the consumption directory.
Ensure that ``USERMAP_UID`` and ``USERMAP_GID`` are set to the user id and group id you use on the host operating system, if these are
different from ``1000``. See :ref:`setup-docker_hub`.
Also ensure that you are able to read and write to the consumption directory on the host.
OSError: [Errno 19] No such device when consuming files
#######################################################
If you experience errors such as:
.. code:: shell-session
File "/usr/local/lib/python3.7/site-packages/whoosh/codec/base.py", line 570, in open_compound_file
return CompoundStorage(dbfile, use_mmap=storage.supports_mmap)
File "/usr/local/lib/python3.7/site-packages/whoosh/filedb/compound.py", line 75, in __init__
self._source = mmap.mmap(fileno, 0, access=mmap.ACCESS_READ)
OSError: [Errno 19] No such device
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/django_q/cluster.py", line 436, in worker
res = f(*task["args"], **task["kwargs"])
File "/usr/src/paperless/src/documents/tasks.py", line 73, in consume_file
override_tag_ids=override_tag_ids)
File "/usr/src/paperless/src/documents/consumer.py", line 271, in try_consume_file
raise ConsumerError(e)
Paperless uses a search index to provide better and faster full text searching. This search index is stored inside
the ``data`` folder. The search index uses memory-mapped files (mmap). The above error indicates that paperless
was unable to create and open these files.
This happens when you're trying to store the data directory on certain file systems (mostly network shares)
that don't support memory-mapped files.
Web-UI stuck at "Loading..."
############################
This might have multiple reasons.
1. If you built the docker image yourself or deployed using the bare metal route,
make sure that there are files in ``<paperless-root>/static/frontend/<lang-code>/``.
If there are no files, make sure that you executed ``collectstatic`` successfully, either
manually or as part of the docker image build.
If the front end is still missing, make sure that the front end is compiled (files present in
``src/documents/static/frontend``). If it is not, you need to compile the front end yourself
or download the release archive instead of cloning the repository.
2. Check the output of the web server. You might see errors like this:
.. code::
[2021-01-25 10:08:04 +0000] [40] [ERROR] Socket error processing request.
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 134, in handle
self.handle_request(listener, req, client, addr)
File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 190, in handle_request
util.reraise(*sys.exc_info())
File "/usr/local/lib/python3.7/site-packages/gunicorn/util.py", line 625, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/gunicorn/workers/sync.py", line 178, in handle_request
resp.write_file(respiter)
File "/usr/local/lib/python3.7/site-packages/gunicorn/http/wsgi.py", line 396, in write_file
if not self.sendfile(respiter):
File "/usr/local/lib/python3.7/site-packages/gunicorn/http/wsgi.py", line 386, in sendfile
sent += os.sendfile(sockno, fileno, offset + sent, count)
OSError: [Errno 22] Invalid argument
To fix this issue, add
.. code::
SENDFILE=0
to your `docker-compose.env` file.
Error while reading metadata
############################
You might find messages like these in your log files:
.. code::
[WARNING] [paperless.parsing.tesseract] Error while reading metadata
This indicates that paperless failed to read PDF metadata from one of your documents. This happens when you
open the affected documents in paperless for editing. Paperless will continue to work, and will simply not
show the invalid metadata.
+16 -13
View File
@@ -24,7 +24,7 @@ Each document has a couple of fields that you can assign to them:
* A *Document* is a piece of paper that sometimes contains valuable
information.
* The *correspondent* of a document is the person, institution or company that
a document either originates form, or is sent to.
a document either originates from, or is sent to.
* A *tag* is a label that you can assign to documents. Think of labels as more
powerful folders: Multiple documents can be grouped together with a single
tag, however, a single document can also have multiple tags. This is not
@@ -71,7 +71,7 @@ your documents:
This process can be configured to fit your needs. If you don't want paperless
to create archived versions for digital documents, you can configure that by
configuring ``PAPERLESS_OCR_MODE=skip_noarchive``. Please read the
configuring ``PAPERLESS_OCR_MODE=skip_noarchive``. Please read the
:ref:`relevant section in the documentation <configuration-ocr>`.
.. note::
@@ -86,10 +86,9 @@ The consumption directory
=========================
The primary method of getting documents into your database is by putting them in
the consumption directory. The consumer runs in an infinite
loop looking for new additions to this directory and when it finds them, it goes
about the process of parsing them with the OCR, indexing what it finds, and storing
it in the media directory.
the consumption directory. The consumer runs in an infinite loop, looking for new
additions to this directory. When it finds them, the consumer goes about the process
of parsing them with the OCR, indexing what it finds, and storing it in the media directory.
Getting stuff into this directory is up to you. If you're running Paperless
on your local computer, you might just want to drag and drop files there, but if
@@ -110,6 +109,8 @@ The dashboard has a file drop field to upload documents to paperless. Simply dra
onto this field or select a file with the file dialog. Multiple files are supported.
.. _usage-mobile_upload:
Mobile upload
=============
@@ -118,14 +119,14 @@ to share any documents with paperless. This can be combined with any of the mobi
scanning apps out there, such as Office Lens.
Furthermore, there is the `Paperless App <https://github.com/bauerj/paperless_app>`_ as well,
which no only has document upload, but also document editing and browsing.
which not only has document upload, but also document browsing and download features.
.. _usage-email:
IMAP (Email)
============
You can tell paperless-ng to consume documents from your email accounts.
You can tell paperless-ngx to consume documents from your email accounts.
This is a very flexible and powerful feature, if you regularly received documents
via mail that you need to archive. The mail consumer can be configured by using the
admin interface in the following manner:
@@ -253,6 +254,8 @@ Here are a couple examples of tags and types that you could use in your collecti
* A tag ``missing_metadata`` when you still need to add some metadata to a document, but can't
or don't want to do this right now.
.. _basic-usage_searching:
Searching
#########
@@ -285,7 +288,7 @@ Matching specific tags, correspondents or types:
Matching dates:
.. code::
created:[2005 to 2009]
added:yesterday
modified:today
@@ -302,11 +305,11 @@ Matching inexact words:
auto complete and query correction.
All of these constructs can be combined as you see fit.
If you want to learn more about the query language used by paperless, paperless uses Whoosh's default query language.
If you want to learn more about the query language used by paperless, paperless uses Whoosh's default query language.
Head over to `Whoosh query language <https://whoosh.readthedocs.io/en/latest/querylang.html>`_.
For details on what date parsing utilities are available, see
`Date parsing <https://whoosh.readthedocs.io/en/latest/dates.html#parsing-date-queries>`_.
.. _usage-recommended_workflow:
@@ -381,7 +384,7 @@ Once you have scanned in a document, proceed in paperless as follows.
6. Remove inbox tags from the documents.
.. hint::
You can setup manual matching rules for your correspondents and tags and
paperless will assign them automatically. After consuming a couple documents,
you can even ask paperless to *learn* when to assign tags and correspondents
@@ -392,7 +395,7 @@ Task management
Some documents require attention and require you to act on the document. You
may take two different approaches to handle these documents based on how
regularly you intent to use paperless and scan documents.
regularly you intend to scan documents and use paperless.
* If you scan and process your documents in paperless regularly, assign a
TODO tag to all scanned documents that you need to process. Create a saved
+14 -23
View File
@@ -1,48 +1,39 @@
bind = '127.0.0.1:8000'
backlog = 2048
workers = 3
worker_class = 'sync'
worker_connections = 1000
timeout = 20
keepalive = 2
spew = False
daemon = False
pidfile = None
umask = 0
user = None
group = None
tmp_upload_dir = None
loglevel = 'info'
errorlog = '-'
accesslog = '-'
proc_name = None
import os
bind = f'0.0.0.0:{os.getenv("PAPERLESS_PORT", 8000)}'
workers = int(os.getenv("PAPERLESS_WEBSERVER_WORKERS", 2))
worker_class = "paperless.workers.ConfigurableWorker"
timeout = 120
def pre_fork(server, worker):
pass
def pre_exec(server):
server.log.info("Forked child, re-executing.")
def when_ready(server):
server.log.info("Server is ready. Spawning workers")
def worker_int(worker):
worker.log.info("worker received INT or QUIT signal")
## get traceback info
import threading, sys, traceback
id2name = dict([(th.ident, th.name) for th in threading.enumerate()])
code = []
for threadId, stack in sys._current_frames().items():
code.append("\n# Thread: %s(%d)" % (id2name.get(threadId,""),
threadId))
code.append("\n# Thread: %s(%d)" % (id2name.get(threadId, ""), threadId))
for filename, lineno, name, line in traceback.extract_stack(stack):
code.append('File: "%s", line %d, in %s' % (filename,
lineno, name))
code.append('File: "%s", line %d, in %s' % (filename, lineno, name))
if line:
code.append(" %s" % (line.strip()))
worker.log.debug("\n".join(code))
def worker_abort(worker):
worker.log.info("worker received SIGABRT signal")
+358
View File
@@ -0,0 +1,358 @@
#!/bin/bash
ask() {
while true ; do
if [[ -z $3 ]] ; then
read -r -p "$1 [$2]: " result
else
read -r -p "$1 ($3) [$2]: " result
fi
if [[ -z $result ]]; then
ask_result=$2
return
fi
array=$3
if [[ -z $3 || " ${array[*]} " =~ ${result} ]]; then
ask_result=$result
return
else
echo "Invalid option: $result"
fi
done
}
ask_docker_folder() {
while true ; do
read -r -p "$1 [$2]: " result
if [[ -z $result ]]; then
ask_result=$2
return
fi
if [[ $result == /* || $result == ./* ]]; then
ask_result=$result
return
else
echo "Invalid folder: $result"
fi
done
}
if [[ $(id -u) == "0" ]] ; then
echo "Do not run this script as root."
exit 1
fi
if [[ -z $(which wget) ]] ; then
echo "wget executable not found. Is wget installed?"
exit 1
fi
if [[ -z $(which docker) ]] ; then
echo "docker executable not found. Is docker installed?"
exit 1
fi
if [[ -z $(which docker-compose) ]] ; then
echo "docker-compose executable not found. Is docker-compose installed?"
exit 1
fi
# Check if user has permissions to run Docker by trying to get the status of Docker (docker status).
# If this fails, the user probably does not have permissions for Docker.
if [ ! "$(docker stats --no-stream 2>/dev/null 1>&2)" ] ; then
echo ""
echo "WARN: It look like the current user does not have Docker permissions."
echo "WARN: Use 'sudo usermod -aG docker $USER' to assign Docker permissions to the user."
echo ""
sleep 3
fi
default_time_zone=$(timedatectl show -p Timezone --value)
set -e
echo ""
echo "#############################################"
echo "### paperless-ngx docker installation ###"
echo "#############################################"
echo ""
echo "This script will download, configure and start paperless-ngx."
echo ""
echo "1. Application configuration"
echo "============================"
echo ""
echo "The port on which the paperless webserver will listen for incoming"
echo "connections."
echo ""
ask "Port" "8000"
PORT=$ask_result
echo ""
echo "Paperless requires you to configure the current time zone correctly."
echo "Otherwise, the dates of your documents may appear off by one day,"
echo "depending on where you are on earth."
echo ""
ask "Current time zone" "$default_time_zone"
TIME_ZONE=$ask_result
echo ""
echo "Database backend: PostgreSQL and SQLite are available. Use PostgreSQL"
echo "if unsure. If you're running on a low-power device such as Raspberry"
echo "Pi, use SQLite to save resources."
echo ""
ask "Database backend" "postgres" "postgres sqlite"
DATABASE_BACKEND=$ask_result
echo ""
echo "Paperless is able to use Apache Tika to support Office documents such as"
echo "Word, Excel, Powerpoint, and Libreoffice equivalents. This feature"
echo "requires more resources due to the required services."
echo ""
ask "Enable Apache Tika?" "no" "yes no"
TIKA_ENABLED=$ask_result
echo ""
echo "Specify the default language that most of your documents are written in."
echo "Use ISO 639-2, (T) variant language codes: "
echo "https://www.loc.gov/standards/iso639-2/php/code_list.php"
echo "Common values: eng (English) deu (German) nld (Dutch) fra (French)"
echo "This can be a combination of multiple languages such as deu+eng"
echo ""
ask "OCR language" "eng"
OCR_LANGUAGE=$ask_result
echo ""
echo "Specify the user id and group id you wish to run paperless as."
echo "Paperless will also change ownership on the data, media and consume"
echo "folder to the specified values, so it's a good idea to supply the user id"
echo "and group id of your unix user account."
echo "If unsure, leave default."
echo ""
ask "User ID" "$(id -u)"
USERMAP_UID=$ask_result
ask "Group ID" "$(id -g)"
USERMAP_GID=$ask_result
echo ""
echo "2. Folder configuration"
echo "======================="
echo ""
echo "The target folder is used to store the configuration files of "
echo "paperless. You can move this folder around after installing paperless."
echo "You will need this folder whenever you want to start, stop, update or "
echo "maintain your paperless instance."
echo ""
ask "Target folder" "$(pwd)/paperless-ngx"
TARGET_FOLDER=$ask_result
echo ""
echo "The consume folder is where paperless will search for new documents."
echo "Point this to a folder where your scanner is able to put your scanned"
echo "documents."
echo ""
echo "CAUTION: You must specify an absolute path starting with / or a relative "
echo "path starting with ./ here. Examples:"
echo " /mnt/consume"
echo " ./consume"
echo ""
ask_docker_folder "Consume folder" "$TARGET_FOLDER/consume"
CONSUME_FOLDER=$ask_result
echo ""
echo "The media folder is where paperless stores your documents."
echo "Leave empty and docker will manage this folder for you."
echo "Docker usually stores managed folders in /var/lib/docker/volumes."
echo ""
echo "CAUTION: If specified, you must specify an absolute path starting with /"
echo "or a relative path starting with ./ here."
echo ""
ask_docker_folder "Media folder" ""
MEDIA_FOLDER=$ask_result
echo ""
echo "The data folder is where paperless stores other data, such as your"
if [[ "$DATABASE_BACKEND" == "sqlite" ]] ; then
echo -n "SQLite database, the "
fi
echo "search index and other data."
echo "As with the media folder, leave empty to have this managed by docker."
echo ""
echo "CAUTION: If specified, you must specify an absolute path starting with /"
echo "or a relative path starting with ./ here."
echo ""
ask_docker_folder "Data folder" ""
DATA_FOLDER=$ask_result
if [[ "$DATABASE_BACKEND" == "postgres" ]] ; then
echo ""
echo "The database folder, where postgres stores its data."
echo "Leave empty to have this managed by docker."
echo ""
echo "CAUTION: If specified, you must specify an absolute path starting with /"
echo "or a relative path starting with ./ here."
echo ""
ask_docker_folder "Database folder" ""
POSTGRES_FOLDER=$ask_result
fi
echo ""
echo "3. Login credentials"
echo "===================="
echo ""
echo "Specify initial login credentials. You can change these later."
echo "A mail address is required, however it is not used in paperless. You don't"
echo "need to provide an actual mail address."
echo ""
ask "Paperless username" "$(whoami)"
USERNAME=$ask_result
while true; do
read -r -sp "Paperless password: " PASSWORD
echo ""
if [[ -z $PASSWORD ]] ; then
echo "Password cannot be empty."
continue
fi
read -r -sp "Paperless password (again): " PASSWORD_REPEAT
echo ""
if [[ ! "$PASSWORD" == "$PASSWORD_REPEAT" ]] ; then
echo "Passwords did not match"
else
break
fi
done
ask "Email" "$USERNAME@localhost"
EMAIL=$ask_result
echo ""
echo "Summary"
echo "======="
echo ""
echo "Target folder: $TARGET_FOLDER"
echo "Consume folder: $CONSUME_FOLDER"
if [[ -z $MEDIA_FOLDER ]] ; then
echo "Media folder: Managed by docker"
else
echo "Media folder: $MEDIA_FOLDER"
fi
if [[ -z $DATA_FOLDER ]] ; then
echo "Data folder: Managed by docker"
else
echo "Data folder: $DATA_FOLDER"
fi
if [[ "$DATABASE_BACKEND" == "postgres" ]] ; then
if [[ -z $POSTGRES_FOLDER ]] ; then
echo "Database (postgres) folder: Managed by docker"
else
echo "Database (postgres) folder: $POSTGRES_FOLDER"
fi
fi
echo ""
echo "Port: $PORT"
echo "Database: $DATABASE_BACKEND"
echo "Tika enabled: $TIKA_ENABLED"
echo "OCR language: $OCR_LANGUAGE"
echo "User id: $USERMAP_UID"
echo "Group id: $USERMAP_GID"
echo ""
echo "Paperless username: $USERNAME"
echo "Paperless email: $EMAIL"
echo ""
read -r -p "Press any key to install."
echo ""
echo "Installing paperless..."
echo ""
mkdir -p "$TARGET_FOLDER"
cd "$TARGET_FOLDER"
DOCKER_COMPOSE_VERSION=$DATABASE_BACKEND
if [[ $TIKA_ENABLED == "yes" ]] ; then
DOCKER_COMPOSE_VERSION="$DOCKER_COMPOSE_VERSION-tika"
fi
wget "https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/docker-compose.$DOCKER_COMPOSE_VERSION.yml" -O docker-compose.yml
wget "https://raw.githubusercontent.com/paperless-ngx/paperless-ngx/main/docker/compose/.env" -O .env
SECRET_KEY=$(tr -dc 'a-zA-Z0-9' < /dev/urandom | fold -w 64 | head -n 1)
DEFAULT_LANGUAGES="deu eng fra ita spa"
{
if [[ ! $USERMAP_UID == "1000" ]] ; then
echo "USERMAP_UID=$USERMAP_UID"
fi
if [[ ! $USERMAP_GID == "1000" ]] ; then
echo "USERMAP_GID=$USERMAP_GID"
fi
echo "PAPERLESS_TIME_ZONE=$TIME_ZONE"
echo "PAPERLESS_OCR_LANGUAGE=$OCR_LANGUAGE"
echo "PAPERLESS_SECRET_KEY=$SECRET_KEY"
if [[ ! " ${DEFAULT_LANGUAGES[*]} " =~ ${OCR_LANGUAGE} ]] ; then
echo "PAPERLESS_OCR_LANGUAGES=$OCR_LANGUAGE"
fi
} > docker-compose.env
sed -i "s/- 8000:8000/- $PORT:8000/g" docker-compose.yml
sed -i "s#- \./consume:/usr/src/paperless/consume#- $CONSUME_FOLDER:/usr/src/paperless/consume#g" docker-compose.yml
if [[ -n $MEDIA_FOLDER ]] ; then
sed -i "s#- media:/usr/src/paperless/media#- $MEDIA_FOLDER:/usr/src/paperless/media#g" docker-compose.yml
sed -i "/^\s*media:/d" docker-compose.yml
fi
if [[ -n $DATA_FOLDER ]] ; then
sed -i "s#- data:/usr/src/paperless/data#- $DATA_FOLDER:/usr/src/paperless/data#g" docker-compose.yml
sed -i "/^\s*data:/d" docker-compose.yml
fi
if [[ -n $POSTGRES_FOLDER ]] ; then
sed -i "s#- pgdata:/var/lib/postgresql/data#- $POSTGRES_FOLDER:/var/lib/postgresql/data#g" docker-compose.yml
sed -i "/^\s*pgdata:/d" docker-compose.yml
fi
# remove trailing blank lines from end of file
sed -i -e :a -e '/^\n*$/{$d;N;};/\n$/ba' docker-compose.yml
# if last line in file contains "volumes:", remove that line since no more named volumes are left
l1=$(grep -n '^volumes:' docker-compose.yml | cut -d : -f 1) # get line number containing volume: at begin of line
l2=$(wc -l < docker-compose.yml) # get total number of lines
if [ "$l1" -eq "$l2" ] ; then
sed -i "/^volumes:/d" docker-compose.yml
fi
docker-compose pull
docker-compose run --rm -e DJANGO_SUPERUSER_PASSWORD="$PASSWORD" webserver createsuperuser --noinput --username "$USERNAME" --email "$EMAIL"
docker-compose up -d
+22 -3
View File
@@ -1,5 +1,5 @@
# Have a look at the docs for documentation.
# https://paperless-ng.readthedocs.io/en/latest/configuration.html
# https://paperless-ngx.readthedocs.io/en/latest/configuration.html
# Debug. Only enable this for development.
@@ -13,11 +13,13 @@
#PAPERLESS_DBNAME=paperless
#PAPERLESS_DBUSER=paperless
#PAPERLESS_DBPASS=paperless
#PAPERLESS_DBSSLMODE=prefer
# Paths and folders
#PAPERLESS_CONSUMPTION_DIR=../consume
#PAPERLESS_DATA_DIR=../data
#PAPERLESS_TRASH_DIR=
#PAPERLESS_MEDIA_ROOT=../media
#PAPERLESS_STATICDIR=../static
#PAPERLESS_FILENAME_FORMAT=
@@ -26,11 +28,12 @@
#PAPERLESS_SECRET_KEY=change-me
#PAPERLESS_ALLOWED_HOSTS=example.com,www.example.com
#PAPERLESS_CORS_ALLOWED_HOSTS=localhost:8080,example.com,localhost:8000
#PAPERLESS_CORS_ALLOWED_HOSTS=http://example.com,http://localhost:8000
#PAPERLESS_FORCE_SCRIPT_NAME=
#PAPERLESS_STATIC_URL=/static/
#PAPERLESS_AUTO_LOGIN_USERNAME=
#PAPERLESS_COOKIE_PREFIX=
#PAPERLESS_ENABLE_HTTP_REMOTE_USER=false
# OCR settings
@@ -39,7 +42,11 @@
#PAPERLESS_OCR_OUTPUT_TYPE=pdfa
#PAPERLESS_OCR_PAGES=1
#PAPERLESS_OCR_IMAGE_DPI=300
#PAPERLESS_OCR_USER_ARG={}
#PAPERLESS_OCR_CLEAN=clean
#PAPERLESS_OCR_DESKEW=true
#PAPERLESS_OCR_ROTATE_PAGES=true
#PAPERLESS_OCR_ROTATE_PAGES_THRESHOLD=12.0
#PAPERLESS_OCR_USER_ARGS={}
#PAPERLESS_CONVERT_MEMORY_LIMIT=0
#PAPERLESS_CONVERT_TMPDIR=/var/tmp/paperless
@@ -50,10 +57,22 @@
#PAPERLESS_TIME_ZONE=UTC
#PAPERLESS_CONSUMER_POLLING=10
#PAPERLESS_CONSUMER_DELETE_DUPLICATES=false
#PAPERLESS_CONSUMER_RECURSIVE=false
#PAPERLESS_CONSUMER_IGNORE_PATTERNS=[".DS_STORE/*", "._*", ".stfolder/*"]
#PAPERLESS_CONSUMER_SUBDIRS_AS_TAGS=false
#PAPERLESS_OPTIMIZE_THUMBNAILS=true
#PAPERLESS_PRE_CONSUME_SCRIPT=/path/to/an/arbitrary/script.sh
#PAPERLESS_POST_CONSUME_SCRIPT=/path/to/an/arbitrary/script.sh
#PAPERLESS_FILENAME_DATE_ORDER=YMD
#PAPERLESS_FILENAME_PARSE_TRANSFORMS=[]
#PAPERLESS_THUMBNAIL_FONT_NAME=
#PAPERLESS_IGNORE_DATES=
# Tika settings
#PAPERLESS_TIKA_ENABLED=false
#PAPERLESS_TIKA_ENDPOINT=http://localhost:9998
#PAPERLESS_TIKA_GOTENBERG_ENDPOINT=http://localhost:3000
# Binaries
+111
View File
@@ -0,0 +1,111 @@
#
# These requirements were autogenerated by pipenv
# To regenerate from the project's Pipfile, run:
#
# pipenv lock --requirements
#
-i https://pypi.python.org/simple
--extra-index-url https://www.piwheels.org/simple
aioredis==1.3.1
anyio==3.5.0; python_full_version >= '3.6.2'
arrow==1.2.2; python_version >= '3.6'
asgiref==3.5.0; python_version >= '3.7'
async-timeout==4.0.2; python_version >= '3.6'
attrs==21.4.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
autobahn==22.2.2; python_version >= '3.7'
automat==20.2.0
backports.zoneinfo==0.2.1; python_version < '3.9'
blessed==1.19.1; python_version >= '2.7'
certifi==2021.10.8
cffi==1.15.0
channels-redis==3.4.0
channels==3.0.4
chardet==4.0.0; python_version >= '3.1'
charset-normalizer==2.0.12; python_version >= '3'
click==8.0.4; python_version >= '3.6'
coloredlogs==15.0.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
concurrent-log-handler==0.9.20
constantly==15.1.0
cryptography==36.0.2; python_version >= '3.6'
daphne==3.0.2; python_version >= '3.6'
dateparser==1.1.1
django-cors-headers==3.11.0
django-extensions==3.1.5
django-filter==21.1
django-picklefield==3.0.1; python_version >= '3'
django-q==1.3.9
django==4.0.3
djangorestframework==3.13.1
filelock==3.6.0
fuzzywuzzy[speedup]==0.18.0
gunicorn==20.1.0
h11==0.13.0; python_version >= '3.6'
hiredis==2.0.0; python_version >= '3.6'
httptools==0.4.0
humanfriendly==10.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
hyperlink==21.0.0
idna==3.3; python_version >= '3.5'
imap-tools==0.53.0
img2pdf==0.4.3
importlib-resources==5.6.0; python_version < '3.9'
incremental==21.3.0
inotify-simple==1.3.5; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
inotifyrecursive==0.3.5
joblib==1.1.0; python_version >= '3.6'
langdetect==1.0.9
lxml==4.8.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
msgpack==1.0.3
numpy==1.22.3; python_version >= '3.8'
ocrmypdf==13.4.1
packaging==21.3; python_version >= '3.6'
pathvalidate==2.5.0
pdfminer.six==20211012
pikepdf==5.1.0
pillow==9.0.1
pluggy==1.0.0; python_version >= '3.6'
portalocker==2.4.0; python_version >= '3'
psycopg2==2.9.3
pyasn1-modules==0.2.8
pyasn1==0.4.8
pycparser==2.21
pyopenssl==22.0.0
pyparsing==3.0.7; python_version >= '3.6'
python-dateutil==2.8.2
python-dotenv==0.20.0
python-gnupg==0.4.8
python-levenshtein==0.12.2
python-magic==0.4.25
pytz-deprecation-shim==0.1.0.post0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
pytz==2022.1
pyyaml==6.0
redis==3.5.3
regex==2022.3.2; python_version >= '3.6'
reportlab==3.6.9; python_version >= '3.7' and python_version < '4'
requests==2.27.1; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'
scikit-learn==1.0.2
scipy==1.8.0; python_version < '3.11' and python_version >= '3.8'
service-identity==21.1.0
setuptools==61.1.1; python_version >= '3.7'
six==1.16.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'
sniffio==1.2.0; python_version >= '3.5'
sqlparse==0.4.2; python_version >= '3.5'
threadpoolctl==3.1.0; python_version >= '3.6'
tika==1.24
tqdm==4.63.1
twisted[tls]==22.2.0; python_full_version >= '3.6.7'
txaio==22.2.1; python_version >= '3.6'
typing-extensions==4.1.1; python_version >= '3.6'
tzdata==2022.1; python_version >= '3.6'
tzlocal==4.1; python_version >= '3.6'
urllib3==1.26.9; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'
uvicorn[standard]==0.17.6
uvloop==0.16.0
watchdog==2.1.7
watchgod==0.8.1
wcwidth==0.2.5
websockets==10.2
whitenoise==6.0.0
whoosh==2.7.4
zipp==3.7.0; python_version < '3.9'
zope.interface==5.4.0; python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'
+16
View File
@@ -0,0 +1,16 @@
9w
{@@N
Q@@@@H
G@@@@@@@\
SilN@@@@@@@
*Q *@@@@@@@@S /= = = = = = = = = = = = = = = = = =\
*@ B@@@@@@@@N || ||
N R$ A@@@@@@@@@@ || PAPERLESS-NGX ||
x@@ $U B@@@@@@@@@R || ||
N@@N^ @ N@@@@@@@@@* \= = = = = = = = = = = = = = = = = =/
|@@@u @ E@@@@@@@@l
Q@@@ \ Px@@@@@@P
1@@S` @@@o'
z$ ;
v
/
Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

After

Width:  |  Height:  |  Size: 61 KiB

@@ -1,8 +1,68 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3212.7659574468084" height="1212.7659574468084">
<g transform="scale(10.638297872340425) translate(10, 10)">
<defs id="SvgjsDefs1018"/><g id="SvgjsG1019" featureKey="root" fill="#000"/><g id="SvgjsG1020" featureKey="symbol1" fill="#000" transform="matrix(0.10341565310955048,0,0,0.10341565310955048,1.2287664639255311,8.34534955983785)"><defs/><g><path d="M231 798c-4,-19 -12,-57 -13,-57 -169,-101 -149,-276 -93,-376 12,126 235,213 105,367 -1,2 6,26 12,48 26,-44 65,-97 63,-102 -160,-390 340,-420 444,-662 47,234 -24,596 -426,688 -2,1 -73,126 -76,127 0,-2 -30,-1 -26,-11 2,-6 6,-14 10,-22zm99 -173c-63,-149 122,-313 214,-354 -188,168 -220,293 -214,354zm-104 79c51,-59 -9,-160 -45,-193 61,105 57,166 45,193z" style="fill: #17541f;"/></g></g><g id="SvgjsG1021" featureKey="text1" fill="#000" transform="matrix(3.34075665473938,0,0,3.34075665473938,98.19599170908818,2.9576938247155375)"><path d="M6.5 8.62 q0.02 0.48 0.02 1.09 t-0.02 1.07 q0 0.54 -0.19 1.07 t-0.57 0.95 t-0.95 0.66 t-1.31 0.24 l-1.02 0 l0 5.22 q0 0.28 0.08 0.41 t0.16 0.15 q0.12 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.24 0 q0.1 -0.02 0.2 -0.15 t0.1 -0.41 l0 -12.14 q0 -0.3 -0.1 -0.43 t-0.2 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.48 l2.94 0 q0.74 0 1.31 0.24 t0.95 0.66 t0.57 0.94 t0.19 1.08 z M5.08 8.18 q0 -0.52 -0.17 -0.9 t-0.4 -0.6 t-0.48 -0.35 t-0.43 -0.13 l-1.14 0 l0 6.96 l1.14 0 q0.18 0 0.43 -0.1 t0.48 -0.35 t0.4 -0.61 t0.17 -0.9 l0 -3.02 z M14.58 19.14 q0 0.16 -0.08 0.33 t-0.23 0.32 t-0.38 0.27 t-0.53 0.12 q-0.48 0 -0.86 -0.22 t-0.52 -0.58 q-0.12 -0.2 -0.18 -0.46 q-0.26 0.54 -0.79 0.9 t-1.17 0.36 q-0.8 0 -1.4 -0.58 q-0.34 -0.3 -0.56 -0.78 t-0.26 -1.1 q-0.02 -0.06 -0.02 -0.24 l0 -0.02 q0.02 -0.34 0.12 -0.71 t0.31 -0.74 t0.5 -0.7 t0.63 -0.57 q0.08 -0.04 0.13 -0.09 t0.15 -0.11 l0.06 -0.03 l0.06 -0.03 q0.36 -0.22 0.63 -0.4 t0.49 -0.34 q0.12 -0.08 0.24 -0.18 t0.26 -0.2 q0.18 -0.12 0.34 -0.28 t0.24 -0.38 q0.12 -0.2 0.12 -0.48 t-0.06 -0.5 q-0.08 -0.44 -0.41 -0.76 t-0.73 -0.42 q-0.18 -0.06 -0.34 -0.06 q-0.56 0 -0.96 0.2 q-0.26 0.12 -0.38 0.27 t-0.13 0.28 t0.05 0.21 t0.16 0.12 q0.04 0.02 0.05 0.02 t0.05 0.02 q0.26 0.1 0.43 0.35 t0.17 0.55 q0 0.38 -0.27 0.65 t-0.65 0.27 q-0.4 0 -0.68 -0.27 t-0.28 -0.65 q0 -0.34 0.09 -0.71 t0.27 -0.67 q0.38 -0.56 0.91 -0.81 t1.17 -0.25 q0.48 0 0.95 0.18 t0.84 0.51 t0.62 0.79 t0.25 1.06 l0 5.88 q0 0.36 0.01 0.47 t0.01 0.15 l0 0 q0 0.26 0.16 0.42 t0.38 0.16 q0.26 0 0.42 -0.15 t0.18 -0.39 l0.42 0 z M11.440000000000001 18.64 q0.16 -0.28 0.19 -0.6 t0.03 -0.6 l0 -3.7 q-0.08 0.08 -0.17 0.15 t-0.19 0.17 q-0.58 0.42 -0.99 0.77 t-0.69 0.72 t-0.44 0.79 t-0.2 0.96 l0 0.3 q0.02 0.76 0.41 1.19 t1.11 0.43 q0.32 0 0.58 -0.16 q0.26 -0.18 0.36 -0.42 z M18.32 10.08 q1.14 0.02 1.82 0.69 t0.68 2.13 l0 4.48 q0 1.46 -0.68 2.12 t-1.82 0.7 l-0.06 0 q-0.34 0 -0.62 -0.08 l-0.02 0 q-0.02 0 -0.02 -0.02 q-0.46 -0.16 -0.8 -0.44 l-0.19 -0.19 t-0.15 -0.21 l0 3.32 q0 0.28 0.08 0.41 t0.16 0.17 q0.12 0.06 0.26 0 l0 0.5 l-2.42 0 l0 -0.5 q0.16 0.06 0.24 0 q0.1 -0.04 0.19 -0.17 t0.09 -0.41 l0 -11.28 q0 -0.28 -0.09 -0.41 t-0.19 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.48 l1.92 0 l0 0.78 q0.14 -0.22 0.34 -0.4 q0.34 -0.3 0.8 -0.44 q0 -0.02 0.02 -0.02 l0.02 0 q0.32 -0.08 0.62 -0.08 l0.06 0 z M19.32 12.46 l0 -0.02 q-0.02 -1.02 -0.25 -1.44 t-0.75 -0.46 q-0.36 -0.02 -0.68 0.09 t-0.56 0.37 t-0.4 0.7 t-0.22 1.04 l0 4.8 q0.06 0.62 0.22 1.05 t0.4 0.68 t0.56 0.37 t0.68 0.1 q0.52 -0.04 0.75 -0.46 t0.25 -1.44 l0 -0.02 l0 -5.36 z M24.380000000000003 10.08 q0.46 0 0.94 0.16 t0.86 0.5 t0.61 0.86 t0.23 1.24 l0 2.02 l0 0.06 l0 0.46 l-3.98 0 l0 2.06 q0 1.24 0.43 1.77 t1.07 0.51 q0.38 -0.02 0.75 -0.13 t0.64 -0.37 t0.45 -0.74 t0.18 -1.26 l0.46 0 l0 0.28 q0 0.54 -0.12 1.03 t-0.42 0.85 t-0.77 0.57 t-1.15 0.23 q-0.48 0 -0.98 -0.18 t-0.9 -0.54 t-0.66 -0.85 t-0.26 -1.11 l0 -0.47 t-0.01 -0.77 t-0.01 -0.95 t-0.01 -0.99 t-0.01 -0.87 l0 -0.59 q0 -0.72 0.25 -1.25 t0.62 -0.86 t0.84 -0.5 t0.95 -0.17 z M25.68 14.86 l0 -1.58 q0 -0.76 -0.1 -1.27 t-0.27 -0.82 t-0.41 -0.43 t-0.54 -0.12 q-0.64 0 -0.97 0.56 t-0.33 2.08 l0 1.58 l2.62 0 z M33.54 11.66 q0 0.04 0.02 0.16 t0 0.2 q-0.02 0.42 -0.29 0.69 t-0.65 0.27 q-0.4 0 -0.67 -0.28 t-0.27 -0.68 q0 -0.5 0.38 -0.76 q0.04 -0.02 0.05 -0.03 l0.03 -0.03 q0.14 -0.1 0.18 -0.29 t-0.24 -0.33 q-0.18 -0.1 -0.36 -0.1 q-0.6 -0.04 -1.06 0.36 t-0.62 1.4 l0 6.68 q0 0.28 0.08 0.41 t0.16 0.15 q0.12 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.24 0 q0.1 -0.02 0.2 -0.15 t0.1 -0.41 l0 -7.62 q0 -0.28 -0.1 -0.41 t-0.2 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.5 l1.92 0 l0 0.82 q0.14 -0.22 0.28 -0.41 t0.33 -0.32 t0.44 -0.21 t0.63 -0.08 q0.58 0 1.08 0.42 t0.74 1.22 z M36.24 18.92 q0 0.28 0.09 0.41 t0.17 0.15 q0.1 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.28 0 q0.06 -0.02 0.16 -0.15 t0.1 -0.41 l0 -12.12 q0 -0.3 -0.1 -0.43 t-0.16 -0.17 q-0.12 -0.06 -0.28 0 l0 -0.48 l1.9 0 l0 1.08 l0 12.12 z M40.580000000000005 10.08 q0.46 0 0.94 0.16 t0.86 0.5 t0.61 0.86 t0.23 1.24 l0 2.02 l0 0.06 l0 0.46 l-3.98 0 l0 2.06 q0 1.24 0.43 1.77 t1.07 0.51 q0.38 -0.02 0.75 -0.13 t0.64 -0.37 t0.45 -0.74 t0.18 -1.26 l0.46 0 l0 0.28 q0 0.54 -0.12 1.03 t-0.42 0.85 t-0.77 0.57 t-1.15 0.23 q-0.48 0 -0.98 -0.18 t-0.9 -0.Line truncated
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 3212.8 1212.8" style="enable-background:new 0 0 3212.8 1212.8;" xml:space="preserve">
<style type="text/css">
.st0{fill:#17541F;}
</style>
<path d="M1180.9,847.9v-20.6c-18,20-43.1,30.1-75.4,30.1c-22.4,0-42.8-5.8-61-17.5c-18.3-11.7-32.5-27.8-42.9-48.3
c-10.3-20.5-15.5-43.3-15.5-68.4c0-25.1,5.2-48,15.5-68.5s24.6-36.6,42.9-48.3s38.6-17.5,61-17.5c32.3,0,57.5,10,75.4,30.1v-20.6
h85.3V848L1180.9,847.9L1180.9,847.9z M1184.4,723.1c0-17.4-5.2-31.9-15.5-43.8c-10.3-11.8-23.9-17.7-40.6-17.7
c-16.8,0-30.2,5.9-40.4,17.7c-10.2,11.8-15.3,26.4-15.3,43.8c0,17.4,5.1,31.9,15.3,43.8c10.2,11.8,23.6,17.7,40.4,17.7
s30.3-5.9,40.6-17.7C1179.3,755.1,1184.4,740.5,1184.4,723.1z"/>
<path d="M1543.1,606.4c18.3,11.7,32.5,27.8,42.9,48.3c10.3,20.5,15.5,43.3,15.5,68.5c0,25.1-5.2,48-15.5,68.4
c-10.3,20.5-24.6,36.6-42.9,48.3s-38.6,17.5-61,17.5c-32.3,0-57.5-10-75.4-30.1v165.6h-85.3V598.4h85.3V619
c18-20,43.1-30.1,75.4-30.1C1504.5,588.9,1524.8,594.8,1543.1,606.4z M1514.8,723.1c0-17.4-5.1-31.9-15.3-43.8
c-10.2-11.8-23.6-17.7-40.4-17.7s-30.2,5.9-40.4,17.7c-10.2,11.8-15.3,26.4-15.3,43.8c0,17.4,5.1,31.9,15.3,43.8
c10.2,11.8,23.6,17.7,40.4,17.7s30.2-5.9,40.4-17.7C1509.7,755.1,1514.8,740.5,1514.8,723.1z"/>
<path d="M1838.9,763.5l53,49.4c-28.1,29.6-66.7,44.4-115.8,44.4c-28.1,0-53-5.8-74.5-17.5s-38.2-27.7-49.8-48
c-11.7-20.3-17.7-43.2-18-68.7c0-24.8,5.9-47.5,17.7-68c11.8-20.5,28.1-36.7,48.7-48.5s43.5-17.7,68.7-17.7
c24.8,0,47.6,6.1,68.2,18.2c20.6,12.1,37,29.5,49.1,52.3c12.1,22.7,18.2,49.1,18.2,79l-0.4,11.7h-181.8
c3.6,11.4,10.5,20.7,20.9,28.1c10.3,7.3,21.3,11,33,11c14.4,0,26.3-2.2,35.7-6.5C1821.1,778.3,1830.2,771.9,1838.9,763.5z
M1722.2,694.4h92.9c-2.1-12.3-7.5-22.1-16.2-29.4c-8.7-7.3-18.7-11-30.1-11s-21.5,3.7-30.3,11S1724.3,682.1,1722.2,694.4z"/>
<path d="M2034.1,626.6c7.8-10.8,17.2-19,28.3-24.7s22-8.5,32.8-8.5c11.4,0,20,1.6,26,4.9l-10.8,72.7c-8.4-2.1-15.7-3.1-22-3.1
c-17.1,0-30.4,4.3-39.9,12.8c-9.6,8.5-14.4,24.2-14.4,46.9v120.3h-85.3V598.4h85.3V626.6L2034.1,626.6z"/>
<path d="M2238.3,466.4v381.5H2153V466.4H2238.3z"/>
<path d="M2486.1,763.5l53,49.4c-28.1,29.6-66.7,44.4-115.8,44.4c-28.1,0-53-5.8-74.5-17.5s-38.2-27.7-49.8-48
c-11.7-20.3-17.7-43.2-18-68.7c0-24.8,5.9-47.5,17.7-68s28.1-36.7,48.7-48.5c20.6-11.8,43.5-17.7,68.7-17.7
c24.8,0,47.6,6.1,68.2,18.2c20.6,12.1,37,29.5,49.1,52.3c12.1,22.7,18.2,49.1,18.2,79l-0.4,11.7h-181.8
c3.6,11.4,10.5,20.7,20.9,28.1c10.3,7.3,21.3,11,33,11c14.4,0,26.3-2.2,35.7-6.5C2468.4,778.3,2477.4,771.9,2486.1,763.5z
M2369.4,694.4h92.9c-2.1-12.3-7.5-22.1-16.2-29.4c-8.7-7.3-18.7-11-30.1-11s-21.5,3.7-30.3,11
C2377,672.3,2371.5,682.1,2369.4,694.4z"/>
<path d="M2691.2,654.5c-9.9,0-17.1,1.1-21.5,3.4c-4.5,2.2-6.7,5.9-6.7,11s3.4,8.8,10.3,11.2c6.9,2.4,18,4.9,33.2,7.6
c20,3,37,6.7,50.9,11.2s26,12.1,36.1,22.9c10.2,10.8,15.3,25.9,15.3,45.3c0,29.9-10.9,52.4-32.8,67.6
c-21.8,15.1-50.3,22.7-85.3,22.7c-25.7,0-49.5-3.7-71.4-11c-21.8-7.3-37.4-14.7-46.7-22.2l33.7-60.6c10.2,9,23.4,15.8,39.7,20.4
c16.3,4.6,31.3,7,45.1,7c19.7,0,29.6-5.2,29.6-15.7c0-5.4-3.3-9.4-9.9-11.9c-6.6-2.5-17.2-5.2-31.9-7.9c-18.9-3.3-34.9-7.2-48-11.7
c-13.2-4.5-24.6-12.2-34.3-23.1c-9.7-10.9-14.6-26-14.6-45.1c0-27.2,9.7-48.5,29-63.7c19.3-15.3,46-22.9,80.1-22.9
c23.3,0,44.4,3.6,63.3,10.8c18.9,7.2,34,14.5,45.3,22l-32.8,58.8c-10.8-7.5-23.2-13.7-37.3-18.6
C2715.8,656.9,2702.9,654.5,2691.2,654.5z"/>
<path d="M2942.6,654.5c-9.9,0-17.1,1.1-21.5,3.4c-4.5,2.2-6.7,5.9-6.7,11s3.4,8.8,10.3,11.2c6.9,2.4,18,4.9,33.2,7.6
c20,3,37,6.7,50.9,11.2s26,12.1,36.1,22.9c10.2,10.8,15.3,25.9,15.3,45.3c0,29.9-10.9,52.4-32.8,67.6
c-21.8,15.1-50.3,22.7-85.3,22.7c-25.7,0-49.5-3.7-71.4-11c-21.8-7.3-37.4-14.7-46.7-22.2l33.7-60.6c10.2,9,23.4,15.8,39.7,20.4
c16.3,4.6,31.3,7,45.1,7c19.8,0,29.6-5.2,29.6-15.7c0-5.4-3.3-9.4-9.9-11.9c-6.6-2.5-17.2-5.2-31.9-7.9c-18.9-3.3-34.9-7.2-48-11.7
c-13.2-4.5-24.6-12.2-34.3-23.1s-14.6-26-14.6-45.1c0-27.2,9.7-48.5,29-63.7c19.3-15.3,46-22.9,80.1-22.9c23.3,0,44.4,3.6,63.3,10.8
c18.9,7.2,34,14.5,45.3,22l-32.8,58.8c-10.8-7.5-23.2-13.7-37.3-18.6C2967.1,656.9,2954.2,654.5,2942.6,654.5z"/>
<g>
<path d="M2633.3,932.2h60.2v17.3h-60.2V932.2z"/>
<path d="M2754.5,902.6c4.9-2,10.2-3.1,16-3.1c10.9,0,19.5,3.4,25.9,10.2s9.6,16.7,9.6,29.6v57.3h-19.6V944c0-9.3-1.7-16.2-5.1-20.7
c-3.4-4.5-9.1-6.7-17-6.7c-6.5,0-11.8,2.4-16.1,7.1c-4.3,4.8-6.4,11.5-6.4,20.2v52.6h-19.6v-94.6h19.6v9.5
C2745.5,907.6,2749.7,904.6,2754.5,902.6z"/>
<path d="M2915.6,1041.4c-8.6,6.8-19.4,10.2-32.3,10.2c-7.9,0-15.2-1.4-21.9-4.1s-12.1-6.8-16.3-12.2c-4.2-5.4-6.6-11.9-7.1-19.6
h19.6c0.7,6.1,3.5,10.8,8.4,13.9c4.9,3.2,10.7,4.8,17.4,4.8c7,0,13.1-2,18.2-6c5.1-4,7.7-10.3,7.7-18.9v-24.7
c-3.6,3.4-8,6.2-13.3,8.2c-5.2,2.1-10.7,3.1-16.3,3.1c-8.7,0-16.6-2.1-23.7-6.4c-7.1-4.3-12.6-10-16.7-17.3c-4-7.3-6-15.5-6-24.6
s2-17.3,6-24.7s9.6-13.2,16.7-17.4c7.1-4.3,15-6.4,23.7-6.4c5.7,0,11.1,1,16.3,3.1s9.6,4.8,13.3,8.2v-8.8h19.4v107.8
C2928.5,1024.1,2924.2,1034.6,2915.6,1041.4z M2907.5,963.9c2.6-4.7,3.8-10,3.8-15.9s-1.3-11.2-3.8-16c-2.6-4.8-6.1-8.5-10.5-11.1
c-4.5-2.7-9.5-4-15.1-4c-5.8,0-10.9,1.4-15.4,4.3c-4.5,2.8-7.9,6.6-10.3,11.4c-2.4,4.8-3.6,9.9-3.6,15.5c0,5.4,1.2,10.5,3.6,15.3
c2.4,4.8,5.8,8.6,10.3,11.5s9.6,4.3,15.4,4.3c5.6,0,10.6-1.4,15.1-4.1C2901.4,972.3,2904.9,968.6,2907.5,963.9z"/>
<path d="M2968.8,996.6h-21.6l37.9-48l-36.4-46.6h22.6l25.7,33.3l25.8-33.3h21.6l-36.2,45.9l37.9,48.6h-22.6l-27.4-35L2968.8,996.6z
"/>
</g>
<path d="M961.1,527.4c-11.5-18.9-27.4-33.7-47.6-44.7c-20.2-10.9-43-16.4-68.5-16.4h-90.6c-8.6,39.6-21.3,77.2-38,112.4
c-10,21-21.3,41-33.9,59.9v209.2h89.8v-135H845c25.4,0,48.3-5.5,68.5-16.4s36.1-25.8,47.6-44.7s17.3-39.5,17.3-61.9
C978.4,567.1,972.7,546.3,961.1,527.4z M872.3,624.8c-9.4,9-21.8,13.5-37,13.5l-62.8,0.4v-93.4l62.8-0.4c15.3,0,27.6,4.5,37,13.5
s14.1,20,14.1,33.2C886.4,604.8,881.7,615.9,872.3,624.8z"/>
<path class="st0" d="M290,906.9c-3.5-16.5-10.4-49.6-11.3-49.6c-147.1-88-129.7-240.3-81-327.4c10.4,109.7,204.6,185.4,91.4,319.5
c-0.9,1.7,5.2,22.6,10.4,41.8c22.6-38.3,56.6-84.4,54.8-88.8C215,462.9,650.3,436.8,740.8,226.1c40.9,203.7-20.9,518.9-370.8,599
c-1.7,0.9-63.5,109.7-66.2,110.6c0-1.7-26.1-0.9-22.6-9.6C283.1,920.8,286.5,913.9,290,906.9L290,906.9z M285.7,825.1
c44.4-51.4-7.8-139.3-39.2-168C299.6,748.4,296.1,801.5,285.7,825.1L285.7,825.1z"/>
</svg>

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

@@ -1,8 +1,68 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3212.7659574468084" height="1212.7659574468084">
<g transform="scale(10.638297872340425) translate(10, 10)">
<defs id="SvgjsDefs1018"></defs><g id="SvgjsG1019" featureKey="root" fill="#ffffff"></g><g id="SvgjsG1020" featureKey="symbol1" fill="#17541f" transform="matrix(0.10341565310955048,0,0,0.10341565310955048,1.2287664639255311,8.34534955983785)"><defs></defs><g><path d="M231 798c-4,-19 -12,-57 -13,-57 -169,-101 -149,-276 -93,-376 12,126 235,213 105,367 -1,2 6,26 12,48 26,-44 65,-97 63,-102 -160,-390 340,-420 444,-662 47,234 -24,596 -426,688 -2,1 -73,126 -76,127 0,-2 -30,-1 -26,-11 2,-6 6,-14 10,-22zm99 -173c-63,-149 122,-313 214,-354 -188,168 -220,293 -214,354zm-104 79c51,-59 -9,-160 -45,-193 61,105 57,166 45,193z" style="fill: #17541f;"></path></g></g><g id="SvgjsG1021" featureKey="text1" fill="#25380f" transform="matrix(3.34075665473938,0,0,3.34075665473938,98.19599170908818,2.9576938247155375)"><path d="M6.5 8.62 q0.02 0.48 0.02 1.09 t-0.02 1.07 q0 0.54 -0.19 1.07 t-0.57 0.95 t-0.95 0.66 t-1.31 0.24 l-1.02 0 l0 5.22 q0 0.28 0.08 0.41 t0.16 0.15 q0.12 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.24 0 q0.1 -0.02 0.2 -0.15 t0.1 -0.41 l0 -12.14 q0 -0.3 -0.1 -0.43 t-0.2 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.48 l2.94 0 q0.74 0 1.31 0.24 t0.95 0.66 t0.57 0.94 t0.19 1.08 z M5.08 8.18 q0 -0.52 -0.17 -0.9 t-0.4 -0.6 t-0.48 -0.35 t-0.43 -0.13 l-1.14 0 l0 6.96 l1.14 0 q0.18 0 0.43 -0.1 t0.48 -0.35 t0.4 -0.61 t0.17 -0.9 l0 -3.02 z M14.58 19.14 q0 0.16 -0.08 0.33 t-0.23 0.32 t-0.38 0.27 t-0.53 0.12 q-0.48 0 -0.86 -0.22 t-0.52 -0.58 q-0.12 -0.2 -0.18 -0.46 q-0.26 0.54 -0.79 0.9 t-1.17 0.36 q-0.8 0 -1.4 -0.58 q-0.34 -0.3 -0.56 -0.78 t-0.26 -1.1 q-0.02 -0.06 -0.02 -0.24 l0 -0.02 q0.02 -0.34 0.12 -0.71 t0.31 -0.74 t0.5 -0.7 t0.63 -0.57 q0.08 -0.04 0.13 -0.09 t0.15 -0.11 l0.06 -0.03 l0.06 -0.03 q0.36 -0.22 0.63 -0.4 t0.49 -0.34 q0.12 -0.08 0.24 -0.18 t0.26 -0.2 q0.18 -0.12 0.34 -0.28 t0.24 -0.38 q0.12 -0.2 0.12 -0.48 t-0.06 -0.5 q-0.08 -0.44 -0.41 -0.76 t-0.73 -0.42 q-0.18 -0.06 -0.34 -0.06 q-0.56 0 -0.96 0.2 q-0.26 0.12 -0.38 0.27 t-0.13 0.28 t0.05 0.21 t0.16 0.12 q0.04 0.02 0.05 0.02 t0.05 0.02 q0.26 0.1 0.43 0.35 t0.17 0.55 q0 0.38 -0.27 0.65 t-0.65 0.27 q-0.4 0 -0.68 -0.27 t-0.28 -0.65 q0 -0.34 0.09 -0.71 t0.27 -0.67 q0.38 -0.56 0.91 -0.81 t1.17 -0.25 q0.48 0 0.95 0.18 t0.84 0.51 t0.62 0.79 t0.25 1.06 l0 5.88 q0 0.36 0.01 0.47 t0.01 0.15 l0 0 q0 0.26 0.16 0.42 t0.38 0.16 q0.26 0 0.42 -0.15 t0.18 -0.39 l0.42 0 z M11.440000000000001 18.64 q0.16 -0.28 0.19 -0.6 t0.03 -0.6 l0 -3.7 q-0.08 0.08 -0.17 0.15 t-0.19 0.17 q-0.58 0.42 -0.99 0.77 t-0.69 0.72 t-0.44 0.79 t-0.2 0.96 l0 0.3 q0.02 0.76 0.41 1.19 t1.11 0.43 q0.32 0 0.58 -0.16 q0.26 -0.18 0.36 -0.42 z M18.32 10.08 q1.14 0.02 1.82 0.69 t0.68 2.13 l0 4.48 q0 1.46 -0.68 2.12 t-1.82 0.7 l-0.06 0 q-0.34 0 -0.62 -0.08 l-0.02 0 q-0.02 0 -0.02 -0.02 q-0.46 -0.16 -0.8 -0.44 l-0.19 -0.19 t-0.15 -0.21 l0 3.32 q0 0.28 0.08 0.41 t0.16 0.17 q0.12 0.06 0.26 0 l0 0.5 l-2.42 0 l0 -0.5 q0.16 0.06 0.24 0 q0.1 -0.04 0.19 -0.17 t0.09 -0.41 l0 -11.28 q0 -0.28 -0.09 -0.41 t-0.19 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.48 l1.92 0 l0 0.78 q0.14 -0.22 0.34 -0.4 q0.34 -0.3 0.8 -0.44 q0 -0.02 0.02 -0.02 l0.02 0 q0.32 -0.08 0.62 -0.08 l0.06 0 z M19.32 12.46 l0 -0.02 q-0.02 -1.02 -0.25 -1.44 t-0.75 -0.46 q-0.36 -0.02 -0.68 0.09 t-0.56 0.37 t-0.4 0.7 t-0.22 1.04 l0 4.8 q0.06 0.62 0.22 1.05 t0.4 0.68 t0.56 0.37 t0.68 0.1 q0.52 -0.04 0.75 -0.46 t0.25 -1.44 l0 -0.02 l0 -5.36 z M24.380000000000003 10.08 q0.46 0 0.94 0.16 t0.86 0.5 t0.61 0.86 t0.23 1.24 l0 2.02 l0 0.06 l0 0.46 l-3.98 0 l0 2.06 q0 1.24 0.43 1.77 t1.07 0.51 q0.38 -0.02 0.75 -0.13 t0.64 -0.37 t0.45 -0.74 t0.18 -1.26 l0.46 0 l0 0.28 q0 0.54 -0.12 1.03 t-0.42 0.85 t-0.77 0.57 t-1.15 0.23 q-0.48 0 -0.98 -0.18 t-0.9 -0.54 t-0.66 -0.85 t-0.26 -1.11 l0 -0.47 t-0.01 -0.77 t-0.01 -0.95 t-0.01 -0.99 t-0.01 -0.87 l0 -0.59 q0 -0.72 0.25 -1.25 t0.62 -0.86 t0.84 -0.5 t0.95 -0.17 z M25.68 14.86 l0 -1.58 q0 -0.76 -0.1 -1.27 t-0.27 -0.82 t-0.41 -0.43 t-0.54 -0.12 q-0.64 0 -0.97 0.56 t-0.33 2.08 l0 1.58 l2.62 0 z M33.54 11.66 q0 0.04 0.02 0.16 t0 0.2 q-0.02 0.42 -0.29 0.69 t-0.65 0.27 q-0.4 0 -0.67 -0.28 t-0.27 -0.68 q0 -0.5 0.38 -0.76 q0.04 -0.02 0.05 -0.03 l0.03 -0.03 q0.14 -0.1 0.18 -0.29 t-0.24 -0.33 q-0.18 -0.1 -0.36 -0.1 q-0.6 -0.04 -1.06 0.36 t-0.62 1.4 l0 6.68 q0 0.28 0.08 0.41 t0.16 0.15 q0.12 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.24 0 q0.1 -0.02 0.2 -0.15 t0.1 -0.41 l0 -7.62 q0 -0.28 -0.1 -0.41 t-0.2 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.5 l1.92 0 l0 0.82 q0.14 -0.22 0.28 -0.41 t0.33 -0.32 t0.44 -0.21 t0.63 -0.08 q0.58 0 1.08 0.42 t0.74 1.22 z M36.24 18.92 q0 0.28 0.09 0.41 t0.17 0.15 q0.1 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.28 0 q0.06 -0.02 0.16 -0.15 t0.1 -0.41 l0 -12.12 q0 -0.3 -0.1 -0.43 t-0.16 -0.17 q-0.12 -0.06 -0.28 0 l0 -0.48 l1.9 0 l0 1.08 l0 12.12 z M40.580000000000005 10.08 q0.46 0 0.94 0.16 t0.86 0.5 t0.61 0.86 t0.23 1.24 l0 2.02 l0 0.06 l0 0.46 l-3.98 0 l0 2.06 q0 1.24 0.43 1.77 t1.07 0.51 q0.38 -0.02 0.75 -0.13 t0.64 -0.37 t0.45 -0.74 t0.18 -1.26 l0.46 0 l0 0.28 q0 0.54 -0.12 1.03 t-0.42 0.85 t-0.77 0.57 t-1.15 0.23 Line truncated
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 3212.8 1212.8" style="enable-background:new 0 0 3212.8 1212.8;" xml:space="preserve">
<style type="text/css">
.st0{fill:#17541F;}
</style>
<path d="M1180.9,847.9v-20.6c-18,20-43.1,30.1-75.4,30.1c-22.4,0-42.8-5.8-61-17.5c-18.3-11.7-32.5-27.8-42.9-48.3
c-10.3-20.5-15.5-43.3-15.5-68.4c0-25.1,5.2-48,15.5-68.5s24.6-36.6,42.9-48.3s38.6-17.5,61-17.5c32.3,0,57.5,10,75.4,30.1v-20.6
h85.3V848L1180.9,847.9L1180.9,847.9z M1184.4,723.1c0-17.4-5.2-31.9-15.5-43.8c-10.3-11.8-23.9-17.7-40.6-17.7
c-16.8,0-30.2,5.9-40.4,17.7c-10.2,11.8-15.3,26.4-15.3,43.8c0,17.4,5.1,31.9,15.3,43.8c10.2,11.8,23.6,17.7,40.4,17.7
s30.3-5.9,40.6-17.7C1179.3,755.1,1184.4,740.5,1184.4,723.1z"/>
<path d="M1543.1,606.4c18.3,11.7,32.5,27.8,42.9,48.3c10.3,20.5,15.5,43.3,15.5,68.5c0,25.1-5.2,48-15.5,68.4
c-10.3,20.5-24.6,36.6-42.9,48.3s-38.6,17.5-61,17.5c-32.3,0-57.5-10-75.4-30.1v165.6h-85.3V598.4h85.3V619
c18-20,43.1-30.1,75.4-30.1C1504.5,588.9,1524.8,594.8,1543.1,606.4z M1514.8,723.1c0-17.4-5.1-31.9-15.3-43.8
c-10.2-11.8-23.6-17.7-40.4-17.7s-30.2,5.9-40.4,17.7c-10.2,11.8-15.3,26.4-15.3,43.8c0,17.4,5.1,31.9,15.3,43.8
c10.2,11.8,23.6,17.7,40.4,17.7s30.2-5.9,40.4-17.7C1509.7,755.1,1514.8,740.5,1514.8,723.1z"/>
<path d="M1838.9,763.5l53,49.4c-28.1,29.6-66.7,44.4-115.8,44.4c-28.1,0-53-5.8-74.5-17.5s-38.2-27.7-49.8-48
c-11.7-20.3-17.7-43.2-18-68.7c0-24.8,5.9-47.5,17.7-68c11.8-20.5,28.1-36.7,48.7-48.5s43.5-17.7,68.7-17.7
c24.8,0,47.6,6.1,68.2,18.2c20.6,12.1,37,29.5,49.1,52.3c12.1,22.7,18.2,49.1,18.2,79l-0.4,11.7h-181.8
c3.6,11.4,10.5,20.7,20.9,28.1c10.3,7.3,21.3,11,33,11c14.4,0,26.3-2.2,35.7-6.5C1821.1,778.3,1830.2,771.9,1838.9,763.5z
M1722.2,694.4h92.9c-2.1-12.3-7.5-22.1-16.2-29.4c-8.7-7.3-18.7-11-30.1-11s-21.5,3.7-30.3,11S1724.3,682.1,1722.2,694.4z"/>
<path d="M2034.1,626.6c7.8-10.8,17.2-19,28.3-24.7s22-8.5,32.8-8.5c11.4,0,20,1.6,26,4.9l-10.8,72.7c-8.4-2.1-15.7-3.1-22-3.1
c-17.1,0-30.4,4.3-39.9,12.8c-9.6,8.5-14.4,24.2-14.4,46.9v120.3h-85.3V598.4h85.3V626.6L2034.1,626.6z"/>
<path d="M2238.3,466.4v381.5H2153V466.4H2238.3z"/>
<path d="M2486.1,763.5l53,49.4c-28.1,29.6-66.7,44.4-115.8,44.4c-28.1,0-53-5.8-74.5-17.5s-38.2-27.7-49.8-48
c-11.7-20.3-17.7-43.2-18-68.7c0-24.8,5.9-47.5,17.7-68s28.1-36.7,48.7-48.5c20.6-11.8,43.5-17.7,68.7-17.7
c24.8,0,47.6,6.1,68.2,18.2c20.6,12.1,37,29.5,49.1,52.3c12.1,22.7,18.2,49.1,18.2,79l-0.4,11.7h-181.8
c3.6,11.4,10.5,20.7,20.9,28.1c10.3,7.3,21.3,11,33,11c14.4,0,26.3-2.2,35.7-6.5C2468.4,778.3,2477.4,771.9,2486.1,763.5z
M2369.4,694.4h92.9c-2.1-12.3-7.5-22.1-16.2-29.4c-8.7-7.3-18.7-11-30.1-11s-21.5,3.7-30.3,11
C2377,672.3,2371.5,682.1,2369.4,694.4z"/>
<path d="M2691.2,654.5c-9.9,0-17.1,1.1-21.5,3.4c-4.5,2.2-6.7,5.9-6.7,11s3.4,8.8,10.3,11.2c6.9,2.4,18,4.9,33.2,7.6
c20,3,37,6.7,50.9,11.2s26,12.1,36.1,22.9c10.2,10.8,15.3,25.9,15.3,45.3c0,29.9-10.9,52.4-32.8,67.6
c-21.8,15.1-50.3,22.7-85.3,22.7c-25.7,0-49.5-3.7-71.4-11c-21.8-7.3-37.4-14.7-46.7-22.2l33.7-60.6c10.2,9,23.4,15.8,39.7,20.4
c16.3,4.6,31.3,7,45.1,7c19.7,0,29.6-5.2,29.6-15.7c0-5.4-3.3-9.4-9.9-11.9c-6.6-2.5-17.2-5.2-31.9-7.9c-18.9-3.3-34.9-7.2-48-11.7
c-13.2-4.5-24.6-12.2-34.3-23.1c-9.7-10.9-14.6-26-14.6-45.1c0-27.2,9.7-48.5,29-63.7c19.3-15.3,46-22.9,80.1-22.9
c23.3,0,44.4,3.6,63.3,10.8c18.9,7.2,34,14.5,45.3,22l-32.8,58.8c-10.8-7.5-23.2-13.7-37.3-18.6
C2715.8,656.9,2702.9,654.5,2691.2,654.5z"/>
<path d="M2942.6,654.5c-9.9,0-17.1,1.1-21.5,3.4c-4.5,2.2-6.7,5.9-6.7,11s3.4,8.8,10.3,11.2c6.9,2.4,18,4.9,33.2,7.6
c20,3,37,6.7,50.9,11.2s26,12.1,36.1,22.9c10.2,10.8,15.3,25.9,15.3,45.3c0,29.9-10.9,52.4-32.8,67.6
c-21.8,15.1-50.3,22.7-85.3,22.7c-25.7,0-49.5-3.7-71.4-11c-21.8-7.3-37.4-14.7-46.7-22.2l33.7-60.6c10.2,9,23.4,15.8,39.7,20.4
c16.3,4.6,31.3,7,45.1,7c19.8,0,29.6-5.2,29.6-15.7c0-5.4-3.3-9.4-9.9-11.9c-6.6-2.5-17.2-5.2-31.9-7.9c-18.9-3.3-34.9-7.2-48-11.7
c-13.2-4.5-24.6-12.2-34.3-23.1s-14.6-26-14.6-45.1c0-27.2,9.7-48.5,29-63.7c19.3-15.3,46-22.9,80.1-22.9c23.3,0,44.4,3.6,63.3,10.8
c18.9,7.2,34,14.5,45.3,22l-32.8,58.8c-10.8-7.5-23.2-13.7-37.3-18.6C2967.1,656.9,2954.2,654.5,2942.6,654.5z"/>
<g>
<path d="M2633.3,932.2h60.2v17.3h-60.2V932.2z"/>
<path d="M2754.5,902.6c4.9-2,10.2-3.1,16-3.1c10.9,0,19.5,3.4,25.9,10.2s9.6,16.7,9.6,29.6v57.3h-19.6V944c0-9.3-1.7-16.2-5.1-20.7
c-3.4-4.5-9.1-6.7-17-6.7c-6.5,0-11.8,2.4-16.1,7.1c-4.3,4.8-6.4,11.5-6.4,20.2v52.6h-19.6v-94.6h19.6v9.5
C2745.5,907.6,2749.7,904.6,2754.5,902.6z"/>
<path d="M2915.6,1041.4c-8.6,6.8-19.4,10.2-32.3,10.2c-7.9,0-15.2-1.4-21.9-4.1s-12.1-6.8-16.3-12.2c-4.2-5.4-6.6-11.9-7.1-19.6
h19.6c0.7,6.1,3.5,10.8,8.4,13.9c4.9,3.2,10.7,4.8,17.4,4.8c7,0,13.1-2,18.2-6c5.1-4,7.7-10.3,7.7-18.9v-24.7
c-3.6,3.4-8,6.2-13.3,8.2c-5.2,2.1-10.7,3.1-16.3,3.1c-8.7,0-16.6-2.1-23.7-6.4c-7.1-4.3-12.6-10-16.7-17.3c-4-7.3-6-15.5-6-24.6
s2-17.3,6-24.7s9.6-13.2,16.7-17.4c7.1-4.3,15-6.4,23.7-6.4c5.7,0,11.1,1,16.3,3.1s9.6,4.8,13.3,8.2v-8.8h19.4v107.8
C2928.5,1024.1,2924.2,1034.6,2915.6,1041.4z M2907.5,963.9c2.6-4.7,3.8-10,3.8-15.9s-1.3-11.2-3.8-16c-2.6-4.8-6.1-8.5-10.5-11.1
c-4.5-2.7-9.5-4-15.1-4c-5.8,0-10.9,1.4-15.4,4.3c-4.5,2.8-7.9,6.6-10.3,11.4c-2.4,4.8-3.6,9.9-3.6,15.5c0,5.4,1.2,10.5,3.6,15.3
c2.4,4.8,5.8,8.6,10.3,11.5s9.6,4.3,15.4,4.3c5.6,0,10.6-1.4,15.1-4.1C2901.4,972.3,2904.9,968.6,2907.5,963.9z"/>
<path d="M2968.8,996.6h-21.6l37.9-48l-36.4-46.6h22.6l25.7,33.3l25.8-33.3h21.6l-36.2,45.9l37.9,48.6h-22.6l-27.4-35L2968.8,996.6z
"/>
</g>
<path d="M961.1,527.4c-11.5-18.9-27.4-33.7-47.6-44.7c-20.2-10.9-43-16.4-68.5-16.4h-90.6c-8.6,39.6-21.3,77.2-38,112.4
c-10,21-21.3,41-33.9,59.9v209.2h89.8v-135H845c25.4,0,48.3-5.5,68.5-16.4s36.1-25.8,47.6-44.7s17.3-39.5,17.3-61.9
C978.4,567.1,972.7,546.3,961.1,527.4z M872.3,624.8c-9.4,9-21.8,13.5-37,13.5l-62.8,0.4v-93.4l62.8-0.4c15.3,0,27.6,4.5,37,13.5
s14.1,20,14.1,33.2C886.4,604.8,881.7,615.9,872.3,624.8z"/>
<path class="st0" d="M290,906.9c-3.5-16.5-10.4-49.6-11.3-49.6c-147.1-88-129.7-240.3-81-327.4c10.4,109.7,204.6,185.4,91.4,319.5
c-0.9,1.7,5.2,22.6,10.4,41.8c22.6-38.3,56.6-84.4,54.8-88.8C215,462.9,650.3,436.8,740.8,226.1c40.9,203.7-20.9,518.9-370.8,599
c-1.7,0.9-63.5,109.7-66.2,110.6c0-1.7-26.1-0.9-22.6-9.6C283.1,920.8,286.5,913.9,290,906.9L290,906.9z M285.7,825.1
c44.4-51.4-7.8-139.3-39.2-168C299.6,748.4,296.1,801.5,285.7,825.1L285.7,825.1z"/>
</svg>

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

@@ -1,8 +1,70 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3212.7659574468084" height="1212.7659574468084">
<rect fill="#ffffff" width="3212.7659574468084" height="1212.7659574468084"/>
<g transform="scale(10.638297872340425) translate(10, 10)">
<defs id="SvgjsDefs1018"></defs><g id="SvgjsG1019" featureKey="root" fill="#ffffff"></g><g id="SvgjsG1020" featureKey="symbol1" fill="#17541f" transform="matrix(0.10341565310955048,0,0,0.10341565310955048,1.2287664639255311,8.34534955983785)"><defs></defs><g><path d="M231 798c-4,-19 -12,-57 -13,-57 -169,-101 -149,-276 -93,-376 12,126 235,213 105,367 -1,2 6,26 12,48 26,-44 65,-97 63,-102 -160,-390 340,-420 444,-662 47,234 -24,596 -426,688 -2,1 -73,126 -76,127 0,-2 -30,-1 -26,-11 2,-6 6,-14 10,-22zm99 -173c-63,-149 122,-313 214,-354 -188,168 -220,293 -214,354zm-104 79c51,-59 -9,-160 -45,-193 61,105 57,166 45,193z" style="fill: #17541f;"></path></g></g><g id="SvgjsG1021" featureKey="text1" fill="#25380f" transform="matrix(3.34075665473938,0,0,3.34075665473938,98.19599170908818,2.9576938247155375)"><path d="M6.5 8.62 q0.02 0.48 0.02 1.09 t-0.02 1.07 q0 0.54 -0.19 1.07 t-0.57 0.95 t-0.95 0.66 t-1.31 0.24 l-1.02 0 l0 5.22 q0 0.28 0.08 0.41 t0.16 0.15 q0.12 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.24 0 q0.1 -0.02 0.2 -0.15 t0.1 -0.41 l0 -12.14 q0 -0.3 -0.1 -0.43 t-0.2 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.48 l2.94 0 q0.74 0 1.31 0.24 t0.95 0.66 t0.57 0.94 t0.19 1.08 z M5.08 8.18 q0 -0.52 -0.17 -0.9 t-0.4 -0.6 t-0.48 -0.35 t-0.43 -0.13 l-1.14 0 l0 6.96 l1.14 0 q0.18 0 0.43 -0.1 t0.48 -0.35 t0.4 -0.61 t0.17 -0.9 l0 -3.02 z M14.58 19.14 q0 0.16 -0.08 0.33 t-0.23 0.32 t-0.38 0.27 t-0.53 0.12 q-0.48 0 -0.86 -0.22 t-0.52 -0.58 q-0.12 -0.2 -0.18 -0.46 q-0.26 0.54 -0.79 0.9 t-1.17 0.36 q-0.8 0 -1.4 -0.58 q-0.34 -0.3 -0.56 -0.78 t-0.26 -1.1 q-0.02 -0.06 -0.02 -0.24 l0 -0.02 q0.02 -0.34 0.12 -0.71 t0.31 -0.74 t0.5 -0.7 t0.63 -0.57 q0.08 -0.04 0.13 -0.09 t0.15 -0.11 l0.06 -0.03 l0.06 -0.03 q0.36 -0.22 0.63 -0.4 t0.49 -0.34 q0.12 -0.08 0.24 -0.18 t0.26 -0.2 q0.18 -0.12 0.34 -0.28 t0.24 -0.38 q0.12 -0.2 0.12 -0.48 t-0.06 -0.5 q-0.08 -0.44 -0.41 -0.76 t-0.73 -0.42 q-0.18 -0.06 -0.34 -0.06 q-0.56 0 -0.96 0.2 q-0.26 0.12 -0.38 0.27 t-0.13 0.28 t0.05 0.21 t0.16 0.12 q0.04 0.02 0.05 0.02 t0.05 0.02 q0.26 0.1 0.43 0.35 t0.17 0.55 q0 0.38 -0.27 0.65 t-0.65 0.27 q-0.4 0 -0.68 -0.27 t-0.28 -0.65 q0 -0.34 0.09 -0.71 t0.27 -0.67 q0.38 -0.56 0.91 -0.81 t1.17 -0.25 q0.48 0 0.95 0.18 t0.84 0.51 t0.62 0.79 t0.25 1.06 l0 5.88 q0 0.36 0.01 0.47 t0.01 0.15 l0 0 q0 0.26 0.16 0.42 t0.38 0.16 q0.26 0 0.42 -0.15 t0.18 -0.39 l0.42 0 z M11.440000000000001 18.64 q0.16 -0.28 0.19 -0.6 t0.03 -0.6 l0 -3.7 q-0.08 0.08 -0.17 0.15 t-0.19 0.17 q-0.58 0.42 -0.99 0.77 t-0.69 0.72 t-0.44 0.79 t-0.2 0.96 l0 0.3 q0.02 0.76 0.41 1.19 t1.11 0.43 q0.32 0 0.58 -0.16 q0.26 -0.18 0.36 -0.42 z M18.32 10.08 q1.14 0.02 1.82 0.69 t0.68 2.13 l0 4.48 q0 1.46 -0.68 2.12 t-1.82 0.7 l-0.06 0 q-0.34 0 -0.62 -0.08 l-0.02 0 q-0.02 0 -0.02 -0.02 q-0.46 -0.16 -0.8 -0.44 l-0.19 -0.19 t-0.15 -0.21 l0 3.32 q0 0.28 0.08 0.41 t0.16 0.17 q0.12 0.06 0.26 0 l0 0.5 l-2.42 0 l0 -0.5 q0.16 0.06 0.24 0 q0.1 -0.04 0.19 -0.17 t0.09 -0.41 l0 -11.28 q0 -0.28 -0.09 -0.41 t-0.19 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.48 l1.92 0 l0 0.78 q0.14 -0.22 0.34 -0.4 q0.34 -0.3 0.8 -0.44 q0 -0.02 0.02 -0.02 l0.02 0 q0.32 -0.08 0.62 -0.08 l0.06 0 z M19.32 12.46 l0 -0.02 q-0.02 -1.02 -0.25 -1.44 t-0.75 -0.46 q-0.36 -0.02 -0.68 0.09 t-0.56 0.37 t-0.4 0.7 t-0.22 1.04 l0 4.8 q0.06 0.62 0.22 1.05 t0.4 0.68 t0.56 0.37 t0.68 0.1 q0.52 -0.04 0.75 -0.46 t0.25 -1.44 l0 -0.02 l0 -5.36 z M24.380000000000003 10.08 q0.46 0 0.94 0.16 t0.86 0.5 t0.61 0.86 t0.23 1.24 l0 2.02 l0 0.06 l0 0.46 l-3.98 0 l0 2.06 q0 1.24 0.43 1.77 t1.07 0.51 q0.38 -0.02 0.75 -0.13 t0.64 -0.37 t0.45 -0.74 t0.18 -1.26 l0.46 0 l0 0.28 q0 0.54 -0.12 1.03 t-0.42 0.85 t-0.77 0.57 t-1.15 0.23 q-0.48 0 -0.98 -0.18 t-0.9 -0.54 t-0.66 -0.85 t-0.26 -1.11 l0 -0.47 t-0.01 -0.77 t-0.01 -0.95 t-0.01 -0.99 t-0.01 -0.87 l0 -0.59 q0 -0.72 0.25 -1.25 t0.62 -0.86 t0.84 -0.5 t0.95 -0.17 z M25.68 14.86 l0 -1.58 q0 -0.76 -0.1 -1.27 t-0.27 -0.82 t-0.41 -0.43 t-0.54 -0.12 q-0.64 0 -0.97 0.56 t-0.33 2.08 l0 1.58 l2.62 0 z M33.54 11.66 q0 0.04 0.02 0.16 t0 0.2 q-0.02 0.42 -0.29 0.69 t-0.65 0.27 q-0.4 0 -0.67 -0.28 t-0.27 -0.68 q0 -0.5 0.38 -0.76 q0.04 -0.02 0.05 -0.03 l0.03 -0.03 q0.14 -0.1 0.18 -0.29 t-0.24 -0.33 q-0.18 -0.1 -0.36 -0.1 q-0.6 -0.04 -1.06 0.36 t-0.62 1.4 l0 6.68 q0 0.28 0.08 0.41 t0.16 0.15 q0.12 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.24 0 q0.1 -0.02 0.2 -0.15 t0.1 -0.41 l0 -7.62 q0 -0.28 -0.1 -0.41 t-0.2 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.5 l1.92 0 l0 0.82 q0.14 -0.22 0.28 -0.41 t0.33 -0.32 t0.44 -0.21 t0.63 -0.08 q0.58 0 1.08 0.42 t0.74 1.22 z M36.24 18.92 q0 0.28 0.09 0.41 t0.17 0.15 q0.1 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.28 0 q0.06 -0.02 0.16 -0.15 t0.1 -0.41 l0 -12.12 q0 -0.3 -0.1 -0.43 t-0.16 -0.17 q-0.12 -0.06 -0.28 0 l0 -0.48 l1.9 0 l0 1.08 l0 12.12 z M40.580000000000005 10.08 q0.46 0 0.94 0.16 t0.86 0.5 t0.61 0.86 t0.23 1.24 l0 2.02 l0 0.06 l0 0.46 l-3.98 0 l0 2.06 q0 1.24 0.43 1.77 t1.07 0.51 q0.38 -0.02 0.75 -0.13 t0.64 -0.37 t0.45 -0.74 t0.18 -1.26 l0.46 0 l0 0.28 q0 0.54 -0.12 1.03 t-0.42 0.85 t-0.77 0.57 t-1.15 0.23 Line truncated
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 3212.8 1212.8" style="enable-background:new 0 0 3212.8 1212.8;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#17541F;}
</style>
<rect class="st0" width="3212.8" height="1212.8"/>
<path d="M1180.9,847.9v-20.6c-18,20-43.1,30.1-75.4,30.1c-22.4,0-42.8-5.8-61-17.5c-18.3-11.7-32.5-27.8-42.9-48.3
c-10.3-20.5-15.5-43.3-15.5-68.4c0-25.1,5.2-48,15.5-68.5s24.6-36.6,42.9-48.3s38.6-17.5,61-17.5c32.3,0,57.5,10,75.4,30.1v-20.6
h85.3V848L1180.9,847.9L1180.9,847.9z M1184.4,723.1c0-17.4-5.2-31.9-15.5-43.8c-10.3-11.8-23.9-17.7-40.6-17.7
c-16.8,0-30.2,5.9-40.4,17.7c-10.2,11.8-15.3,26.4-15.3,43.8c0,17.4,5.1,31.9,15.3,43.8c10.2,11.8,23.6,17.7,40.4,17.7
s30.3-5.9,40.6-17.7C1179.3,755.1,1184.4,740.5,1184.4,723.1z"/>
<path d="M1543.1,606.4c18.3,11.7,32.5,27.8,42.9,48.3c10.3,20.5,15.5,43.3,15.5,68.5c0,25.1-5.2,48-15.5,68.4
c-10.3,20.5-24.6,36.6-42.9,48.3s-38.6,17.5-61,17.5c-32.3,0-57.5-10-75.4-30.1v165.6h-85.3V598.4h85.3V619
c18-20,43.1-30.1,75.4-30.1C1504.5,588.9,1524.8,594.8,1543.1,606.4z M1514.8,723.1c0-17.4-5.1-31.9-15.3-43.8
c-10.2-11.8-23.6-17.7-40.4-17.7s-30.2,5.9-40.4,17.7c-10.2,11.8-15.3,26.4-15.3,43.8c0,17.4,5.1,31.9,15.3,43.8
c10.2,11.8,23.6,17.7,40.4,17.7s30.2-5.9,40.4-17.7C1509.7,755.1,1514.8,740.5,1514.8,723.1z"/>
<path d="M1838.9,763.5l53,49.4c-28.1,29.6-66.7,44.4-115.8,44.4c-28.1,0-53-5.8-74.5-17.5s-38.2-27.7-49.8-48
c-11.7-20.3-17.7-43.2-18-68.7c0-24.8,5.9-47.5,17.7-68c11.8-20.5,28.1-36.7,48.7-48.5s43.5-17.7,68.7-17.7
c24.8,0,47.6,6.1,68.2,18.2c20.6,12.1,37,29.5,49.1,52.3c12.1,22.7,18.2,49.1,18.2,79l-0.4,11.7h-181.8
c3.6,11.4,10.5,20.7,20.9,28.1c10.3,7.3,21.3,11,33,11c14.4,0,26.3-2.2,35.7-6.5C1821.1,778.3,1830.2,771.9,1838.9,763.5z
M1722.2,694.4h92.9c-2.1-12.3-7.5-22.1-16.2-29.4c-8.7-7.3-18.7-11-30.1-11s-21.5,3.7-30.3,11S1724.3,682.1,1722.2,694.4z"/>
<path d="M2034.1,626.6c7.8-10.8,17.2-19,28.3-24.7s22-8.5,32.8-8.5c11.4,0,20,1.6,26,4.9l-10.8,72.7c-8.4-2.1-15.7-3.1-22-3.1
c-17.1,0-30.4,4.3-39.9,12.8c-9.6,8.5-14.4,24.2-14.4,46.9v120.3h-85.3V598.4h85.3V626.6L2034.1,626.6z"/>
<path d="M2238.3,466.4v381.5H2153V466.4H2238.3z"/>
<path d="M2486.1,763.5l53,49.4c-28.1,29.6-66.7,44.4-115.8,44.4c-28.1,0-53-5.8-74.5-17.5s-38.2-27.7-49.8-48
c-11.7-20.3-17.7-43.2-18-68.7c0-24.8,5.9-47.5,17.7-68s28.1-36.7,48.7-48.5c20.6-11.8,43.5-17.7,68.7-17.7
c24.8,0,47.6,6.1,68.2,18.2c20.6,12.1,37,29.5,49.1,52.3c12.1,22.7,18.2,49.1,18.2,79l-0.4,11.7h-181.8
c3.6,11.4,10.5,20.7,20.9,28.1c10.3,7.3,21.3,11,33,11c14.4,0,26.3-2.2,35.7-6.5C2468.4,778.3,2477.4,771.9,2486.1,763.5z
M2369.4,694.4h92.9c-2.1-12.3-7.5-22.1-16.2-29.4c-8.7-7.3-18.7-11-30.1-11s-21.5,3.7-30.3,11
C2377,672.3,2371.5,682.1,2369.4,694.4z"/>
<path d="M2691.2,654.5c-9.9,0-17.1,1.1-21.5,3.4c-4.5,2.2-6.7,5.9-6.7,11s3.4,8.8,10.3,11.2c6.9,2.4,18,4.9,33.2,7.6
c20,3,37,6.7,50.9,11.2s26,12.1,36.1,22.9c10.2,10.8,15.3,25.9,15.3,45.3c0,29.9-10.9,52.4-32.8,67.6
c-21.8,15.1-50.3,22.7-85.3,22.7c-25.7,0-49.5-3.7-71.4-11c-21.8-7.3-37.4-14.7-46.7-22.2l33.7-60.6c10.2,9,23.4,15.8,39.7,20.4
c16.3,4.6,31.3,7,45.1,7c19.7,0,29.6-5.2,29.6-15.7c0-5.4-3.3-9.4-9.9-11.9c-6.6-2.5-17.2-5.2-31.9-7.9c-18.9-3.3-34.9-7.2-48-11.7
c-13.2-4.5-24.6-12.2-34.3-23.1c-9.7-10.9-14.6-26-14.6-45.1c0-27.2,9.7-48.5,29-63.7c19.3-15.3,46-22.9,80.1-22.9
c23.3,0,44.4,3.6,63.3,10.8c18.9,7.2,34,14.5,45.3,22l-32.8,58.8c-10.8-7.5-23.2-13.7-37.3-18.6
C2715.8,656.9,2702.9,654.5,2691.2,654.5z"/>
<path d="M2942.6,654.5c-9.9,0-17.1,1.1-21.5,3.4c-4.5,2.2-6.7,5.9-6.7,11s3.4,8.8,10.3,11.2c6.9,2.4,18,4.9,33.2,7.6
c20,3,37,6.7,50.9,11.2s26,12.1,36.1,22.9c10.2,10.8,15.3,25.9,15.3,45.3c0,29.9-10.9,52.4-32.8,67.6
c-21.8,15.1-50.3,22.7-85.3,22.7c-25.7,0-49.5-3.7-71.4-11c-21.8-7.3-37.4-14.7-46.7-22.2l33.7-60.6c10.2,9,23.4,15.8,39.7,20.4
c16.3,4.6,31.3,7,45.1,7c19.8,0,29.6-5.2,29.6-15.7c0-5.4-3.3-9.4-9.9-11.9c-6.6-2.5-17.2-5.2-31.9-7.9c-18.9-3.3-34.9-7.2-48-11.7
c-13.2-4.5-24.6-12.2-34.3-23.1s-14.6-26-14.6-45.1c0-27.2,9.7-48.5,29-63.7c19.3-15.3,46-22.9,80.1-22.9c23.3,0,44.4,3.6,63.3,10.8
c18.9,7.2,34,14.5,45.3,22l-32.8,58.8c-10.8-7.5-23.2-13.7-37.3-18.6C2967.1,656.9,2954.2,654.5,2942.6,654.5z"/>
<g>
<path d="M2633.3,932.2h60.2v17.3h-60.2V932.2z"/>
<path d="M2754.5,902.6c4.9-2,10.2-3.1,16-3.1c10.9,0,19.5,3.4,25.9,10.2s9.6,16.7,9.6,29.6v57.3h-19.6V944c0-9.3-1.7-16.2-5.1-20.7
c-3.4-4.5-9.1-6.7-17-6.7c-6.5,0-11.8,2.4-16.1,7.1c-4.3,4.8-6.4,11.5-6.4,20.2v52.6h-19.6v-94.6h19.6v9.5
C2745.5,907.6,2749.7,904.6,2754.5,902.6z"/>
<path d="M2915.6,1041.4c-8.6,6.8-19.4,10.2-32.3,10.2c-7.9,0-15.2-1.4-21.9-4.1s-12.1-6.8-16.3-12.2c-4.2-5.4-6.6-11.9-7.1-19.6
h19.6c0.7,6.1,3.5,10.8,8.4,13.9c4.9,3.2,10.7,4.8,17.4,4.8c7,0,13.1-2,18.2-6c5.1-4,7.7-10.3,7.7-18.9v-24.7
c-3.6,3.4-8,6.2-13.3,8.2c-5.2,2.1-10.7,3.1-16.3,3.1c-8.7,0-16.6-2.1-23.7-6.4c-7.1-4.3-12.6-10-16.7-17.3c-4-7.3-6-15.5-6-24.6
s2-17.3,6-24.7s9.6-13.2,16.7-17.4c7.1-4.3,15-6.4,23.7-6.4c5.7,0,11.1,1,16.3,3.1s9.6,4.8,13.3,8.2v-8.8h19.4v107.8
C2928.5,1024.1,2924.2,1034.6,2915.6,1041.4z M2907.5,963.9c2.6-4.7,3.8-10,3.8-15.9s-1.3-11.2-3.8-16c-2.6-4.8-6.1-8.5-10.5-11.1
c-4.5-2.7-9.5-4-15.1-4c-5.8,0-10.9,1.4-15.4,4.3c-4.5,2.8-7.9,6.6-10.3,11.4c-2.4,4.8-3.6,9.9-3.6,15.5c0,5.4,1.2,10.5,3.6,15.3
c2.4,4.8,5.8,8.6,10.3,11.5s9.6,4.3,15.4,4.3c5.6,0,10.6-1.4,15.1-4.1C2901.4,972.3,2904.9,968.6,2907.5,963.9z"/>
<path d="M2968.8,996.6h-21.6l37.9-48l-36.4-46.6h22.6l25.7,33.3l25.8-33.3h21.6l-36.2,45.9l37.9,48.6h-22.6l-27.4-35L2968.8,996.6z
"/>
</g>
<path d="M961.1,527.4c-11.5-18.9-27.4-33.7-47.6-44.7c-20.2-10.9-43-16.4-68.5-16.4h-90.6c-8.6,39.6-21.3,77.2-38,112.4
c-10,21-21.3,41-33.9,59.9v209.2h89.8v-135H845c25.4,0,48.3-5.5,68.5-16.4s36.1-25.8,47.6-44.7s17.3-39.5,17.3-61.9
C978.4,567.1,972.7,546.3,961.1,527.4z M872.3,624.8c-9.4,9-21.8,13.5-37,13.5l-62.8,0.4v-93.4l62.8-0.4c15.3,0,27.6,4.5,37,13.5
s14.1,20,14.1,33.2C886.4,604.8,881.7,615.9,872.3,624.8z"/>
<path class="st1" d="M290,906.9c-3.5-16.5-10.4-49.6-11.3-49.6c-147.1-88-129.7-240.3-81-327.4c10.4,109.7,204.6,185.4,91.4,319.5
c-0.9,1.7,5.2,22.6,10.4,41.8c22.6-38.3,56.6-84.4,54.8-88.8C215,462.9,650.3,436.8,740.8,226.1c40.9,203.7-20.9,518.9-370.8,599
c-1.7,0.9-63.5,109.7-66.2,110.6c0-1.7-26.1-0.9-22.6-9.6C283.1,920.8,286.5,913.9,290,906.9L290,906.9z M285.7,825.1
c44.4-51.4-7.8-139.3-39.2-168C299.6,748.4,296.1,801.5,285.7,825.1L285.7,825.1z"/>
</svg>

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

@@ -1,8 +1,70 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="3212.7659574468084" height="1212.7659574468084">
<g transform="scale(10.638297872340425) translate(10, 10)">
<defs id="SvgjsDefs1018"/><g id="SvgjsG1019" featureKey="root" fill="#fff"/><g id="SvgjsG1020" featureKey="symbol1" fill="#fff" transform="matrix(0.10341565310955048,0,0,0.10341565310955048,1.2287664639255311,8.34534955983785)"><defs/><g><path d="M231 798c-4,-19 -12,-57 -13,-57 -169,-101 -149,-276 -93,-376 12,126 235,213 105,367 -1,2 6,26 12,48 26,-44 65,-97 63,-102 -160,-390 340,-420 444,-662 47,234 -24,596 -426,688 -2,1 -73,126 -76,127 0,-2 -30,-1 -26,-11 2,-6 6,-14 10,-22zm99 -173c-63,-149 122,-313 214,-354 -188,168 -220,293 -214,354zm-104 79c51,-59 -9,-160 -45,-193 61,105 57,166 45,193z" style="fill: #17541f;"/></g></g><g id="SvgjsG1021" featureKey="text1" fill="#fff" transform="matrix(3.34075665473938,0,0,3.34075665473938,98.19599170908818,2.9576938247155375)"><path d="M6.5 8.62 q0.02 0.48 0.02 1.09 t-0.02 1.07 q0 0.54 -0.19 1.07 t-0.57 0.95 t-0.95 0.66 t-1.31 0.24 l-1.02 0 l0 5.22 q0 0.28 0.08 0.41 t0.16 0.15 q0.12 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.24 0 q0.1 -0.02 0.2 -0.15 t0.1 -0.41 l0 -12.14 q0 -0.3 -0.1 -0.43 t-0.2 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.48 l2.94 0 q0.74 0 1.31 0.24 t0.95 0.66 t0.57 0.94 t0.19 1.08 z M5.08 8.18 q0 -0.52 -0.17 -0.9 t-0.4 -0.6 t-0.48 -0.35 t-0.43 -0.13 l-1.14 0 l0 6.96 l1.14 0 q0.18 0 0.43 -0.1 t0.48 -0.35 t0.4 -0.61 t0.17 -0.9 l0 -3.02 z M14.58 19.14 q0 0.16 -0.08 0.33 t-0.23 0.32 t-0.38 0.27 t-0.53 0.12 q-0.48 0 -0.86 -0.22 t-0.52 -0.58 q-0.12 -0.2 -0.18 -0.46 q-0.26 0.54 -0.79 0.9 t-1.17 0.36 q-0.8 0 -1.4 -0.58 q-0.34 -0.3 -0.56 -0.78 t-0.26 -1.1 q-0.02 -0.06 -0.02 -0.24 l0 -0.02 q0.02 -0.34 0.12 -0.71 t0.31 -0.74 t0.5 -0.7 t0.63 -0.57 q0.08 -0.04 0.13 -0.09 t0.15 -0.11 l0.06 -0.03 l0.06 -0.03 q0.36 -0.22 0.63 -0.4 t0.49 -0.34 q0.12 -0.08 0.24 -0.18 t0.26 -0.2 q0.18 -0.12 0.34 -0.28 t0.24 -0.38 q0.12 -0.2 0.12 -0.48 t-0.06 -0.5 q-0.08 -0.44 -0.41 -0.76 t-0.73 -0.42 q-0.18 -0.06 -0.34 -0.06 q-0.56 0 -0.96 0.2 q-0.26 0.12 -0.38 0.27 t-0.13 0.28 t0.05 0.21 t0.16 0.12 q0.04 0.02 0.05 0.02 t0.05 0.02 q0.26 0.1 0.43 0.35 t0.17 0.55 q0 0.38 -0.27 0.65 t-0.65 0.27 q-0.4 0 -0.68 -0.27 t-0.28 -0.65 q0 -0.34 0.09 -0.71 t0.27 -0.67 q0.38 -0.56 0.91 -0.81 t1.17 -0.25 q0.48 0 0.95 0.18 t0.84 0.51 t0.62 0.79 t0.25 1.06 l0 5.88 q0 0.36 0.01 0.47 t0.01 0.15 l0 0 q0 0.26 0.16 0.42 t0.38 0.16 q0.26 0 0.42 -0.15 t0.18 -0.39 l0.42 0 z M11.440000000000001 18.64 q0.16 -0.28 0.19 -0.6 t0.03 -0.6 l0 -3.7 q-0.08 0.08 -0.17 0.15 t-0.19 0.17 q-0.58 0.42 -0.99 0.77 t-0.69 0.72 t-0.44 0.79 t-0.2 0.96 l0 0.3 q0.02 0.76 0.41 1.19 t1.11 0.43 q0.32 0 0.58 -0.16 q0.26 -0.18 0.36 -0.42 z M18.32 10.08 q1.14 0.02 1.82 0.69 t0.68 2.13 l0 4.48 q0 1.46 -0.68 2.12 t-1.82 0.7 l-0.06 0 q-0.34 0 -0.62 -0.08 l-0.02 0 q-0.02 0 -0.02 -0.02 q-0.46 -0.16 -0.8 -0.44 l-0.19 -0.19 t-0.15 -0.21 l0 3.32 q0 0.28 0.08 0.41 t0.16 0.17 q0.12 0.06 0.26 0 l0 0.5 l-2.42 0 l0 -0.5 q0.16 0.06 0.24 0 q0.1 -0.04 0.19 -0.17 t0.09 -0.41 l0 -11.28 q0 -0.28 -0.09 -0.41 t-0.19 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.48 l1.92 0 l0 0.78 q0.14 -0.22 0.34 -0.4 q0.34 -0.3 0.8 -0.44 q0 -0.02 0.02 -0.02 l0.02 0 q0.32 -0.08 0.62 -0.08 l0.06 0 z M19.32 12.46 l0 -0.02 q-0.02 -1.02 -0.25 -1.44 t-0.75 -0.46 q-0.36 -0.02 -0.68 0.09 t-0.56 0.37 t-0.4 0.7 t-0.22 1.04 l0 4.8 q0.06 0.62 0.22 1.05 t0.4 0.68 t0.56 0.37 t0.68 0.1 q0.52 -0.04 0.75 -0.46 t0.25 -1.44 l0 -0.02 l0 -5.36 z M24.380000000000003 10.08 q0.46 0 0.94 0.16 t0.86 0.5 t0.61 0.86 t0.23 1.24 l0 2.02 l0 0.06 l0 0.46 l-3.98 0 l0 2.06 q0 1.24 0.43 1.77 t1.07 0.51 q0.38 -0.02 0.75 -0.13 t0.64 -0.37 t0.45 -0.74 t0.18 -1.26 l0.46 0 l0 0.28 q0 0.54 -0.12 1.03 t-0.42 0.85 t-0.77 0.57 t-1.15 0.23 q-0.48 0 -0.98 -0.18 t-0.9 -0.54 t-0.66 -0.85 t-0.26 -1.11 l0 -0.47 t-0.01 -0.77 t-0.01 -0.95 t-0.01 -0.99 t-0.01 -0.87 l0 -0.59 q0 -0.72 0.25 -1.25 t0.62 -0.86 t0.84 -0.5 t0.95 -0.17 z M25.68 14.86 l0 -1.58 q0 -0.76 -0.1 -1.27 t-0.27 -0.82 t-0.41 -0.43 t-0.54 -0.12 q-0.64 0 -0.97 0.56 t-0.33 2.08 l0 1.58 l2.62 0 z M33.54 11.66 q0 0.04 0.02 0.16 t0 0.2 q-0.02 0.42 -0.29 0.69 t-0.65 0.27 q-0.4 0 -0.67 -0.28 t-0.27 -0.68 q0 -0.5 0.38 -0.76 q0.04 -0.02 0.05 -0.03 l0.03 -0.03 q0.14 -0.1 0.18 -0.29 t-0.24 -0.33 q-0.18 -0.1 -0.36 -0.1 q-0.6 -0.04 -1.06 0.36 t-0.62 1.4 l0 6.68 q0 0.28 0.08 0.41 t0.16 0.15 q0.12 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.24 0 q0.1 -0.02 0.2 -0.15 t0.1 -0.41 l0 -7.62 q0 -0.28 -0.1 -0.41 t-0.2 -0.17 q-0.08 -0.04 -0.24 0 l0 -0.5 l1.92 0 l0 0.82 q0.14 -0.22 0.28 -0.41 t0.33 -0.32 t0.44 -0.21 t0.63 -0.08 q0.58 0 1.08 0.42 t0.74 1.22 z M36.24 18.92 q0 0.28 0.09 0.41 t0.17 0.15 q0.1 0.06 0.26 0 l0 0.52 l-2.42 0 l0 -0.52 q0.16 0.06 0.28 0 q0.06 -0.02 0.16 -0.15 t0.1 -0.41 l0 -12.12 q0 -0.3 -0.1 -0.43 t-0.16 -0.17 q-0.12 -0.06 -0.28 0 l0 -0.48 l1.9 0 l0 1.08 l0 12.12 z M40.580000000000005 10.08 q0.46 0 0.94 0.16 t0.86 0.5 t0.61 0.86 t0.23 1.24 l0 2.02 l0 0.06 l0 0.46 l-3.98 0 l0 2.06 q0 1.24 0.43 1.77 t1.07 0.51 q0.38 -0.02 0.75 -0.13 t0.64 -0.37 t0.45 -0.74 t0.18 -1.26 l0.46 0 l0 0.28 q0 0.54 -0.12 1.03 t-0.42 0.85 t-0.77 0.57 t-1.15 0.23 q-0.48 0 -0.98 -0.18 t-0.9 -0.Line truncated
</g>
</svg>
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 3212.8 1212.8" style="enable-background:new 0 0 3212.8 1212.8;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
.st1{fill:#17541F;}
</style>
<path class="st0" d="M1180.9,847.9v-20.6c-18,20-43.1,30.1-75.4,30.1c-22.4,0-42.8-5.8-61-17.5c-18.3-11.7-32.5-27.8-42.9-48.3
c-10.3-20.5-15.5-43.3-15.5-68.4c0-25.1,5.2-48,15.5-68.5s24.6-36.6,42.9-48.3s38.6-17.5,61-17.5c32.3,0,57.5,10,75.4,30.1v-20.6
h85.3V848L1180.9,847.9L1180.9,847.9z M1184.4,723.1c0-17.4-5.2-31.9-15.5-43.8c-10.3-11.8-23.9-17.7-40.6-17.7
c-16.8,0-30.2,5.9-40.4,17.7c-10.2,11.8-15.3,26.4-15.3,43.8c0,17.4,5.1,31.9,15.3,43.8c10.2,11.8,23.6,17.7,40.4,17.7
s30.3-5.9,40.6-17.7C1179.3,755.1,1184.4,740.5,1184.4,723.1z"/>
<path class="st0" d="M1543.1,606.4c18.3,11.7,32.5,27.8,42.9,48.3c10.3,20.5,15.5,43.3,15.5,68.5c0,25.1-5.2,48-15.5,68.4
c-10.3,20.5-24.6,36.6-42.9,48.3s-38.6,17.5-61,17.5c-32.3,0-57.5-10-75.4-30.1v165.6h-85.3V598.4h85.3V619
c18-20,43.1-30.1,75.4-30.1C1504.5,588.9,1524.8,594.8,1543.1,606.4z M1514.8,723.1c0-17.4-5.1-31.9-15.3-43.8
c-10.2-11.8-23.6-17.7-40.4-17.7s-30.2,5.9-40.4,17.7c-10.2,11.8-15.3,26.4-15.3,43.8c0,17.4,5.1,31.9,15.3,43.8
c10.2,11.8,23.6,17.7,40.4,17.7s30.2-5.9,40.4-17.7C1509.7,755.1,1514.8,740.5,1514.8,723.1z"/>
<path class="st0" d="M1838.9,763.5l53,49.4c-28.1,29.6-66.7,44.4-115.8,44.4c-28.1,0-53-5.8-74.5-17.5s-38.2-27.7-49.8-48
c-11.7-20.3-17.7-43.2-18-68.7c0-24.8,5.9-47.5,17.7-68c11.8-20.5,28.1-36.7,48.7-48.5s43.5-17.7,68.7-17.7
c24.8,0,47.6,6.1,68.2,18.2c20.6,12.1,37,29.5,49.1,52.3c12.1,22.7,18.2,49.1,18.2,79l-0.4,11.7h-181.8
c3.6,11.4,10.5,20.7,20.9,28.1c10.3,7.3,21.3,11,33,11c14.4,0,26.3-2.2,35.7-6.5C1821.1,778.3,1830.2,771.9,1838.9,763.5z
M1722.2,694.4h92.9c-2.1-12.3-7.5-22.1-16.2-29.4c-8.7-7.3-18.7-11-30.1-11s-21.5,3.7-30.3,11S1724.3,682.1,1722.2,694.4z"/>
<path class="st0" d="M2034.1,626.6c7.8-10.8,17.2-19,28.3-24.7s22-8.5,32.8-8.5c11.4,0,20,1.6,26,4.9l-10.8,72.7
c-8.4-2.1-15.7-3.1-22-3.1c-17.1,0-30.4,4.3-39.9,12.8c-9.6,8.5-14.4,24.2-14.4,46.9v120.3h-85.3V598.4h85.3V626.6L2034.1,626.6z"/>
<path class="st0" d="M2238.3,466.4v381.5H2153V466.4H2238.3z"/>
<path class="st0" d="M2486.1,763.5l53,49.4c-28.1,29.6-66.7,44.4-115.8,44.4c-28.1,0-53-5.8-74.5-17.5s-38.2-27.7-49.8-48
c-11.7-20.3-17.7-43.2-18-68.7c0-24.8,5.9-47.5,17.7-68s28.1-36.7,48.7-48.5c20.6-11.8,43.5-17.7,68.7-17.7
c24.8,0,47.6,6.1,68.2,18.2c20.6,12.1,37,29.5,49.1,52.3c12.1,22.7,18.2,49.1,18.2,79l-0.4,11.7h-181.8
c3.6,11.4,10.5,20.7,20.9,28.1c10.3,7.3,21.3,11,33,11c14.4,0,26.3-2.2,35.7-6.5C2468.4,778.3,2477.4,771.9,2486.1,763.5z
M2369.4,694.4h92.9c-2.1-12.3-7.5-22.1-16.2-29.4c-8.7-7.3-18.7-11-30.1-11s-21.5,3.7-30.3,11
C2377,672.3,2371.5,682.1,2369.4,694.4z"/>
<path class="st0" d="M2691.2,654.5c-9.9,0-17.1,1.1-21.5,3.4c-4.5,2.2-6.7,5.9-6.7,11s3.4,8.8,10.3,11.2c6.9,2.4,18,4.9,33.2,7.6
c20,3,37,6.7,50.9,11.2s26,12.1,36.1,22.9c10.2,10.8,15.3,25.9,15.3,45.3c0,29.9-10.9,52.4-32.8,67.6
c-21.8,15.1-50.3,22.7-85.3,22.7c-25.7,0-49.5-3.7-71.4-11c-21.8-7.3-37.4-14.7-46.7-22.2l33.7-60.6c10.2,9,23.4,15.8,39.7,20.4
c16.3,4.6,31.3,7,45.1,7c19.7,0,29.6-5.2,29.6-15.7c0-5.4-3.3-9.4-9.9-11.9c-6.6-2.5-17.2-5.2-31.9-7.9c-18.9-3.3-34.9-7.2-48-11.7
c-13.2-4.5-24.6-12.2-34.3-23.1c-9.7-10.9-14.6-26-14.6-45.1c0-27.2,9.7-48.5,29-63.7c19.3-15.3,46-22.9,80.1-22.9
c23.3,0,44.4,3.6,63.3,10.8c18.9,7.2,34,14.5,45.3,22l-32.8,58.8c-10.8-7.5-23.2-13.7-37.3-18.6
C2715.8,656.9,2702.9,654.5,2691.2,654.5z"/>
<path class="st0" d="M2942.6,654.5c-9.9,0-17.1,1.1-21.5,3.4c-4.5,2.2-6.7,5.9-6.7,11s3.4,8.8,10.3,11.2c6.9,2.4,18,4.9,33.2,7.6
c20,3,37,6.7,50.9,11.2s26,12.1,36.1,22.9c10.2,10.8,15.3,25.9,15.3,45.3c0,29.9-10.9,52.4-32.8,67.6
c-21.8,15.1-50.3,22.7-85.3,22.7c-25.7,0-49.5-3.7-71.4-11c-21.8-7.3-37.4-14.7-46.7-22.2l33.7-60.6c10.2,9,23.4,15.8,39.7,20.4
c16.3,4.6,31.3,7,45.1,7c19.8,0,29.6-5.2,29.6-15.7c0-5.4-3.3-9.4-9.9-11.9c-6.6-2.5-17.2-5.2-31.9-7.9c-18.9-3.3-34.9-7.2-48-11.7
c-13.2-4.5-24.6-12.2-34.3-23.1s-14.6-26-14.6-45.1c0-27.2,9.7-48.5,29-63.7c19.3-15.3,46-22.9,80.1-22.9c23.3,0,44.4,3.6,63.3,10.8
c18.9,7.2,34,14.5,45.3,22l-32.8,58.8c-10.8-7.5-23.2-13.7-37.3-18.6C2967.1,656.9,2954.2,654.5,2942.6,654.5z"/>
<g>
<path class="st0" d="M2633.3,932.2h60.2v17.3h-60.2V932.2z"/>
<path class="st0" d="M2754.5,902.6c4.9-2,10.2-3.1,16-3.1c10.9,0,19.5,3.4,25.9,10.2s9.6,16.7,9.6,29.6v57.3h-19.6V944
c0-9.3-1.7-16.2-5.1-20.7c-3.4-4.5-9.1-6.7-17-6.7c-6.5,0-11.8,2.4-16.1,7.1c-4.3,4.8-6.4,11.5-6.4,20.2v52.6h-19.6v-94.6h19.6v9.5
C2745.5,907.6,2749.7,904.6,2754.5,902.6z"/>
<path class="st0" d="M2915.6,1041.4c-8.6,6.8-19.4,10.2-32.3,10.2c-7.9,0-15.2-1.4-21.9-4.1s-12.1-6.8-16.3-12.2
c-4.2-5.4-6.6-11.9-7.1-19.6h19.6c0.7,6.1,3.5,10.8,8.4,13.9c4.9,3.2,10.7,4.8,17.4,4.8c7,0,13.1-2,18.2-6c5.1-4,7.7-10.3,7.7-18.9
v-24.7c-3.6,3.4-8,6.2-13.3,8.2c-5.2,2.1-10.7,3.1-16.3,3.1c-8.7,0-16.6-2.1-23.7-6.4c-7.1-4.3-12.6-10-16.7-17.3
c-4-7.3-6-15.5-6-24.6s2-17.3,6-24.7s9.6-13.2,16.7-17.4c7.1-4.3,15-6.4,23.7-6.4c5.7,0,11.1,1,16.3,3.1s9.6,4.8,13.3,8.2v-8.8
h19.4v107.8C2928.5,1024.1,2924.2,1034.6,2915.6,1041.4z M2907.5,963.9c2.6-4.7,3.8-10,3.8-15.9s-1.3-11.2-3.8-16
c-2.6-4.8-6.1-8.5-10.5-11.1c-4.5-2.7-9.5-4-15.1-4c-5.8,0-10.9,1.4-15.4,4.3c-4.5,2.8-7.9,6.6-10.3,11.4
c-2.4,4.8-3.6,9.9-3.6,15.5c0,5.4,1.2,10.5,3.6,15.3c2.4,4.8,5.8,8.6,10.3,11.5s9.6,4.3,15.4,4.3c5.6,0,10.6-1.4,15.1-4.1
C2901.4,972.3,2904.9,968.6,2907.5,963.9z"/>
<path class="st0" d="M2968.8,996.6h-21.6l37.9-48l-36.4-46.6h22.6l25.7,33.3l25.8-33.3h21.6l-36.2,45.9l37.9,48.6h-22.6l-27.4-35
L2968.8,996.6z"/>
</g>
<path class="st0" d="M961.1,527.4c-11.5-18.9-27.4-33.7-47.6-44.7c-20.2-10.9-43-16.4-68.5-16.4h-90.6c-8.6,39.6-21.3,77.2-38,112.4
c-10,21-21.3,41-33.9,59.9v209.2h89.8v-135H845c25.4,0,48.3-5.5,68.5-16.4s36.1-25.8,47.6-44.7s17.3-39.5,17.3-61.9
C978.4,567.1,972.7,546.3,961.1,527.4z M872.3,624.8c-9.4,9-21.8,13.5-37,13.5l-62.8,0.4v-93.4l62.8-0.4c15.3,0,27.6,4.5,37,13.5
s14.1,20,14.1,33.2C886.4,604.8,881.7,615.9,872.3,624.8z"/>
<path class="st1" d="M290,906.9c-3.5-16.5-10.4-49.6-11.3-49.6c-147.1-88-129.7-240.3-81-327.4c10.4,109.7,204.6,185.4,91.4,319.5
c-0.9,1.7,5.2,22.6,10.4,41.8c22.6-38.3,56.6-84.4,54.8-88.8C215,462.9,650.3,436.8,740.8,226.1c40.9,203.7-20.9,518.9-370.8,599
c-1.7,0.9-63.5,109.7-66.2,110.6c0-1.7-26.1-0.9-22.6-9.6C283.1,920.8,286.5,913.9,290,906.9L290,906.9z M285.7,825.1
c44.4-51.4-7.8-139.3-39.2-168C299.6,748.4,296.1,801.5,285.7,825.1L285.7,825.1z"/>
</svg>

Before

Width:  |  Height:  |  Size: 7.4 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

-125
View File
@@ -1,125 +0,0 @@
#!/bin/bash
# Release checklist
# - wait for travis build.
# adjust src/paperless/version.py
# changelog in the documentation
# adjust versions in docker/hub/*
# adjust version in src-ui/src/environments/prod
# If docker-compose was modified: all compose files are the same.
# Steps:
# run release script "dev", push
# if it works: new tag, merge into master
# on master: make release "lastest", push
# on master: make release "version-tag", push
# publish release files
set -e
VERSION=$1
if [ -z "$VERSION" ]
then
echo "Need a version string."
exit 1
fi
# source root directory of paperless
PAPERLESS_ROOT=$(git rev-parse --show-toplevel)
# output directory
PAPERLESS_DIST="$PAPERLESS_ROOT/dist"
PAPERLESS_DIST_APP="$PAPERLESS_DIST/paperless-ng"
PAPERLESS_DIST_DOCKERFILES="$PAPERLESS_DIST/paperless-ng-dockerfiles"
if [ -d "$PAPERLESS_DIST" ]
then
echo "Removing $PAPERLESS_DIST"
rm "$PAPERLESS_DIST" -r
fi
mkdir "$PAPERLESS_DIST"
mkdir "$PAPERLESS_DIST_APP"
mkdir "$PAPERLESS_DIST_APP/docker"
mkdir "$PAPERLESS_DIST_APP/scripts"
mkdir "$PAPERLESS_DIST_DOCKERFILES"
# setup dependencies.
cd "$PAPERLESS_ROOT"
pipenv clean
pipenv install --dev
pipenv lock --keep-outdated -r > "$PAPERLESS_DIST_APP/requirements.txt"
# test if the application works.
cd "$PAPERLESS_ROOT/src"
pipenv run pytest --cov
pipenv run pycodestyle
# make the documentation.
cd "$PAPERLESS_ROOT/docs"
make clean html
# copy stuff into place
# the application itself
cp "$PAPERLESS_ROOT/.env" \
"$PAPERLESS_ROOT/.dockerignore" \
"$PAPERLESS_ROOT/CONTRIBUTING.md" \
"$PAPERLESS_ROOT/LICENSE" \
"$PAPERLESS_ROOT/Pipfile" \
"$PAPERLESS_ROOT/Pipfile.lock" \
"$PAPERLESS_ROOT/README.md" "$PAPERLESS_DIST_APP"
cp "$PAPERLESS_ROOT/paperless.conf.example" "$PAPERLESS_DIST_APP/paperless.conf"
# copy python source, templates and static files.
cd "$PAPERLESS_ROOT"
find src -wholename '*/templates/*' -o -wholename '*/static/*' -o -name '*.py' | cpio -pdm "$PAPERLESS_DIST_APP"
# build the front end.
cd "$PAPERLESS_ROOT/src-ui"
ng build --prod --output-hashing none --sourceMap=false --output-path "$PAPERLESS_DIST_APP/src/documents/static/frontend"
# documentation
cp "$PAPERLESS_ROOT/docs/_build/html/" "$PAPERLESS_DIST_APP/docs" -r
# docker files for building the image yourself
cp "$PAPERLESS_ROOT/docker/local/"* "$PAPERLESS_DIST_APP"
cp "$PAPERLESS_ROOT/docker/docker-compose.env" "$PAPERLESS_DIST_APP"
# docker files for pulling from docker hub
cp "$PAPERLESS_ROOT/docker/hub/"* "$PAPERLESS_DIST_DOCKERFILES"
cp "$PAPERLESS_ROOT/.env" "$PAPERLESS_DIST_DOCKERFILES"
cp "$PAPERLESS_ROOT/docker/docker-compose.env" "$PAPERLESS_DIST_DOCKERFILES"
# auxiliary files required for the docker image
cp "$PAPERLESS_ROOT/docker/docker-entrypoint.sh" "$PAPERLESS_DIST_APP/docker/"
cp "$PAPERLESS_ROOT/docker/gunicorn.conf.py" "$PAPERLESS_DIST_APP/docker/"
cp "$PAPERLESS_ROOT/docker/imagemagick-policy.xml" "$PAPERLESS_DIST_APP/docker/"
cp "$PAPERLESS_ROOT/docker/supervisord.conf" "$PAPERLESS_DIST_APP/docker/"
# auxiliary files for bare metal installs
cp "$PAPERLESS_ROOT/scripts/paperless-webserver.service" "$PAPERLESS_DIST_APP/scripts/"
cp "$PAPERLESS_ROOT/scripts/paperless-consumer.service" "$PAPERLESS_DIST_APP/scripts/"
cp "$PAPERLESS_ROOT/scripts/paperless-scheduler.service" "$PAPERLESS_DIST_APP/scripts/"
# try to make the docker build.
cd "$PAPERLESS_DIST_APP"
docker build . -t "jonaswinkler/paperless-ng:$VERSION"
# works. package the app!
cd "$PAPERLESS_DIST"
tar -cJf "paperless-ng-$VERSION.tar.xz" paperless-ng/
tar -cJf "paperless-ng-$VERSION-dockerfiles.tar.xz" paperless-ng-dockerfiles/
+1 -1
View File
@@ -1,5 +1,5 @@
[Unit]
Description=Paperless consumer
Description=Paperless scheduler
Requires=redis.service
[Service]
+2 -1
View File
@@ -3,12 +3,13 @@ Description=Paperless webserver
After=network.target
Wants=network.target
Requires=redis.service
#Requires=paperless-webserver.socket
[Service]
User=paperless
Group=paperless
WorkingDirectory=/opt/paperless/src
ExecStart=/opt/paperless/.local/bin/gunicorn paperless.wsgi -w 2 -b 0.0.0.0:8000
ExecStart=/opt/paperless/.local/bin/gunicorn -c /opt/paperless/gunicorn.conf.py paperless.asgi:application
[Install]
WantedBy=multi-user.target
+9
View File
@@ -0,0 +1,9 @@
[Unit]
Description=Paperless Webserver Socket
[Socket]
ListenStream=80
NoDelay=true
[Install]
WantedBy=sockets.target
-23
View File
@@ -1,23 +0,0 @@
#!/bin/bash
set -e
VERSION=$1
if [ -z "$VERSION" ]
then
echo "Need a version string."
exit 1
fi
# source root directory of paperless
PAPERLESS_ROOT=$(git rev-parse --show-toplevel)
# output directory
PAPERLESS_DIST="$PAPERLESS_ROOT/dist"
PAPERLESS_DIST_APP="$PAPERLESS_DIST/paperless-ng"
cd "$PAPERLESS_DIST_APP"
docker push "jonaswinkler/paperless-ng:$VERSION"
+5 -1
View File
@@ -1,2 +1,6 @@
docker run -p 5432:5432 -v paperless_pgdata:/var/lib/postgresql/data -d postgres:13
#!/usr/bin/env bash
docker run -p 5432:5432 -e POSTGRES_PASSWORD=password -v paperless_pgdata:/var/lib/postgresql/data -d postgres:13
docker run -d -p 6379:6379 redis:latest
docker run -p 3000:3000 -d gotenberg/gotenberg:7
docker run -p 9998:9998 -d apache/tika
+5
View File
@@ -32,6 +32,7 @@ speed-measure-plugin*.json
.history/*
# misc
/.angular/cache
/.sass-cache
/connect.lock
/coverage
@@ -44,3 +45,7 @@ testem.log
# System Files
.DS_Store
Thumbs.db
# Cypress
cypress/videos/**/*
cypress/screenshots/**/*
+74 -25
View File
@@ -13,6 +13,31 @@
"root": "",
"sourceRoot": "src",
"prefix": "app",
"i18n": {
"sourceLocale": "en-US",
"locales": {
"be-BY": "src/locale/messages.be_BY.xlf",
"cs-CZ": "src/locale/messages.cs_CZ.xlf",
"da-DK": "src/locale/messages.da_DK.xlf",
"de-DE": "src/locale/messages.de_DE.xlf",
"en-GB": "src/locale/messages.en_GB.xlf",
"es-ES": "src/locale/messages.es_ES.xlf",
"fr-FR": "src/locale/messages.fr_FR.xlf",
"it-IT": "src/locale/messages.it_IT.xlf",
"lb-LU": "src/locale/messages.lb_LU.xlf",
"nl-NL": "src/locale/messages.nl_NL.xlf",
"pl-PL": "src/locale/messages.pl_PL.xlf",
"pt-BR": "src/locale/messages.pt_BR.xlf",
"pt-PT": "src/locale/messages.pt_PT.xlf",
"ro-RO": "src/locale/messages.ro_RO.xlf",
"ru-RU": "src/locale/messages.ru_RU.xlf",
"sl-SI": "src/locale/messages.sl_SI.xlf",
"sr-CS": "src/locale/messages.sr_CS.xlf",
"sv-SE": "src/locale/messages.sv_SE.xlf",
"tr-TR": "src/locale/messages.tr_TR.xlf",
"zh-CN": "src/locale/messages.zh_CN.xlf"
}
},
"architect": {
"build": {
"builder": "@angular-devkit/build-angular:browser",
@@ -23,15 +48,30 @@
"main": "src/main.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.app.json",
"aot": true,
"localize": true,
"assets": [
"src/favicon.ico",
"src/assets"
"src/apple-touch-icon.png",
"src/assets",
"src/manifest.webmanifest", {
"glob": "pdf.worker.min.js",
"input": "node_modules/pdfjs-dist/build/",
"output": "/assets/js/"
}
],
"styles": [
"src/styles.scss"
],
"scripts": []
"scripts": [],
"allowedCommonJsDependencies": [
"ng2-pdf-viewer"
],
"vendorChunk": true,
"extractLicenses": false,
"buildOptimizer": false,
"sourceMap": true,
"optimization": false,
"namedChunks": true
},
"configurations": {
"production": {
@@ -41,10 +81,10 @@
"with": "src/environments/environment.prod.ts"
}
],
"outputPath": "../src/documents/static/frontend/",
"optimization": true,
"outputHashing": "none",
"sourceMap": false,
"extractCss": true,
"namedChunks": false,
"extractLicenses": true,
"vendorChunk": false,
@@ -61,13 +101,17 @@
"maximumError": "10kb"
}
]
},
"en-US": {
"localize": ["en-US"]
}
}
},
"defaultConfiguration": ""
},
"serve": {
"builder": "@angular-devkit/build-angular:dev-server",
"options": {
"browserTarget": "paperless-ui:build"
"browserTarget": "paperless-ui:build:en-US"
},
"configurations": {
"production": {
@@ -82,15 +126,14 @@
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"builder": "@angular-builders/jest:run",
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"assets": [
"src/favicon.ico",
"src/assets"
"src/apple-touch-icon.png",
"src/assets",
"src/manifest.webmanifest"
],
"styles": [
"src/styles.scss"
@@ -98,23 +141,22 @@
"scripts": []
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"e2e": {
"builder": "@cypress/schematic:cypress",
"options": {
"tsConfig": [
"tsconfig.app.json",
"tsconfig.spec.json",
"e2e/tsconfig.json"
],
"exclude": [
"**/node_modules/**"
]
"devServerTarget": "paperless-ui:serve",
"watch": true,
"headless": false
},
"configurations": {
"production": {
"devServerTarget": "paperless-ui:serve:production"
}
}
},
"e2e": {
"builder": "@angular-devkit/build-angular:protractor",
"cypress-run": {
"builder": "@cypress/schematic:cypress",
"options": {
"protractorConfig": "e2e/protractor.conf.js",
"devServerTarget": "paperless-ui:serve"
},
"configurations": {
@@ -122,9 +164,16 @@
"devServerTarget": "paperless-ui:serve:production"
}
}
},
"cypress-open": {
"builder": "@cypress/schematic:cypress",
"options": {
"watch": true,
"headless": false
}
}
}
}
},
"defaultProject": "paperless-ui"
}
}
+9
View File
@@ -0,0 +1,9 @@
{
"integrationFolder": "cypress/integration",
"supportFile": "cypress/support/index.ts",
"videosFolder": "cypress/videos",
"screenshotsFolder": "cypress/screenshots",
"pluginsFile": "cypress/plugins/index.ts",
"fixturesFolder": "cypress/fixtures",
"baseUrl": "http://localhost:4200"
}
@@ -0,0 +1 @@
{"count":27,"next":"http://localhost:8000/api/correspondents/?page=2","previous":null,"results":[{"id":9,"slug":"abc-test-correspondent","name":"ABC Test Correspondent","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":13,"slug":"corresp-10","name":"Corresp 10","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":14,"slug":"corresp-11","name":"Corresp 11","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":15,"slug":"corresp-12","name":"Corresp 12","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":16,"slug":"corresp-13","name":"Corresp 13","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":18,"slug":"corresp-15","name":"Corresp 15","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":19,"slug":"corresp-16","name":"Corresp 16","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":20,"slug":"corresp-17","name":"Corresp 17","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":21,"slug":"corresp-18","name":"Corresp 18","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":22,"slug":"corresp-19","name":"Corresp 19","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":23,"slug":"corresp-20","name":"Corresp 20","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":24,"slug":"corresp-21","name":"Corresp 21","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":25,"slug":"corresp-22","name":"Corresp 22","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":26,"slug":"corresp-23","name":"Corresp 23","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":5,"slug":"corresp-3","name":"Corresp 3","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":6,"slug":"corresp-4","name":"Corresp 4","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":7,"slug":"corresp-5","name":"Corresp 5","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":8,"slug":"corresp-6","name":"Corresp 6","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":10,"slug":"corresp-7","name":"Corresp 7","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":11,"slug":"corresp-8","name":"Corresp 8","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":12,"slug":"corresp-9","name":"Corresp 9","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":17,"slug":"correspondent-14","name":"Correspondent 14","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0,"last_correspondence":null},{"id":2,"slug":"correspondent-2","name":"Correspondent 2","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":7,"last_correspondence":"2021-01-20T23:37:58.204614Z"},{"id":27,"slug":"michael-shamoon","name":"Michael Shamoon","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":1,"last_correspondence":"2022-03-16T03:48:50.089624Z"},{"id":4,"slug":"newest-correspondent","name":"Newest Correspondent","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":1,"last_correspondence":"2021-02-07T08:00:00Z"}]}
@@ -0,0 +1 @@
{"count":1,"next":null,"previous":null,"results":[{"id":1,"slug":"test","name":"Test Doc Type","match":"","matching_algorithm":1,"is_insensitive":true,"document_count":0}]}
@@ -0,0 +1 @@
{"original_checksum":"e959bc7d593245d92685213264e962ba","original_size":963754,"original_mime_type":"application/pdf","media_filename":"2022/lorem-ipsum.pdf","has_archive_version":true,"original_metadata":[],"archive_checksum":"5a1f46a9150bcade978c764b039ce4d0","archive_media_filename":"2022/lorem-ipsum.pdf","archive_size":351160,"archive_metadata":[{"namespace":"http://ns.adobe.com/pdf/1.3/","prefix":"pdf","key":"Producer","value":"pikepdf5.0.1"},{"namespace":"http://ns.adobe.com/xap/1.0/","prefix":"xmp","key":"ModifyDate","value":"2022-03-22T04:53:18+00:00"},{"namespace":"http://ns.adobe.com/xap/1.0/","prefix":"xmp","key":"CreateDate","value":"2022-03-22T18:05:43+00:00"},{"namespace":"http://ns.adobe.com/xap/1.0/","prefix":"xmp","key":"CreatorTool","value":"ocrmypdf13.4.0/TesseractOCR-PDF4.1.1"},{"namespace":"http://ns.adobe.com/xap/1.0/mm/","prefix":"xmpMM","key":"DocumentID","value":"uuid:df27edcf-e34a-11f7-0000-8fa6067a3c04"},{"namespace":"http://purl.org/dc/elements/1.1/","prefix":"dc","key":"format","value":"application/pdf"},{"namespace":"http://purl.org/dc/elements/1.1/","prefix":"dc","key":"title","value":"ScannedDocument"},{"namespace":"http://www.aiim.org/pdfa/ns/id/","prefix":"pdfaid","key":"part","value":"2"},{"namespace":"http://www.aiim.org/pdfa/ns/id/","prefix":"pdfaid","key":"conformance","value":"B"},{"namespace":"http://purl.org/dc/elements/1.1/","prefix":"dc","key":"creator","value":"None"},{"namespace":"http://ns.adobe.com/xap/1.0/","prefix":"xmp","key":"MetadataDate","value":"2022-03-22T21:53:18.882551-07:00"}]}
@@ -0,0 +1 @@
{"correspondents":[],"tags":[3],"document_types":[1]}
@@ -0,0 +1 @@
{"count":3,"next":null,"previous":null,"results":[{"id":1,"correspondent":9,"document_type":1,"title":"lorem-ipsum","content":"Test document PDF \n\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla est purus, ultrices in porttitor \nin, accumsan non quam. Nam consectetur porttitor rhoncus. Curabitur eu est et leo feugiat \nauctor vel quis lorem. Ut et ligula dolor, sit amet consequat lorem. Aliquam porta eros sed \nvelit imperdiet egestas. Maecenas tempus eros ut diam ullamcorper id dictum libero \ntempor. Donec quis augue quis magna condimentum lobortis. Quisque imperdiet ipsum vel \nmagna viverra rutrum. Cras viverra molestie urna, vitae vestibulum turpis varius id. \nVestibulum mollis, arcu iaculis bibendum varius, velit sapien blandit metus, ac posuere lorem \nnulla ac dolor. Maecenas urna elit, tincidunt in dapibus nec, vehicula eu dui. Duis lacinia \nfringilla massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur \nridiculus mus. Ut consequat ultricies est, non rhoncus mauris congue porta. Vivamus viverra \nsuscipit felis eget condimentum. Cum sociis natoque penatibus et magnis dis parturient \nmontes, nascetur ridiculus mus. Integer bibendum sagittis ligula, non faucibus nulla volutpat \nvitae. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. \nIn aliquet quam et velit bibendum accumsan. Cum sociis natoque penatibus et magnis dis \nparturient montes, nascetur ridiculus mus. Vestibulum vitae ipsum nec arcu semper \nadipiscing at ac lacus. Praesent id pellentesque orci. Morbi congue viverra nisl nec rhoncus. \nInteger mattis, ipsum a tincidunt commodo, lacus arcu elementum elit, at mollis eros ante ac \nrisus. In volutpat, ante at pretium ultricies, velit magna suscipit enim, aliquet blandit massa \norci nec lorem. Nulla facilisi. Duis eu vehicula arcu. Nulla facilisi. Maecenas pellentesque \nvolutpat felis, quis tristique ligula luctus vel. Sed nec mi eros. Integer augue enim, sollicitudin \nullamcorper mattis eget, aliquam in est. Morbi sollicitudin libero nec augue dignissim ut \nconsectetur dui volutpat. Nulla facilisi. Mauris egestas vestibulum neque cursus tincidunt. \nDonec sit amet pulvinar orci. \nQuisque volutpat pharetra tincidunt. Fusce sapien arcu, molestie eget varius egestas, \nfaucibus ac urna. Sed at nisi in velit egestas aliquam ut a felis. Aenean malesuada iaculis nisl, \nut tempor lacus egestas consequat. Nam nibh lectus, gravida sed egestas ut, feugiat quis \ndolor. Donec eu leo enim, non laoreet ante. Morbi dictum tempor vulputate. Phasellus \nultricies risus vel augue sagittis euismod. Vivamus tincidunt placerat nisi in aliquam. Cras \nquis mi ac nunc pretium aliquam. Aenean elementum erat ac metus commodo rhoncus. \nAliquam nulla augue, porta non sagittis quis, accumsan vitae sem. Phasellus id lectus tortor, \neget pulvinar augue. Etiam eget velit ac purus fringilla blandit. Donec odio odio, sagittis sed \niaculis sed, consectetur eget sem. Lorem ipsum dolor sit amet, consectetur adipiscing elit. \nMaecenas accumsan velit vel turpis rutrum in sodales diam placerat. \nQuisque luctus ullamcorper velit sit amet lobortis. Etiam ligula felis, vulputate quis rhoncus \nnec, fermentum eget odio. Vivamus vel ipsum ac augue sodales mollis euismod nec tellus. \nFusce et augue rutrum nunc semper vehicula vel semper nisl. Nam laoreet euismod quam at \nvarius. Sed aliquet auctor nibh. Curabitur malesuada fermentum lacus vel accumsan. Duis \nornare scelerisque nulla, ac pulvinar ligula tempus sit amet. In placerat nulla ac ante \nscelerisque posuere. Phasellus at ante felis. Sed hendrerit risus a metus posuere rutrum. \nPhasellus eu augue dui. Proin in vestibulum ipsum. Aenean accumsan mollis sapien, ut \neleifend sem blandit at. Vivamus luctus mi eget lorem lobortis pharetra. Phasellus at tortor \nquam, a volutpat purus. Etiam sollicitudin arcu vel elit bibendum et imperdiet risus tincidunt. \nEtiam elit velit, posuere ut pulvinar ac, condimentum eget justo. Fusce a erat velit. Vivamus \nimperdiet ultrices orci in hendrerit.","tags":[4],"created":"2022-03-22T07:24:18Z","modified":"2022-03-22T07:24:23.264859Z","added":"2022-03-22T07:24:22.922631Z","archive_serial_number":null,"original_file_name":"2022-03-22 lorem-ipsum.pdf","archived_file_name":"2022-03-22 lorem-ipsum.pdf"},{"id":2,"correspondent":null,"document_type":null,"title":"lorem-ipsum","content":"Test document PDF","tags":[],"created":"2022-03-23T07:24:18Z","modified":"2022-03-23T07:24:23.264859Z","added":"2022-03-23T07:24:22.922631Z","archive_serial_number":null,"original_file_name":"2022-03-23 lorem-ipsum.pdf","archived_file_name":"2022-03-23 lorem-ipsum.pdf"},{"id":3,"correspondent":null,"document_type":1,"title":"lorem-ipsum","content":"Test document PDF","tags":[2],"created":"2022-03-24T07:24:18Z","modified":"2022-03-24T07:24:23.264859Z","added":"2022-03-24T07:24:22.922631Z","archive_serial_number":null,"original_file_name":"2022-03-24 lorem-ipsum.pdf","Line truncated
Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

@@ -0,0 +1 @@
{"count":3,"next":null,"previous":null,"results":[{"id":1,"name":"Inbox","show_on_dashboard":true,"show_in_sidebar":true,"sort_field":"created","sort_reverse":true,"filter_rules":[{"rule_type":6,"value":"18"}]},{"id":2,"name":"Recently Added","show_on_dashboard":true,"show_in_sidebar":false,"sort_field":"created","sort_reverse":true,"filter_rules":[]},{"id":11,"name":"Taxes","show_on_dashboard":false,"show_in_sidebar":true,"sort_field":"created","sort_reverse":true,"filter_rules":[{"rule_type":6,"value":"39"}]}]}
+1
View File
@@ -0,0 +1 @@
{"count":8,"next":null,"previous":null,"results":[{"id":4,"slug":"another-sample-tag","name":"Another Sample Tag","color":"#a6cee3","text_color":"#000000","match":"","matching_algorithm":6,"is_insensitive":true,"is_inbox_tag":false,"document_count":3},{"id":7,"slug":"newone","name":"NewOne","color":"#9e4ad1","text_color":"#ffffff","match":"","matching_algorithm":1,"is_insensitive":true,"is_inbox_tag":false,"document_count":2},{"id":6,"slug":"partial-tag","name":"Partial Tag","color":"#72dba7","text_color":"#000000","match":"","matching_algorithm":1,"is_insensitive":true,"is_inbox_tag":false,"document_count":1},{"id":2,"slug":"tag-2","name":"Tag 2","color":"#612db7","text_color":"#ffffff","match":"","matching_algorithm":1,"is_insensitive":true,"is_inbox_tag":false,"document_count":3},{"id":3,"slug":"tag-3","name":"Tag 3","color":"#b2df8a","text_color":"#000000","match":"","matching_algorithm":1,"is_insensitive":true,"is_inbox_tag":false,"document_count":4},{"id":5,"slug":"tagwithpartial","name":"TagWithPartial","color":"#3b2db4","text_color":"#ffffff","match":"","matching_algorithm":6,"is_insensitive":true,"is_inbox_tag":false,"document_count":2},{"id":8,"slug":"test-another","name":"Test Another","color":"#3ccea5","text_color":"#000000","match":"","matching_algorithm":4,"is_insensitive":true,"is_inbox_tag":false,"document_count":0},{"id":1,"slug":"test-tag","name":"Test Tag","color":"#fb9a99","text_color":"#000000","match":"","matching_algorithm":1,"is_insensitive":true,"is_inbox_tag":false,"document_count":4}]}
@@ -0,0 +1,64 @@
describe('document-detail', () => {
beforeEach(() => {
this.modifiedDocuments = []
cy.fixture('documents/documents.json').then((documentsJson) => {
cy.intercept('GET', 'http://localhost:8000/api/documents/1/', (req) => {
let response = { ...documentsJson }
response = response.results.find((d) => d.id == 1)
req.reply(response)
})
})
cy.intercept('PUT', 'http://localhost:8000/api/documents/1/', (req) => {
this.modifiedDocuments.push(req.body) // store this for later
req.reply({ result: 'OK' })
}).as('saveDoc')
cy.intercept('http://localhost:8000/api/documents/1/metadata/', {
fixture: 'documents/1/metadata.json',
})
cy.intercept('http://localhost:8000/api/documents/1/suggestions/', {
fixture: 'documents/1/suggestions.json',
})
cy.intercept('http://localhost:8000/api/saved_views/*', {
fixture: 'saved_views/savedviews.json',
})
cy.intercept('http://localhost:8000/api/tags/*', {
fixture: 'tags/tags.json',
})
cy.intercept('http://localhost:8000/api/correspondents/*', {
fixture: 'correspondents/correspondents.json',
})
cy.intercept('http://localhost:8000/api/document_types/*', {
fixture: 'document_types/doctypes.json',
})
cy.viewport(1024, 1024)
cy.visit('/documents/1/')
})
it('should activate / deactivate save button when changes are saved', () => {
cy.contains('button', 'Save').should('be.disabled')
cy.get('app-input-text[formcontrolname="title"]')
.type(' additional')
.wait(1500) // this delay is for frontend debounce
cy.contains('button', 'Save').should('not.be.disabled')
})
it('should warn on unsaved changes', () => {
cy.get('app-input-text[formcontrolname="title"]')
.type(' additional')
.wait(1500) // this delay is for frontend debounce
cy.get('button[title="Close"]').click()
cy.contains('You have unsaved changes')
cy.contains('button', 'Cancel').click().wait(150)
cy.contains('button', 'Save').click().wait('@saveDoc').wait(2000) // navigates away after saving
cy.contains('You have unsaved changes').should('not.exist')
})
})
@@ -0,0 +1,143 @@
describe('documents-list', () => {
beforeEach(() => {
this.bulkEdits = {}
// mock API methods
cy.fixture('documents/documents.json').then((documentsJson) => {
// bulk edit
cy.intercept(
'POST',
'http://localhost:8000/api/documents/bulk_edit/',
(req) => {
this.bulkEdits = req.body // store this for later
req.reply({ result: 'OK' })
}
)
cy.intercept('GET', 'http://localhost:8000/api/documents/*', (req) => {
let response = { ...documentsJson }
// bulkEdits was set earlier by bulk_edit intercept
if (this.bulkEdits.hasOwnProperty('documents')) {
response.results = response.results.map((d) => {
if ((this.bulkEdits['documents'] as Array<number>).includes(d.id)) {
switch (this.bulkEdits['method']) {
case 'modify_tags':
d.tags = (d.tags as Array<number>).concat([
this.bulkEdits['parameters']['add_tags'],
])
break
case 'set_correspondent':
d.correspondent =
this.bulkEdits['parameters']['correspondent']
break
case 'set_document_type':
d.document_type =
this.bulkEdits['parameters']['document_type']
break
}
}
return d
})
} else if (req.query.hasOwnProperty('tags__id__all')) {
// filtering e.g. http://localhost:8000/api/documents/?page=1&page_size=50&ordering=-created&tags__id__all=2
const tag_id = +req.query['tags__id__all']
response.results = (documentsJson.results as Array<any>).filter((d) =>
(d.tags as Array<number>).includes(tag_id)
)
response.count = response.results.length
}
req.reply(response)
})
})
cy.intercept('http://localhost:8000/api/documents/1/thumb/', {
fixture: 'documents/lorem-ipsum.png',
})
cy.intercept('http://localhost:8000/api/tags/*', {
fixture: 'tags/tags.json',
})
cy.intercept('http://localhost:8000/api/correspondents/*', {
fixture: 'correspondents/correspondents.json',
})
cy.intercept('http://localhost:8000/api/document_types/*', {
fixture: 'document_types/doctypes.json',
})
cy.visit('/documents')
})
it('should show a list of documents rendered as cards with thumbnails', () => {
cy.contains('3 documents')
cy.contains('lorem-ipsum')
cy.get('app-document-card-small:first-of-type img')
.invoke('attr', 'src')
.should('eq', 'http://localhost:8000/api/documents/1/thumb/')
})
it('should change to table "details" view', () => {
cy.get('div.btn-group-toggle input[value="details"]').parent().click()
cy.get('table')
})
it('should change to large cards view', () => {
cy.get('div.btn-group-toggle input[value="largeCards"]').parent().click()
cy.get('app-document-card-large')
})
it('should filter tags', () => {
cy.get('app-filter-editor app-filterable-dropdown[title="Tags"]').within(
() => {
cy.contains('button', 'Tags').click()
cy.contains('button', 'Tag 2').click()
}
)
cy.contains('One document')
})
it('should apply tags', () => {
cy.get('app-document-card-small:first-of-type').click()
cy.get('app-bulk-editor app-filterable-dropdown[title="Tags"]').within(
() => {
cy.contains('button', 'Tags').click()
cy.contains('button', 'Test Tag').click()
cy.contains('button', 'Apply').click()
}
)
cy.contains('button', 'Confirm').click()
cy.get('app-document-card-small:first-of-type').contains('Test Tag')
})
it('should apply correspondent', () => {
cy.get('app-document-card-small:first-of-type').click()
cy.get(
'app-bulk-editor app-filterable-dropdown[title="Correspondent"]'
).within(() => {
cy.contains('button', 'Correspondent').click()
cy.contains('button', 'ABC Test Correspondent').click()
cy.contains('button', 'Apply').click()
})
cy.contains('button', 'Confirm').click()
cy.get('app-document-card-small:first-of-type').contains(
'ABC Test Correspondent'
)
})
it('should apply document type', () => {
cy.get('app-document-card-small:first-of-type').click()
cy.get(
'app-bulk-editor app-filterable-dropdown[title="Document type"]'
).within(() => {
cy.contains('button', 'Document type').click()
cy.contains('button', 'Test Doc Type').click()
cy.contains('button', 'Apply').click()
})
cy.contains('button', 'Confirm').click()
cy.get('app-document-card-small:first-of-type').contains('Test Doc Type')
})
})
Loaded 100 of 632 files, more files were not shown because too many files have changed in this diff. Show more