1169 Commits

Author SHA1 Message Date
ishirav
d6baea871b Add tests and improve whitespace handling 2017-12-23 06:37:00 +02:00
ishirav
e89cb0d6e0 Support search terms that contain multiple words in ANY/ALL matching modes, by surrounding the terms with double quotes. 2017-12-23 06:05:48 +02:00
David Martin
a0c054a5f6 Determine the start of the financial only for wrapping years.
If the financial year is from Jan to Dec there we do not need to
determine the start to see which year it falls into.
2017-08-26 19:50:57 +10:00
David Martin
82852cc01e Store whether financial year wraps instead of re-determining it.
It either wraps or it does not depending on how it is set in the config.
There is no point in determining it again for each document. Instead we
simply store it as a member variable the first time we check.
2017-08-26 19:45:39 +10:00
David Martin
cef4aaab45 Take non-wrapping financial years into account.
The German financial year for example goes from January to December. In
those cases we simply only show the year in the overview.
2017-08-25 20:27:39 +10:00
David Martin
164efe902d Return no filter results if financial year dates are not set.
This is a lot cleaner than trying to hack around whether or not the
FinancialYearFilter is part of the available filters. This way it will
show up if there are result for it and the dates are set, and it will
not if any of those conditions is not set.
2017-08-25 17:36:09 +10:00
David Martin
a82fb87e82 Add config settings to set the start and the end of the financial year.
Now we allow to filter for any financial year dates. Note that we also
only show the financial year filter if the dates are actually set.
2017-08-24 20:51:09 +10:00
David Martin
44f2a71f74 Add a basic financial year filter for the document overview.
For now we simply hardcode the dates for the AU financial years. We
simply show a list of financial years and filter the documents
accordingly.
2017-08-24 20:20:00 +10:00
maphy-psd
cf767bdd03 fix travis ci E510
E501 line too long (85 > 79 characters)
2017-08-20 16:18:39 +02:00
maphy-psd
fec0ff2e79 white spacing and remove var's prefix 2017-08-20 14:29:51 +02:00
maphy-psd
9a2e5fd28b def thumbnail uses FORCE_SCRIPT_NAME
with this edit the tumbnails are show up..
2017-08-19 18:37:17 +02:00
Christoph Roeder
182637f6f6 create documents subfolder folder if they do not exist 2017-07-31 21:35:41 +02:00
Daniel Quinn
fb4407fe65 Allow correspondents to be deleted without deleting their documents
Fixes #235
2017-07-15 19:13:10 +01:00
Daniel Quinn
cd21c9c451 Detect .tif files properly
Fixes #232
2017-07-15 19:02:11 +01:00
Daniel Quinn
215e4b4556 Remove debugging info 2017-06-19 09:22:26 +01:00
Daniel Quinn
2d83a2f013 Drop SHARED_SECRET in favour of EMAIL_SECRET
Originally we used SHARED secret both for email and for the API.  That
was a bad idea, and now that we're only using this value for one case,
I've renamed it to reflect its actual use.
2017-06-18 22:08:42 +01:00
Daniel Quinn
14c3e9d509 Fix HTTP POST of documents
After tinkering with this for about 2 hours, I'm reasonably sure this
ever worked.  This feature was added by me in haste and poked by by the
occasional contributor, and it suffered from neglect.

* Removed the requirement for signature generation in favour of simply
  requiring BasicAuth or a valid session id.
* Fixed a number of bugs in the form itself that would have ensured that
  the form never accepted anything.
* Documented it all properly so now (hopefully) people will have less
  trouble figuring it out in the future.
2017-06-11 01:23:37 +01:00
Daniel Quinn
becf316e8e Merge pull request #228 from ddddavidmartin/extend_email_handling
Set email inbox in config file, fetch email at consumer startup and bring documentation up to date
2017-05-27 13:07:17 +01:00
David Martin
00c30e362d Fix clened_data typos in forms.py.
This is where linters shine. Either pylint or pyflake discovered these
typos and even suggested the correct name.
2017-05-21 17:05:49 +10:00
David Martin
91cebb5567 Fetch emails right at startup instead of waiting for 10 minutes.
Especially when first setting up the configuration for consuming
documents from emails it makes sense to quickly test the changes. Having
to wait for 10 minutes is not acceptable.

There are two ways around it that come to my mind: the simple approach
is to always fetch the emails when Paperless first starts. This way the
fetching of emails can be tested straight away.
The alternative would be to have a configuration option that allows to
set the interval in which emails are checked. The user could then reduce
it to test the setup and increase it again later on. This seems
needlessly complicated though, so fetching at startup it is.
2017-05-21 14:23:46 +10:00
David Martin
a9425b5e97 Connect to configured inbox instead of hardcoded one.
Now the retrieving of emails from the inbox set in the config file works
as expected.
2017-05-21 08:34:49 +10:00
Daniel Quinn
700b7fe257 add: migration for fuzzy matching 2017-05-11 22:09:30 -07:00
CkuT
706ce09797 PEP8 2017-05-08 15:48:37 +02:00
CkuT
cabb9b5096 Use relatives paths instead of absolutes paths for document export/import 2017-05-08 15:23:35 +02:00
CkuT
a4f389de36 Refactor to get the document time once 2017-05-08 15:02:59 +02:00
CkuT
909fa3579c Use constants for manifest 2017-05-08 14:54:48 +02:00
CkuT
4c4255172f Add thumbnail export 2017-05-06 15:14:36 +02:00
CkuT
0057feefd1 Fix the source file checking 2017-05-06 15:04:47 +02:00
jgysland
18b16c6f18 KISS fuzzy match help text 2017-04-30 16:56:50 -04:00
jgysland
507afe9e93 add fuzzy matching + tests 2017-04-29 17:13:04 -04:00
Daniel Quinn
b573a5bf08 Merge pull request #214 from philippeowagner/master
Fixes #213 (MySQL syntax error)
2017-04-19 10:42:50 +01:00
Philippe O. Wagner
236da3cdfc Fixes #213 (MySQL syntax error) 2017-04-19 11:30:12 +02:00
Daniel Quinn
a5675edd6b fix: travis doesn't like my new tests 2017-03-28 21:23:42 +00:00
Daniel Quinn
e7d4ca92ba fix: allow for caps in file name suffixes #206
@schinkelg ran aground of this one and I took the opportunity to add a
test to catch this sort of thing for next time.
2017-03-28 21:14:24 +00:00
Daniel Quinn
bae7284d34 feat: add the new reminders app 2017-03-25 16:21:46 +00:00
Daniel Quinn
e9fbeb27ff refactor: code cleanup
I hate single quotes.
2017-03-25 16:20:59 +00:00
Daniel Quinn
9cee51cd11 refactor: break document-only stuff into the paperless app
The `SessionOrBasicAuthMixin` and `StandardPagination` classes were
living in the documents app and I needed them in the new `reminders`
app, so this commit breaks them out of `documents` and puts them in the
central `paperless` app instead.
2017-03-25 16:18:34 +00:00
Daniel Quinn
377a29871c feat: migration for changes in 0.3.6 2017-03-25 16:01:59 +00:00
Daniel Quinn
083ed3c7a3 fix: pep8 + travis & tox env updates 2017-03-25 15:10:51 +00:00
Daniel Quinn
09e655880c feat: make the content field optional 2017-03-25 15:10:25 +00:00
Daniel Quinn
7cb7d62bb8 fix: a little cleanup 2017-03-25 15:10:25 +00:00
Daniel Quinn
d2c283582b feat: refactor for pluggable consumers
I've broken out the OCR-specific code from the consumers and dumped it
all into its own app, `paperless_tesseract`.  This new app should serve
as a sample of how to create one's own consumer for different file
types.

Documentation for how to do this isn't ready yet, but for the impatient:

* Create a new app
    * containing a `parsers.py` for your parser modelled after
      `paperless_tesseract.parsers.RasterisedDocumentParser`
    * containing a `signals.py` with a handler moddelled after
      `paperless_tesseract.signals.ConsumerDeclaration`
    * connect the signal handler to
      `documents.signals.document_consumer_declaration` in
      `your_app.apps`
* Install the app into Paperless by declaring
  `PAPERLESS_INSTALLED_APPS=your_app`.  Additional apps should be
  separated with commas.
* Restart the consumer
2017-03-25 15:10:25 +00:00
Daniel Quinn
ff235de680 fix: #200 allow edits of correspondent & tags 2017-03-25 15:01:01 +00:00
Daniel Quinn
8f88367412 Merge branch 'master' of github.com:danielquinn/paperless 2017-03-05 12:15:22 +00:00
Daniel Quinn
38737f9d5c Disable adding through the admin 2017-03-05 12:15:18 +00:00
Philippe O. Wagner
6922759aed Better alt-text for thumbnails. 2017-03-01 00:50:53 +01:00
Daniel Quinn
7b77450d80 Django migrations doesn't account for PostgreSQL completely
This was a weird bug to run into.  Basically I changed a CharField into
a ForeignKey field and ran `makemigrations` to get the job done.
However, rather than doing a `RemoveField` and an `AddField`, migrations
created a single `AlterField` which worked just fine in SQLite, but blew
up in PostgreSQL with:

    psycopg2.ProgrammingError: operator class "varchar_pattern_ops" does
    not accept data type integer

The fix was to rewrite the single migration into the two separate steps.
2017-02-18 17:55:52 +00:00
Daniel Quinn
5c133ecb36 Allow for MariaDB/MySQL
MariaDB/MySQL doesn't handle indexes on TextFields well and for some
reason, Django's migrations opts to blow up rather than handle this in a
more user-friendly way.  The fix here isn't ideal, but should be
sufficient should anyone try to use Paperless with MySQL.
2017-02-18 17:53:43 +00:00
Daniel Quinn
73043dbeb2 A nicer look for the documents listing
This change includes a filthy hack around how Django handles
change_list_results.html -- I'm not thrilled with it, but it's as
elegant as I could come up with.  I'm happy to field alternative ideas.
More details can be found in `documents/templatetags/hacks.py`

Specifically, this merge includes a significant facelift to the
documents listing page, moving away from the tabular layout and toward a
tileset look.  I tried fiddling with the colours, but I just don't have
any skills in that area, so we're all stuck with Django'd default
colours until someone with an eye for colour can submit a better CSS.
2017-02-12 17:52:01 +00:00
Daniel Quinn
69ea039e31 Adds the ability for the user to configure the number of items per page.
Specifically requested by @ekw here:
https://github.com/danielquinn/paperless/issues/180#issuecomment-271665682
2017-01-14 17:09:48 +00:00