|
1 | | -from django.contrib import admin |
| 1 | +from django.contrib import admin, messages |
2 | 2 | from django.forms.models import modelform_factory |
3 | 3 | from django.http import JsonResponse |
4 | 4 | from django.urls import path |
| 5 | +from django.utils.translation import gettext_lazy as _ |
5 | 6 | from django.views.decorators.csrf import csrf_exempt |
6 | 7 |
|
7 | 8 | from .. import settings as filer_settings |
|
11 | 12 | from . import views |
12 | 13 |
|
13 | 14 |
|
14 | | -NO_FOLDER_ERROR = "Can't find folder to upload. Please refresh and try again" |
15 | | -NO_PERMISSIONS_FOR_FOLDER = ( |
| 15 | +NO_PERMISSIONS = _("You do not have permission to upload files.") |
| 16 | +NO_FOLDER_ERROR = _("Can't find folder to upload. Please refresh and try again") |
| 17 | +NO_PERMISSIONS_FOR_FOLDER = _( |
16 | 18 | "Can't use this folder, Permission Denied. Please select another folder." |
17 | 19 | ) |
18 | 20 |
|
@@ -68,17 +70,24 @@ def ajax_upload(request, folder_id=None): |
68 | 70 | """ |
69 | 71 | Receives an upload from the uploader. Receives only one file at a time. |
70 | 72 | """ |
| 73 | + |
| 74 | + if not request.user.has_perm("filer.add_file"): |
| 75 | + messages.error(request, NO_PERMISSIONS) |
| 76 | + return JsonResponse({'error': NO_PERMISSIONS}) |
| 77 | + |
71 | 78 | if folder_id: |
72 | 79 | try: |
73 | 80 | # Get folder |
74 | 81 | folder = Folder.objects.get(pk=folder_id) |
75 | 82 | except Folder.DoesNotExist: |
| 83 | + messages.error(request, NO_FOLDER_ERROR) |
76 | 84 | return JsonResponse({'error': NO_FOLDER_ERROR}) |
77 | 85 | else: |
78 | 86 | folder = Folder.objects.filter(pk=request.session.get('filer_last_folder_id', 0)).first() |
79 | 87 |
|
80 | 88 | # check permissions |
81 | 89 | if folder and not folder.has_add_children_permission(request): |
| 90 | + messages.error(request, NO_PERMISSIONS_FOR_FOLDER) |
82 | 91 | return JsonResponse({'error': NO_PERMISSIONS_FOR_FOLDER}) |
83 | 92 |
|
84 | 93 | if len(request.FILES) == 1: |
|
0 commit comments