48 Commits

Author SHA1 Message Date
shamoon
af16bb3934
Fix: include monetary, float and doc link values in search filters (#5951) 2024-02-29 08:21:56 +00:00
shamoon
783090c2cd
Fix shared by me filter with multiple users / groups in postgres (#5396) 2024-01-15 22:06:59 +00:00
shamoon
3115106dc1
Enhancement: add basic filters for listing custom fields (#5257) 2024-01-06 03:04:31 +00:00
shamoon
cf869b1356
Fix: type casting of db values for shared by me filter (#5155) 2023-12-29 17:19:45 +00:00
shamoon
5e8de4c1da
Enhancement: shared icon & shared by me filter (#4859) 2023-12-19 20:45:04 +00:00
shamoon
73cbf6c33d
API support for id args for documents & objects (#4519) 2023-11-06 12:31:10 -08:00
shamoon
10729f0362 Feature: Implement custom fields for documents (#4502)
Adds custom fields of certain data types, attachable to documents and searchable

Co-Authored-By: Trenton H <797416+stumpylog@users.noreply.github.com>
2023-11-05 17:27:23 -08:00
Trenton H
8d60506884
Standarizes the imports across all the files and modules (#4248) 2023-09-23 20:17:01 -07:00
shamoon
7c9ab8c0b6
Feature: Share links (#3996)
* Implement share links

Basic implementation of share links

Make certain share link fields not editable, automatically grant permissions on migrate

Updated styling, error messages from expired / deleted links

frontend code linting, reversable sharelink migration

testing coverage

Update translation strings

No links message

* Consolidate file response methods

* improvements to share links on mobile devices

* Refactor share links file_version

* Add docs for share links

* Apply suggestions from code review

* When filtering share links, use the timezone aware now()

* Removes extra call to setup directories for usage in testing

* FIx copied badge display on some browsers

* Move copy to ngx-clipboard library

---------

Co-authored-by: Trenton H <797416+stumpylog@users.noreply.github.com>
2023-09-14 13:32:43 -07:00
jayme-github
97cd06d2ba
Feature: Allow to filter documents by original filename and checksum (#3485)
* Allow to filter documents by original filename and checksum

This adds filters for the original filename and checksum of documents to
be able to to lazy checks if the file is already stored in paperless.

* Add tests for DelayedQuery

* Add checksum and original_filename to whoosh index and DelayedQuery

* Refactored DelayedQuery to reduce duplicate code
* Choose icontains for checksums as whoosh has no exact match query term
* Bumped index version

* Revert whoosh filtering logic to simpler structure, remove redundant tests

Revert "Revert whoosh filtering logic to simpler structure, remove redundant tests"

This reverts commit 86792174bfbc697f42b72c4b39ee9eba483bb425.

---------

Co-authored-by: shamoon <4887959+shamoon@users.noreply.github.com>
2023-06-04 10:34:27 -07:00
shamoon
487d3a6262 Support owner API query vars 2023-05-08 15:34:14 -07:00
Trenton H
6f163111ce Upgrades black to v23, upgrades ruff 2023-04-26 09:35:27 -07:00
Trenton H
3bcbd05252 Fixes ruff not running isort against the codebase 2023-04-26 09:35:27 -07:00
shamoon
00e17f4d69 Allow filtering on multiple correspondents, doctypes, storage paths
Preserve 'Not assigned' option
Fix default logical operator
Update frontend strings
Fix radio button name overlaps
Use include / exclude with multi-select for OneToOne objects
2023-03-17 17:57:54 -07:00
Trenton H
94db39e055 A few minor tweaks to the backend 2023-01-30 14:37:09 -08:00
Michael Shamoon
fad13c148e Object-level permissions + filtering 2022-12-05 22:56:03 -08:00
Markus
69ef26dab0
Feature: Dynamic document storage pathes (#916)
* Added devcontainer

* Add feature storage pathes

* Exclude tests and add versioning

* Check escaping

* Check escaping

* Check quoting

* Echo

* Escape

* Escape :

* Double escape \

* Escaping

* Remove if

* Escape colon

* Missing \

* Esacpe :

* Escape all

* test

* Remove sed

* Fix exclude

* Remove SED command

* Add LD_LIBRARY_PATH

* Adjusted to v1.7

* Updated test-cases

* Remove devcontainer

* Removed internal build-file

* Run pre-commit

* Corrected flak8 error

* Adjusted to v1.7

* Updated test-cases

* Corrected flak8 error

* Adjusted to new plural translations

* Small adjustments due to code-review backend

* Adjusted line-break

* Removed PAPERLESS prefix from settings variables

* Corrected style change due to search+replace

* First documentation draft

* Revert changes to Pipfile

* Add sphinx-autobuild with keep-outdated

* Revert merge error that results in wrong storage path is evaluated

* Adjust styles of generated files ...

* Adds additional testing to cover dynamic storage path functionality

* Remove unnecessary condition

* Add hint to edit storage path dialog

* Correct spelling of pathes to paths

* Minor documentation tweaks

* Minor typo

* improving wrapping of filter editor buttons with new storage path button

* Update .gitignore

* Fix select border radius in non input-groups

* Better storage path edit hint

* Add note to edit storage path dialog re document_renamer

* Add note to bulk edit storage path re document_renamer

* Rename FILTER_STORAGE_DIRECTORY to PATH

* Fix broken filter rule parsing

* Show default storage if unspecified

* Remove note re storage path on bulk edit

* Add basic validation of filename variables

Co-authored-by: Markus Kling <markus@markus-kling.net>
Co-authored-by: Trenton Holmes <holmes.trenton@gmail.com>
Co-authored-by: Michael Shamoon <4887959+shamoon@users.noreply.github.com>
Co-authored-by: Quinn Casey <quinn@quinncasey.com>
2022-05-19 14:42:25 -07:00
Trenton Holmes
3003bdd507 Runs pyupgrade to Python 3.8+ and adds a hook for it 2022-05-06 09:04:08 -07:00
Trenton Holmes
1771d18a21 Runs the pre-commit hooks over all the Python files 2022-03-11 11:34:28 -08:00
kpj
fc695896dd Format Python code with black 2022-02-27 15:26:41 +01:00
Michael Shamoon
f75d4ccc89 Merge branch 'dev' into feature/any-all-filtering 2022-02-14 22:23:31 -08:00
Jonas Winkler
61b47e358f correct file mode 2021-05-16 01:22:51 +02:00
jonaswinkler
efa7b7b0b5 filter by title or title+content fixes #636 2021-02-28 16:19:41 +01:00
Michael Shamoon
893dcd9f28 Update API filters for "any" tag_id 2021-01-20 18:35:03 -08:00
jonaswinkler
111ed38cce fixes #121 2021-01-04 00:38:29 +01:00
jonaswinkler
f7f78d80b7 added isnull filters for document types and correspondents 2020-12-25 19:01:46 +01:00
jonaswinkler
69c6d68219 a print() command somehow sneaked past my commit checks. 2020-12-10 00:59:03 +01:00
jonaswinkler
9e46afafd7 fixes #102 2020-12-07 15:25:06 +01:00
Jonas Winkler
965e874740 fixes #17
search for multiple tags
2020-11-04 00:01:08 +01:00
Jonas Winkler
2b0b3a70a7 logging: don't group by logging_group 2020-11-02 01:24:56 +01:00
Jonas Winkler
052c1680f3 added
- document index
- api access for thumbnails/downloads
- more api filters

updated
- pipfile

removed
- filename handling
- legacy thumb/download access
- obsolete admin gui settings (per page items, FY, inline view)
2020-10-25 23:03:02 +01:00
Jonas Winkler
f33dca2904 some api changes 2020-10-21 12:16:25 +02:00
Jonas Winkler
bcd9220021 minor changes 2018-12-11 12:26:44 +01:00
Jonas Winkler
766109ae4e Merge remote-tracking branch 'upstream/master' 2018-12-11 12:06:15 +01:00
Daniel Quinn
0bb7d27269 pep8 2018-10-07 16:30:02 +01:00
Jonas Winkler
94ede7389d Merge remote-tracking branch 'upstream/master' 2018-09-25 14:47:12 +02:00
Daniel Quinn
a511d34d69 Fix implementation of django-filter 2018-09-23 15:47:14 +01:00
Jonas Winkler
11adc94e5e mode change 2018-09-06 12:00:01 +02:00
Jonas Winkler
13725ef8ee Merge branch 'master' into dev 2018-09-06 00:28:58 +02:00
Jonas Winkler
131e1c9dd8 fixed the api 2018-09-05 15:25:14 +02:00
Daniel Quinn
f5e725c691 Switch out field_name= for name=
This appears to be a django-filter version change thing.
2018-09-02 21:26:30 +01:00
Daniel Quinn
729f005600 Remove old Python 2.x style code 2018-09-02 21:26:06 +01:00
Solo
4e5ee24618 Refs Travis - fix for 80 chars limit 2018-08-16 21:48:45 +08:00
Solo
96268655d2 Prepare Paperless for new front end
- enable CORS for localhost calls
- add Filter to allow API calls that can select Documents without any tag
2018-08-16 17:05:54 +08:00
Daniel Quinn
27db4f7e51 refactor: code cleanup
I hate single quotes.
2017-03-25 16:20:59 +00:00
Daniel Quinn
294b8abc3f Fixes #164
There appears to be quite the mess out there with regard to how DRF
handles filtering.  DRF has its own built-in stuff, but recommends
django_filter for the advanced stuff, which has its own overriding
module that explodes with this message when used as per the
documentation:

  AttributeError: 'NoneType' object has no attribute 'DjangoFilterBackend'

Then there's djangorestframework-filter, another package that claims to
do the same thing, that does everything just differently enough that
nothing worked while I had it enabled.

I ended up using django_filter, but doing so importing each element
explicitly, rather than just using the recommended (and broken, at least
in this project) method of:

    import django_filter.restframework as fitlers

Anyway, this should bring the dependencies up to date, and strips out a
lot of redundant code.
2017-01-01 16:36:42 +00:00
Daniel Quinn
8c5cb163a1 The API now supports filtering docs by tag & correspondent, as well as ordering 2016-03-12 20:45:13 +00:00
Daniel Quinn
1ef119eb82 Added basic filtering + search 2016-03-09 01:05:46 +00:00