| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- from django.http import HttpResponse
- from django.shortcuts import render
- from django.contrib.auth.decorators import login_required
- from models import Group
- from django.contrib.auth.models import User
- from folder.models import Folder
- import json
- import random
- import string
- # Create your views here.
- DEBUG = 1
- # 首先是 加入/退出 群组,客户端发送申请,把该用户直接 加入/删除 该群组的对象
- @login_required(login_url='/account/login/')
- def add_group(request):
- if request.method == 'post':
- # 查找是否有此人
- user = User.objects.filter(username=request.user.username).get()
- if user:
- # 查找此人是否已经在群组里
- group = Group.objects.filter(group_id=request.Group.group_id).get()
- if user in group.member:
- # 此人已在群组里
- return HttpResponse(status=421)
- else:
- group.member.add(user)
- group.save()
- return HttpResponse(status=200)
- else:
- return HttpResponse(status=422)
- elif request.method == 'GET':
- if DEBUG:
- return render(request, 'add_group.html')
- else:
- return HttpResponse(status=400)
- @login_required(login_url='/account/login/')
- def create_group(request):
- if request.method == 'post':
- # 查找是否有此人
- user = User.objects.filter(username=request.user.username).get()
- 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)
- else:
- return HttpResponse(status=422)
- elif request.method == 'GET':
- if DEBUG:
- return render(request, 'add_group.html')
- else:
- return HttpResponse(status=400)
- # value = ''.join(random.sample(string.ascii_letters + string.digits, 8))
- @login_required(login_url='/account/login/')
- def leave_group(request):
- if request.method == 'post':
- # 查找是否有此人
- user = User.objects.filter(username=request.user.username).get()
- if user:
- # 查找此人是否已经在群组里
- group = Group.objects.filter(group_id=request.Group.group_id).get()
- if user in group.member:
- # 此人已在群组里
- return HttpResponse(status=421)
- else:
- group.member.delete(user)
- group.save()
- return HttpResponse(status=200)
- else:
- return HttpResponse(status=422)
- elif request.method == 'GET':
- if DEBUG:
- return render(request, 'leave_group.html')
- else:
- return HttpResponse(status=400)
- # 获取你所在的所有群组
- @login_required(login_url='/account/login/')
- def group_list(request):
- if request.method == 'POST':
- # 获取群组
- groups = Group.objects.filter(member__username=request.user.username)
- response = []
- for i in groups:
- response.append(i)
- return HttpResponse(json.dumps(response), status=200)
- elif request.method == 'GET':
- if DEBUG:
- return render(request, 'group_list.html')
- else:
- return HttpResponse(status=400)
- # 删除群组
|