|
|
@@ -1,7 +1,7 @@
|
|
|
from django.http import HttpResponse
|
|
|
from django.shortcuts import render
|
|
|
from django.contrib.auth.decorators import login_required
|
|
|
-from models import Group
|
|
|
+from .models import Group
|
|
|
from django.contrib.auth.models import User
|
|
|
from folder.models import Folder
|
|
|
import json
|
|
|
@@ -15,13 +15,14 @@ DEBUG = 1
|
|
|
# 首先是 加入/退出 群组,客户端发送申请,把该用户直接 加入/删除 该群组的对象
|
|
|
@login_required(login_url='/account/login/')
|
|
|
def add_group(request):
|
|
|
- if request.method == 'post':
|
|
|
+ if request.method == 'POST':
|
|
|
+ data = request.POST
|
|
|
# 查找是否有此人
|
|
|
- user = User.objects.filter(username=request.user.username).get()
|
|
|
+ user = User.objects.filter(username=data['username']).get()
|
|
|
if user:
|
|
|
# 查找此人是否已经在群组里
|
|
|
- group = Group.objects.filter(group_id=request.Group.group_id).get()
|
|
|
- if user in group.member:
|
|
|
+ group = Group.objects.filter(group_id=data['group_id']).get()
|
|
|
+ if group.member.filter(username=user.username).count() > 0:
|
|
|
# 此人已在群组里
|
|
|
return HttpResponse(status=421)
|
|
|
else:
|
|
|
@@ -39,35 +40,28 @@ def add_group(request):
|
|
|
|
|
|
@login_required(login_url='/account/login/')
|
|
|
def create_group(request):
|
|
|
- if request.method == 'post':
|
|
|
+ if request.method == 'POST':
|
|
|
+ data = request.POST
|
|
|
# 查找是否有此人
|
|
|
- user = User.objects.filter(username=request.user.username).get()
|
|
|
+ user = User.objects.filter(username=request.user.username)
|
|
|
if user:
|
|
|
- # 查找此群是否有人注册
|
|
|
- group = Group.objects.filter(group_id=request.Group.group_id).get()
|
|
|
- if group:
|
|
|
- # 此群有人注册
|
|
|
- return HttpResponse(status=421)
|
|
|
- else:
|
|
|
- group_id_random = ''.join(random.sample(string.ascii_letters + string.digits, 8))
|
|
|
- while Group.objects.filter(group_id=group_id_random) is not None:
|
|
|
- group_id_random = ''.join(random.sample(string.ascii_letters + string.digits, 8))
|
|
|
- folder_1 = Folder.objects.create(folder_id=group_id_random,
|
|
|
- folder_name=request.Group.group_name,
|
|
|
- father_folder=None)
|
|
|
- folder_1.save()
|
|
|
- group_1 = Group.objects.create(group_id=group_id_random,
|
|
|
- group_name=request.Group.group_name,
|
|
|
- creator=request.user.username,
|
|
|
- folder=folder_1,
|
|
|
- member=user)
|
|
|
- group_1.save()
|
|
|
- return HttpResponse(status=200)
|
|
|
+ group_id_random = ''.join(random.sample(string.digits, 8))
|
|
|
+ folder_1 = Folder.objects.create(folder_id=group_id_random,
|
|
|
+ folder_name=data['group_name'],
|
|
|
+ father_folder=None)
|
|
|
+ folder_1.save()
|
|
|
+ group_1 = Group.objects.create(group_id=group_id_random,
|
|
|
+ group_name=data['group_name'],
|
|
|
+ creator=request.user.username,
|
|
|
+ folder=folder_1,)
|
|
|
+ group_1.member.set(user)
|
|
|
+ group_1.save()
|
|
|
+ return HttpResponse(status=200)
|
|
|
else:
|
|
|
return HttpResponse(status=422)
|
|
|
elif request.method == 'GET':
|
|
|
if DEBUG:
|
|
|
- return render(request, 'add_group.html')
|
|
|
+ return render(request, 'create_group.html')
|
|
|
else:
|
|
|
return HttpResponse(status=400)
|
|
|
|
|
|
@@ -76,17 +70,18 @@ def create_group(request):
|
|
|
|
|
|
@login_required(login_url='/account/login/')
|
|
|
def leave_group(request):
|
|
|
- if request.method == 'post':
|
|
|
+ if request.method == 'POST':
|
|
|
+ data = request.POST
|
|
|
# 查找是否有此人
|
|
|
- user = User.objects.filter(username=request.user.username).get()
|
|
|
+ user = User.objects.filter(username=data['username']).get()
|
|
|
if user:
|
|
|
# 查找此人是否已经在群组里
|
|
|
- group = Group.objects.filter(group_id=request.Group.group_id).get()
|
|
|
- if user in group.member:
|
|
|
- # 此人已在群组里
|
|
|
+ group = Group.objects.filter(group_id=data['group_id']).get()
|
|
|
+ if group.member.filter(username=user.username).count() == 0:
|
|
|
+ # 此人不在群组里
|
|
|
return HttpResponse(status=421)
|
|
|
else:
|
|
|
- group.member.delete(user)
|
|
|
+ group.member.remove(user)
|
|
|
group.save()
|
|
|
return HttpResponse(status=200)
|
|
|
else:
|
|
|
@@ -102,11 +97,12 @@ def leave_group(request):
|
|
|
@login_required(login_url='/account/login/')
|
|
|
def group_list(request):
|
|
|
if request.method == 'POST':
|
|
|
+ data = request.POST
|
|
|
# 获取群组
|
|
|
- groups = Group.objects.filter(member__username=request.user.username)
|
|
|
+ groups = Group.objects.filter(member__username=data['username'])
|
|
|
response = []
|
|
|
for i in groups:
|
|
|
- response.append(i)
|
|
|
+ response.append(i.group_name)
|
|
|
return HttpResponse(json.dumps(response), status=200)
|
|
|
elif request.method == 'GET':
|
|
|
if DEBUG:
|