|
|
@@ -1,3 +1,6 @@
|
|
|
+import random
|
|
|
+import string
|
|
|
+
|
|
|
from django.http import HttpResponse
|
|
|
from django.shortcuts import render
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
@@ -10,19 +13,35 @@ import json
|
|
|
DEBUG = 1
|
|
|
|
|
|
|
|
|
+@login_required(login_url='/account/login/')
|
|
|
+def get_first_folder(request):
|
|
|
+ if request.method == 'POST':
|
|
|
+ # 获取所有根文件夹id
|
|
|
+ folders = Folder.objects.filter(father_folder=None)
|
|
|
+ response = []
|
|
|
+ for i in folders:
|
|
|
+ response.append([i.folder_name, i.folder_id])
|
|
|
+ return HttpResponse(json.dumps(response), status=200)
|
|
|
+ elif request.method == 'GET':
|
|
|
+ if DEBUG:
|
|
|
+ return render(request, 'folder_list.html')
|
|
|
+ else:
|
|
|
+ return HttpResponse(status=400)
|
|
|
+
|
|
|
+
|
|
|
# 在根目录下列出所有文件夹与文件
|
|
|
@login_required(login_url='/account/login/')
|
|
|
def folder_list(request):
|
|
|
if request.method == 'POST':
|
|
|
data = request.POST
|
|
|
# 获取所有文件夹
|
|
|
- folders = Folder.objects.filter(father_folder__folder_id=data['folder_id']).get()
|
|
|
- files = File.objects.filter(folder__folder_id=data['folder_id']).get()
|
|
|
+ folders = Folder.objects.filter(father_folder__folder_id=data['folder_id'])
|
|
|
+ files = File.objects.filter(folder__folder_id=data['folder_id'])
|
|
|
response = []
|
|
|
for i in folders:
|
|
|
- response.append(i)
|
|
|
+ response.append(['folders', i.folder_name, i.folder_id])
|
|
|
for i in files:
|
|
|
- response.append(i)
|
|
|
+ response.append(['files', i.file_name, i.file_id, i.file_path, i.file_id, i.update_time, i.file_type, i.file_size])
|
|
|
return HttpResponse(json.dumps(response), status=200)
|
|
|
elif request.method == 'GET':
|
|
|
if DEBUG:
|
|
|
@@ -31,19 +50,24 @@ def folder_list(request):
|
|
|
return HttpResponse(status=400)
|
|
|
|
|
|
|
|
|
+# 父文件夹id 子文件夹名字
|
|
|
# 增文件夹
|
|
|
@login_required(login_url='/account/login/')
|
|
|
def add_folder(request):
|
|
|
if request.method == 'POST':
|
|
|
data = request.POST
|
|
|
- folder = Folder.objects.filter(father_folder__folder_id=data['folder_id']).get()
|
|
|
- if not folder:
|
|
|
+ folder_id_random = ''.join(random.sample(string.digits, 8))
|
|
|
+ father_folder = Folder.objects.filter(folder_id=data['father_folder_id']).get()
|
|
|
+ print(data)
|
|
|
+ if not father_folder:
|
|
|
# 查无此文件夹
|
|
|
return HttpResponse(status=421)
|
|
|
else:
|
|
|
- Folder.objects.create(folder_id=data['folder_id'],
|
|
|
- folder_name=data['folder_name'],
|
|
|
- father_folder=folder)
|
|
|
+ if 'folder_name' in data:
|
|
|
+ print('yes')
|
|
|
+ Folder.objects.create(folder_id=folder_id_random,
|
|
|
+ folder_name=data.get("folder_name"),
|
|
|
+ father_folder=father_folder)
|
|
|
return HttpResponse(status=200)
|
|
|
elif request.method == 'GET':
|
|
|
if DEBUG:
|
|
|
@@ -51,6 +75,7 @@ def add_folder(request):
|
|
|
else:
|
|
|
return HttpResponse(status=400)
|
|
|
|
|
|
+
|
|
|
# 删除文件夹
|
|
|
@login_required(login_url='/account/login/')
|
|
|
def delete_folder(request):
|
|
|
@@ -67,4 +92,4 @@ def delete_folder(request):
|
|
|
if DEBUG:
|
|
|
return render(request, 'delete_folder.html')
|
|
|
else:
|
|
|
- return HttpResponse(status=400)
|
|
|
+ return HttpResponse(status=400)
|