323 Commits

Author SHA1 Message Date
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
5509918524 Remove unused imports & comments 2017-06-11 01:23:08 +01:00
Lucas Kolstad
45d564e527 Add django_filters to INSTALLED_APPS 2017-05-30 15:05:34 -07:00
Daniel Quinn
1e958fa6f6 Preparing for 0.5.0
I hadn't realised that I hadn't released 0.5.0 yet, so I've amended the version numbers
2017-05-27 13:23:25 +01:00
Daniel Quinn
770d8ef2ee Update changelog for 0.5.1 2017-05-27 13:21:04 +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
Daniel Quinn
114efe703a Merge pull request #230 from ddddavidmartin/webserver_paperless_titles
Refer to Paperless in Django webserver titles and update Django documentation URLs
2017-05-27 13:00:46 +01:00
David Martin
85564483ad Update version of remaining weblinks to Django documentation.
We are using Django 1.10 as per requirements.txt and should refer to its
documentation as well.
2017-05-27 08:49:03 +10:00
David Martin
b4c2e1b385 Update link to Django documentation in urls.py.
As per requirements.txt we are using Django version 1.10. It makes sense
to link to the documentation for that version as well.
Also, the documentation for the previous version has a notice on the top
that informs about the version being unsafe which is a bit disconcerting
when seeing it.
2017-05-25 20:22:05 +10:00
David Martin
344543b73c Refer to Paperless instead of Django in webserver pages.
It looks better to have the page titles refer to Paperless rather than
Django. The same with the login. Setting it in urls.py is based on this
stackoverflow response [0]. The proper documentation for the admin page
is under [1].

[0] https://stackoverflow.com/a/24983231
[1] https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#adminsite-attributes
2017-05-25 20:16:59 +10: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
David Martin
9d4c90199f Allow to configure the email inbox via config file.
Same as all the other parameters it makes sense to set it in the config
file as well.
2017-05-20 16:48:40 +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
2acf8a6691 version bump 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
Dashie
454e5fb126 Add check for PAPERLESS_MEDIADIR 2017-02-01 00:28:37 +01:00
Dashie
caaf5f2fcd Add config option to override STATIC_ROOT 2017-02-01 00:22:32 +01:00
Enno Lohmeier
ce5c5f0837 include flat responsive theme 2017-01-23 08:26:47 +01:00
Daniel Quinn
75884285cf Added checks for expected binaries in the PATH
Fixes #112
2017-01-14 18:04:15 +00:00
Daniel Quinn
d7d9c1edc0 Moved the dotenv loading above everything else 2017-01-14 18:03:42 +00:00
Daniel Quinn
92db3fec2e Allow users to set their own SECRET_KEY value
Fixes #171
Negates #174
2017-01-14 17:21:43 +00:00