mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-07-28 18:24:38 -05:00
Use frontend settings instead of env variable
This commit is contained in:
@@ -22,7 +22,6 @@ from django.http import Http404
|
||||
from django.http import HttpResponse
|
||||
from django.http import HttpResponseBadRequest
|
||||
from django.http import HttpResponseNotAllowed
|
||||
from django.http import HttpResponseNotFound
|
||||
from django.utils.decorators import method_decorator
|
||||
from django.utils.translation import get_language
|
||||
from django.views.decorators.cache import cache_control
|
||||
@@ -385,21 +384,22 @@ class DocumentViewSet(
|
||||
def getComments(self, doc):
|
||||
return [
|
||||
{
|
||||
"id":c.id,
|
||||
"comment":c.comment,
|
||||
"created":c.created,
|
||||
"user":{
|
||||
"id":c.user.id,
|
||||
"id": c.id,
|
||||
"comment": c.comment,
|
||||
"created": c.created,
|
||||
"user": {
|
||||
"id": c.user.id,
|
||||
"username": c.user.username,
|
||||
"firstname":c.user.first_name,
|
||||
"lastname":c.user.last_name
|
||||
}
|
||||
} for c in Comment.objects.filter(document=doc).order_by('-created')
|
||||
];
|
||||
"firstname": c.user.first_name,
|
||||
"lastname": c.user.last_name,
|
||||
},
|
||||
}
|
||||
for c in Comment.objects.filter(document=doc).order_by("-created")
|
||||
]
|
||||
|
||||
@action(methods=['get', 'post', 'delete'], detail=True)
|
||||
@action(methods=["get", "post", "delete"], detail=True)
|
||||
def comments(self, request, pk=None):
|
||||
if settings.PAPERLESS_COMMENTS_ENABLED != True:
|
||||
if settings.PAPERLESS_COMMENTS_ENABLED is not True:
|
||||
return HttpResponseNotAllowed("comment function is disabled")
|
||||
|
||||
try:
|
||||
@@ -407,35 +407,39 @@ class DocumentViewSet(
|
||||
except Document.DoesNotExist:
|
||||
raise Http404()
|
||||
|
||||
currentUser = request.user;
|
||||
currentUser = request.user
|
||||
|
||||
if request.method == 'GET':
|
||||
if request.method == "GET":
|
||||
try:
|
||||
return Response(self.getComments(doc));
|
||||
return Response(self.getComments(doc))
|
||||
except Exception as e:
|
||||
return Response({"error": str(e)});
|
||||
elif request.method == 'POST':
|
||||
return Response({"error": str(e)})
|
||||
elif request.method == "POST":
|
||||
try:
|
||||
c = Comment.objects.create(
|
||||
document = doc,
|
||||
document=doc,
|
||||
comment=request.data["payload"],
|
||||
user=currentUser
|
||||
);
|
||||
c.save();
|
||||
user=currentUser,
|
||||
)
|
||||
c.save()
|
||||
|
||||
return Response(self.getComments(doc));
|
||||
return Response(self.getComments(doc))
|
||||
except Exception as e:
|
||||
return Response({
|
||||
"error": str(e)
|
||||
});
|
||||
elif request.method == 'DELETE':
|
||||
comment = Comment.objects.get(id=int(request.GET.get("commentId")));
|
||||
comment.delete();
|
||||
return Response(self.getComments(doc));
|
||||
return Response(
|
||||
{
|
||||
"error": str(e),
|
||||
},
|
||||
)
|
||||
elif request.method == "DELETE":
|
||||
comment = Comment.objects.get(id=int(request.GET.get("commentId")))
|
||||
comment.delete()
|
||||
return Response(self.getComments(doc))
|
||||
|
||||
return Response({
|
||||
"error": "error"
|
||||
});
|
||||
return Response(
|
||||
{
|
||||
"error": "error",
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
class SearchResultSerializer(DocumentSerializer):
|
||||
@@ -893,32 +897,3 @@ class AcknowledgeTasksView(GenericAPIView):
|
||||
return Response({"result": result})
|
||||
except Exception:
|
||||
return HttpResponseBadRequest()
|
||||
|
||||
class EnvironmentView(APIView):
|
||||
|
||||
permission_classes = (IsAuthenticated,)
|
||||
|
||||
def get(self, request, format=None):
|
||||
if 'name' in request.query_params:
|
||||
name = request.query_params['name']
|
||||
else:
|
||||
return HttpResponseBadRequest("name required")
|
||||
|
||||
if(name not in settings.PAPERLESS_FRONTEND_ALLOWED_ENVIRONMENTS and settings.PAPERLESS_DISABLED_FRONTEND_ENVIRONMENT_CHECK == False):
|
||||
return HttpResponseNotAllowed("environment not allowed to request")
|
||||
|
||||
value = None
|
||||
try:
|
||||
value = getattr(settings, name)
|
||||
except:
|
||||
try:
|
||||
value = os.getenv(name)
|
||||
except:
|
||||
value = None
|
||||
|
||||
if value == None:
|
||||
return HttpResponseNotFound("environment not found")
|
||||
|
||||
return Response({
|
||||
"value": str(value)
|
||||
});
|
||||
|
@@ -566,15 +566,6 @@ CONVERT_MEMORY_LIMIT = os.getenv("PAPERLESS_CONVERT_MEMORY_LIMIT")
|
||||
|
||||
GS_BINARY = os.getenv("PAPERLESS_GS_BINARY", "gs")
|
||||
|
||||
# Comment settings
|
||||
PAPERLESS_COMMENTS_ENABLED = __get_boolean("PAPERLESS_COMMENTS_ENABLED", "NO")
|
||||
|
||||
# allowed environments for frontend
|
||||
PAPERLESS_DISABLED_FRONTEND_ENVIRONMENT_CHECK = __get_boolean("PAPERLESS_DISABLED_FRONTEND_ENVIRONMENT_CHECK", "NO")
|
||||
PAPERLESS_FRONTEND_ALLOWED_ENVIRONMENTS = [
|
||||
"PAPERLESS_COMMENTS_ENABLED"
|
||||
]
|
||||
|
||||
# Pre-2.x versions of Paperless stored your documents locally with GPG
|
||||
# encryption, but that is no longer the default. This behaviour is still
|
||||
# available, but it must be explicitly enabled by setting
|
||||
|
@@ -8,7 +8,6 @@ from django.utils.translation import gettext_lazy as _
|
||||
from django.views.decorators.csrf import csrf_exempt
|
||||
from django.views.generic import RedirectView
|
||||
from documents.views import AcknowledgeTasksView
|
||||
from documents.views import EnvironmentView
|
||||
from documents.views import BulkDownloadView
|
||||
from documents.views import BulkEditView
|
||||
from documents.views import CorrespondentViewSet
|
||||
@@ -95,7 +94,6 @@ urlpatterns = [
|
||||
AcknowledgeTasksView.as_view(),
|
||||
name="acknowledge_tasks",
|
||||
),
|
||||
re_path(r"^environment/", EnvironmentView.as_view()),
|
||||
path("token/", views.obtain_auth_token),
|
||||
]
|
||||
+ api_router.urls,
|
||||
|
Reference in New Issue
Block a user