mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Merge pull request #387 from LukaszSolo/master
Enable CORS for localhost
This commit is contained in:
		| @@ -89,6 +89,11 @@ PAPERLESS_EMAIL_SECRET="" | |||||||
| # as is "example.com,www.example.com", but NOT " example.com" or "example.com," | # as is "example.com,www.example.com", but NOT " example.com" or "example.com," | ||||||
| #PAPERLESS_ALLOWED_HOSTS="example.com,www.example.com" | #PAPERLESS_ALLOWED_HOSTS="example.com,www.example.com" | ||||||
|  |  | ||||||
|  | # If you decide to use Paperless APIs in an ajax calls, you need to add your | ||||||
|  | # servers to the allowed hosts that can do CORS calls. By default Paperless allows  | ||||||
|  | # calls from localhost:8080. The same rules as above how the list should look like. | ||||||
|  | #PAPERLESS_CORS_ALLOWED_HOSTS="localhost:8080,example.com,localhost:8000" | ||||||
|  |  | ||||||
| # To host paperless under a subpath url like example.com/paperless you set | # To host paperless under a subpath url like example.com/paperless you set | ||||||
| # this value to /paperless. No trailing slash! | # this value to /paperless. No trailing slash! | ||||||
| # | # | ||||||
|   | |||||||
| @@ -5,6 +5,7 @@ chardet==3.0.4 | |||||||
| coverage==4.5.1 | coverage==4.5.1 | ||||||
| coveralls==1.3.0 | coveralls==1.3.0 | ||||||
| dateparser==0.7.0 | dateparser==0.7.0 | ||||||
|  | django-cors-headers==2.4.0 | ||||||
| django-crispy-forms==1.7.2 | django-crispy-forms==1.7.2 | ||||||
| django-extensions==2.0.7 | django-extensions==2.0.7 | ||||||
| django-filter==1.1.0 | django-filter==1.1.0 | ||||||
|   | |||||||
| @@ -1,4 +1,4 @@ | |||||||
| from django_filters.rest_framework import CharFilter, FilterSet | from django_filters.rest_framework import CharFilter, FilterSet, BooleanFilter | ||||||
|  |  | ||||||
| from .models import Correspondent, Document, Tag | from .models import Correspondent, Document, Tag | ||||||
|  |  | ||||||
| @@ -46,6 +46,9 @@ class DocumentFilterSet(FilterSet): | |||||||
|     correspondent__slug = CharFilter(name="correspondent__slug", **CHAR_KWARGS) |     correspondent__slug = CharFilter(name="correspondent__slug", **CHAR_KWARGS) | ||||||
|     tags__name = CharFilter(name="tags__name", **CHAR_KWARGS) |     tags__name = CharFilter(name="tags__name", **CHAR_KWARGS) | ||||||
|     tags__slug = CharFilter(name="tags__slug", **CHAR_KWARGS) |     tags__slug = CharFilter(name="tags__slug", **CHAR_KWARGS) | ||||||
|  |     tags__empty = BooleanFilter(name='tags', | ||||||
|  |                                 lookup_expr='isnull', | ||||||
|  |                                 distinct=True) | ||||||
|  |  | ||||||
|     class Meta(object): |     class Meta(object): | ||||||
|         model = Document |         model = Document | ||||||
|   | |||||||
| @@ -61,6 +61,7 @@ INSTALLED_APPS = [ | |||||||
|     "django.contrib.messages", |     "django.contrib.messages", | ||||||
|     "django.contrib.staticfiles", |     "django.contrib.staticfiles", | ||||||
|  |  | ||||||
|  |     "corsheaders", | ||||||
|     "django_extensions", |     "django_extensions", | ||||||
|  |  | ||||||
|     "documents.apps.DocumentsConfig", |     "documents.apps.DocumentsConfig", | ||||||
| @@ -84,6 +85,7 @@ if os.getenv("PAPERLESS_INSTALLED_APPS"): | |||||||
| MIDDLEWARE_CLASSES = [ | MIDDLEWARE_CLASSES = [ | ||||||
|     'django.middleware.security.SecurityMiddleware', |     'django.middleware.security.SecurityMiddleware', | ||||||
|     'django.contrib.sessions.middleware.SessionMiddleware', |     'django.contrib.sessions.middleware.SessionMiddleware', | ||||||
|  |     'corsheaders.middleware.CorsMiddleware', | ||||||
|     'django.middleware.common.CommonMiddleware', |     'django.middleware.common.CommonMiddleware', | ||||||
|     'django.middleware.csrf.CsrfViewMiddleware', |     'django.middleware.csrf.CsrfViewMiddleware', | ||||||
|     'django.contrib.auth.middleware.AuthenticationMiddleware', |     'django.contrib.auth.middleware.AuthenticationMiddleware', | ||||||
| @@ -92,6 +94,9 @@ MIDDLEWARE_CLASSES = [ | |||||||
|     'django.middleware.clickjacking.XFrameOptionsMiddleware', |     'django.middleware.clickjacking.XFrameOptionsMiddleware', | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | # We allow CORS from localhost:8080 | ||||||
|  | CORS_ORIGIN_WHITELIST = tuple(os.getenv("PAPERLESS_CORS_ALLOWED_HOSTS", "localhost:8080").split(",")) | ||||||
|  |  | ||||||
| # If auth is disabled, we just use our "bypass" authentication middleware | # If auth is disabled, we just use our "bypass" authentication middleware | ||||||
| if bool(os.getenv("PAPERLESS_DISABLE_LOGIN", "false").lower() in ("yes", "y", "1", "t", "true")): | if bool(os.getenv("PAPERLESS_DISABLE_LOGIN", "false").lower() in ("yes", "y", "1", "t", "true")): | ||||||
|     _index = MIDDLEWARE_CLASSES.index("django.contrib.auth.middleware.AuthenticationMiddleware") |     _index = MIDDLEWARE_CLASSES.index("django.contrib.auth.middleware.AuthenticationMiddleware") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Daniel Quinn
					Daniel Quinn