def list(request, folder_id=None): """Returns a list of folders and images under them in JSON compatible format. Optional folder id can be passed to get folders and images under a specific folder. """ if not permission_policy.user_has_any_permission( request.user, ['add', 'change', 'delete']): response = {'message': "User does not have permission"} return JsonResponse(response, status=403) if folder_id: folders = ImageFolder.objects.filter(id=folder_id) folders_list = get_folders_list(folders) else: root_folder = dict() root_folder['id'] = '-1' root_folder['title'] = 'root' # Get all folders under root folders = ImageFolder.objects.filter(folder__isnull=True) root_folder['sub_folders'] = get_folders_list(folders) # Get all images under root images = Image.objects.filter(folder__isnull=True) root_folder['images'] = list() for image in images: root_folder['images'].append(get_image_dict(image)) folders_list = [root_folder] return JsonResponse(folders_list, safe=False)
def search(request): response = dict() if not permission_policy.user_has_any_permission(request.user, ['add', 'change', 'delete']): response = { 'message': "User does not have permission" } return JsonResponse(response, status=403) # Get images (filtered by user permission) images = permission_policy.instances_user_has_any_permission_for( request.user, ['change', 'delete'] ).order_by('-created_at') # Search query_string = None if 'query_string' in request.GET: query_string = request.GET.get('query_string') images = images.search(query_string) else: response['message'] = "No query string passed" return JsonResponse(response, status=400) # Filter by folder current_folder = None folder_id = request.GET.get('folder_id') if folder_id: try: current_folder = ImageFolder.objects.get(id=folder_id) images = images.filter(folder=current_folder) except ObjectDoesNotExist: response['message'] = "Invalid Folder ID" return JsonResponse(response, status=400) image_list = list() for image in images: image_list.append(get_image_dict(image)) return JsonResponse(image_list, safe=False)
def is_shown(self, request): return permission_policy.user_has_any_permission( request.user, ['add', 'change', 'delete'])
def is_shown(self, request): return permission_policy.user_has_any_permission( request.user, ['add', 'change', 'delete'] )
def is_shown(self, request): return permission_policy.user_has_any_permission(request.user, ["add", "change", "delete"])