51 Commits

Author SHA1 Message Date
shamoon
e07937647e Enhancement: support customfield filter for select type (#7199) 2024-07-09 10:54:34 -07:00
shamoon
a80f00721d Fix: handle errors for trash actions and only show documents user can restore or delete (#7119) 2024-06-27 20:33:39 +00:00
shamoon
40b81c77e8 Feature: custom fields filtering & bulk editing (#6484) 2024-04-26 15:10:03 -07:00
shamoon
307dc93f7b Fix: include monetary, float and doc link values in search filters (#5951) 2024-02-29 08:21:56 +00:00
shamoon
f3ff7b046f Fix shared by me filter with multiple users / groups in postgres (#5396) 2024-01-15 22:06:59 +00:00
shamoon
a96bf3c165 Enhancement: add basic filters for listing custom fields (#5257) 2024-01-06 03:04:31 +00:00
shamoon
0e5558ea98 Fix: type casting of db values for shared by me filter (#5155) 2023-12-29 17:19:45 +00:00
shamoon
5e361b0e81 Enhancement: shared icon & shared by me filter (#4859) 2023-12-19 20:45:04 +00:00
shamoon
96b50646eb API support for id args for documents & objects (#4519) 2023-11-06 12:31:10 -08:00
shamoon
a792bf1ca1 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
dc642152d1 Standarizes the imports across all the files and modules (#4248) 2023-09-23 20:17:01 -07:00
shamoon
ef9d01fefe 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
16a0a7c73a 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
2a65235e66 Support owner API query vars 2023-05-08 15:34:14 -07:00
Trenton H
aabcc9a1c4 Upgrades black to v23, upgrades ruff 2023-04-26 09:35:27 -07:00
Trenton H
30655f1b73 Fixes ruff not running isort against the codebase 2023-04-26 09:35:27 -07:00
shamoon
4003f64b49 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
401b0981ee A few minor tweaks to the backend 2023-01-30 14:37:09 -08:00
Michael Shamoon
6f62f300dc Object-level permissions + filtering 2022-12-05 22:56:03 -08:00
Markus
dd3b5c129c 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
f62193099c Runs pyupgrade to Python 3.8+ and adds a hook for it 2022-05-06 09:04:08 -07:00
Trenton Holmes
6635fa5f0d Runs the pre-commit hooks over all the Python files 2022-03-11 11:34:28 -08:00
kpj
c56cb25b5f Format Python code with black 2022-02-27 15:26:41 +01:00
Michael Shamoon
bb5ac02289 Merge branch 'dev' into feature/any-all-filtering 2022-02-14 22:23:31 -08:00
Jonas Winkler
dc565bd035 correct file mode 2021-05-16 01:22:51 +02:00
jonaswinkler
f4812cd70c filter by title or title+content fixes #636 2021-02-28 16:19:41 +01:00
Michael Shamoon
e821a885c0 Update API filters for "any" tag_id 2021-01-20 18:35:03 -08:00
jonaswinkler
3c0cf09f14 fixes #121 2021-01-04 00:38:29 +01:00
jonaswinkler
fc491f724f added isnull filters for document types and correspondents 2020-12-25 19:01:46 +01:00
jonaswinkler
c20d8b03f7 a print() command somehow sneaked past my commit checks. 2020-12-10 00:59:03 +01:00
jonaswinkler
d6d3cbe1aa fixes #102 2020-12-07 15:25:06 +01:00
Jonas Winkler
d4aa2fb169 fixes #17
search for multiple tags
2020-11-04 00:01:08 +01:00
Jonas Winkler
c497ff4a5d logging: don't group by logging_group 2020-11-02 01:24:56 +01:00
Jonas Winkler
93d963ed4e 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
027bed6c7e some api changes 2020-10-21 12:16:25 +02:00
Jonas Winkler
7d717735fe minor changes 2018-12-11 12:26:44 +01:00
Jonas Winkler
8f0d53c54a Merge remote-tracking branch 'upstream/master' 2018-12-11 12:06:15 +01:00
Daniel Quinn
eae2d241c9 pep8 2018-10-07 16:30:02 +01:00
Jonas Winkler
0f2a79ea61 Merge remote-tracking branch 'upstream/master' 2018-09-25 14:47:12 +02:00
Daniel Quinn
f3ed677f4d Fix implementation of django-filter 2018-09-23 15:47:14 +01:00
Jonas Winkler
1c8576cfb9 mode change 2018-09-06 12:00:01 +02:00
Jonas Winkler
069249cc0a Merge branch 'master' into dev 2018-09-06 00:28:58 +02:00
Jonas Winkler
6e66d39297 fixed the api 2018-09-05 15:25:14 +02:00
Daniel Quinn
88b8835617 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
828f050e82 Remove old Python 2.x style code 2018-09-02 21:26:06 +01:00
Solo
3290107263 Refs Travis - fix for 80 chars limit 2018-08-16 21:48:45 +08:00
Solo
a2fb4ef19c 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
e9fbeb27ff 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