Compare commits

...

14 Commits
0.3.0 ... 0.3.3

Author SHA1 Message Date
Daniel Quinn
4121876116 Update for version 0.3.3 2017-01-08 19:13:52 +00:00
Daniel Quinn
1f0fea2937 Merge branch 'ekw-master'
Thanks @ekw for the facelift!
2017-01-08 19:05:41 +00:00
Daniel Quinn
92e178cc59 Fixing some style bits for my own OCD 2017-01-08 19:05:31 +00:00
Daniel Quinn
dc222cefd4 Merge branch 'master' of https://github.com/ekw/paperless into ekw-master 2017-01-08 18:58:59 +00:00
Daniel Quinn
0defa9d0ba Fix line length 2017-01-08 18:58:48 +00:00
Eric Wong
e3edb02090 Change default timezone value in conf file 2017-01-08 10:21:45 -08:00
Eric Wong
a32625ca04 Make OCR_LANGUAGE configurable (Fix #176) 2017-01-07 23:27:10 -08:00
Eric Wong
3c08fa9b33 Make number of list items per page configurable 2017-01-07 23:15:59 -08:00
Eric Wong
e6526d3fd4 Make timezone configurable 2017-01-07 15:12:45 -08:00
Eric Wong
bee0867a2a Add document thumbnail images; use django-suit theme for admin 2017-01-07 14:57:25 -08:00
Daniel Quinn
1711030cb5 Not xss, but host header 2017-01-04 11:37:26 +00:00
Daniel Quinn
7b586e6857 Fixes #172
Introduce some creative code around setting of ALLOWED_HOSTS that defaults to ['*'].  Also added PAPERLESS_ALLOWED_HOSTS to paperless.conf.example with an explanation as to what it's for
2017-01-03 09:57:27 +00:00
Daniel Quinn
350d2fb747 Version bump for convert binary fix 2017-01-01 22:46:29 +00:00
Daniel Quinn
5b53cc2139 Add a default value for CONVERT_BINARY 2017-01-01 22:44:04 +00:00
6 changed files with 75 additions and 7 deletions

View File

@@ -1,6 +1,19 @@
Changelog
#########
* 0.3.3
* Thumbnails in the UI and a Django-suit -based face-lift courtesy of @ekw!
* Timezone, items per page, and default language are now all configurable,
also thanks to @ekw.
* 0.3.2
* Fix for `#172`_: defaulting ALLOWED_HOSTS to ``["*"]`` and allowing the
user to set her own value via ``PAPERLESS_ALLOWED_HOSTS`` should the need
arise.
* 0.3.1
* Added a default value for ``CONVERT_BINARY``
* 0.3.0
* Updated to using django-filter 1.x
* Added some system checks so new users aren't confused by misconfigurations.
@@ -149,3 +162,5 @@ Changelog
.. _#146: https://github.com/danielquinn/paperless/issues/146
.. _#148: https://github.com/danielquinn/paperless/pull/148
.. _#150: https://github.com/danielquinn/paperless/pull/150
.. _#172: https://github.com/danielquinn/paperless/issues/172

View File

@@ -92,3 +92,23 @@ PAPERLESS_SHARED_SECRET=""
# PAPERLESS_CONSUMPTION_DIR. If you tend to write documents to this directory
# very slowly, you may want to use a higher value than the default (10).
# PAPERLESS_CONSUMER_LOOP_TIME=10
# If you're planning on putting Paperless on the open internet, then you
# really should set this value to the domain name you're using. Failing to do
# so leaves you open to HTTP host header attacks:
# https://docs.djangoproject.com/en/1.10/topics/security/#host-headers-virtual-hosting
#
# Just remember that this is a comma-separated list, so "example.com" is fine,
# as is "example.com,www.example.com", but NOT " example.com" or "example.com,"
#PAPERLESS_ALLOWED_HOSTS="example.com,www.example.com"
# Override the default UTC time zone here
#PAPERLESS_TIME_ZONE=UTC
# Customize number of list items to show per page
#PAPERLESS_LIST_PER_PAGE=50
# Customize the default language that tesseract will attempt to use when parsing
# documents. It should be a 3-letter language code consistent with ISO 639.
#PAPERLESS_OCR_LANGUAGE=eng

View File

@@ -3,6 +3,7 @@ Pillow>=3.1.1
django-crispy-forms>=1.6.0
django-extensions>=1.6.1
django-filter>=1.0
django-suit>=0.2.23
djangorestframework>=3.4.4
filemagic>=1.6
langdetect>=1.0.5

View File

@@ -53,13 +53,24 @@ class DocumentAdmin(admin.ModelAdmin):
}
search_fields = ("correspondent__name", "title", "content")
list_display = ("created", "correspondent", "title", "tags_", "document")
list_display = ("created", "title", "thumbnail", "correspondent", "tags_")
list_filter = ("tags", "correspondent", MonthListFilter)
list_per_page = 25
ordering = ["-created", "correspondent"]
def created_(self, obj):
return obj.created.date().strftime("%Y-%m-%d")
def thumbnail(self, obj):
png_img = self._html_tag(
"img",
src="/fetch/thumb/{}".format(obj.id),
width=275,
alt="thumbnail",
title=obj.file_name
)
return self._html_tag("a", png_img, href=obj.download_url)
thumbnail.allow_tags = True
def tags_(self, obj):
r = ""
for tag in obj.tags.all():

View File

@@ -29,7 +29,11 @@ DEBUG = True
LOGIN_URL = '/admin/login'
ALLOWED_HOSTS = []
ALLOWED_HOSTS = ["*"]
_allowed_hosts = os.getenv("PAPERLESS_ALLOWED_HOSTS")
if _allowed_hosts:
ALLOWED_HOSTS = _allowed_hosts.split(",")
# Tap paperless.conf if it's available
if os.path.exists("/etc/paperless.conf"):
@@ -40,6 +44,7 @@ if os.path.exists("/etc/paperless.conf"):
INSTALLED_APPS = [
'suit',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
@@ -56,6 +61,22 @@ INSTALLED_APPS = [
]
SUIT_CONFIG = {
'ADMIN_NAME': 'Paperless',
'SEARCH_URL': '',
'LIST_PER_PAGE': int(os.getenv("PAPERLESS_LIST_PER_PAGE", 25)),
'HEADER_DATE_FORMAT': 'D m-d-Y',
'MENU': (
'sites',
{
'app': 'documents',
'label': 'Paperless',
'icon': 'icon-file',
'models': ('Document', 'Tag', 'Correspondent', 'log')
},
)
}
MIDDLEWARE_CLASSES = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
@@ -137,7 +158,7 @@ AUTH_PASSWORD_VALIDATORS = [
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
TIME_ZONE = os.getenv("PAPERLESS_TIME_ZONE", "UTC")
USE_I18N = True
@@ -183,7 +204,7 @@ LOGGING = {
# The default language that tesseract will attempt to use when parsing
# documents. It should be a 3-letter language code consistent with ISO 639.
OCR_LANGUAGE = "eng"
OCR_LANGUAGE = os.getenv("PAPERLESS_OCR_LANGUAGE", "eng")
# The amount of threads to use for OCR
OCR_THREADS = os.getenv("PAPERLESS_OCR_THREADS")
@@ -197,7 +218,7 @@ FORGIVING_OCR = bool(os.getenv("PAPERLESS_FORGIVING_OCR", "YES").lower() in ("ye
GNUPG_HOME = os.getenv("HOME", "/tmp")
# Convert is part of the ImageMagick package
CONVERT_BINARY = os.getenv("PAPERLESS_CONVERT_BINARY")
CONVERT_BINARY = os.getenv("PAPERLESS_CONVERT_BINARY", "convert")
CONVERT_TMPDIR = os.getenv("PAPERLESS_CONVERT_TMPDIR")
CONVERT_MEMORY_LIMIT = os.getenv("PAPERLESS_CONVERT_MEMORY_LIMIT")
CONVERT_DENSITY = os.getenv("PAPERLESS_CONVERT_DENSITY")

View File

@@ -1 +1 @@
__version__ = (0, 3, 0)
__version__ = (0, 3, 3)