def save_doc(request): user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) print('save doc') content = request.POST.get("content") key = request.POST.get("doc_id") doc_id = transfer(key) # create_time = request.POST.get("modified_time") doc = Document.objects.get(pk=doc_id) doc.content = content doc.save() data = {'flag': "yes", 'msg': "modified success"} # print("success") return JsonResponse(data)
def exit_team(request): print("exit team") user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) team_id = request.POST.get("team_id") team = Team.objects.get(id=team_id) team_user = TeamUser.objects.filter(team=team, user=user) if team_user: team_user[0].delete() print("exit_team success") else: print("exit_team fail") team_user.delete() return JsonResponse({})
def get_deleted_docs(request): print("get deleted docs") user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) deleted_documents = Delete_document.objects.filter(creator=user) deleted_docs = [] for doc in deleted_documents: item = { 'name': doc.name, 'doc_id': doc.pk, } deleted_docs.append(item) data = {'deleted_docs': deleted_docs} return JsonResponse(data)
def collect_doc(request): print("collect doc") key = request.POST.get("doc_id") doc_id = transfer(key) # print(doc_id) user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) doc = Document.objects.get(pk=doc_id) data = {'flag': "no", 'msg': "already collected"} if not Collection.objects.filter(Q(user=user) & Q(doc=doc)): Collection.objects.create(user=user, doc=doc) data = {'flag': "yes", 'msg': "collect success"} # print("success") return JsonResponse(data)
def delete_team_member(request): print("delete team member") user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) team_id = request.POST.get("team_id") team = Team.objects.get(id=team_id) target_username = request.POST.get("username") user = User.objects.get(username=target_username) team_user = TeamUser.objects.filter(team=team, user=user) if team_user: team_user[0].delete() print("delete_team_number success") else: print("delete_team_number fail") return JsonResponse({})
def doc_search(request): user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) keyword = request.POST.get("keyword") search_doc = Document.objects.filter( Q(creator=user) & Q(name__icontains=keyword)) docs = [] for d in search_doc: c_item = { 'name': d.name, 'doc_id': d.key, 'created_time': d.created_date.__format__('%Y-%m-%d %H:%M'), } docs.append(c_item) return JsonResponse({'docs': docs})
def create_team(request): user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) if request.method == "POST": print('POST create team') team_name = request.POST.get("name") elif request.method == "OPTIONS": print('OPTIONS create team') team_name = request.OPTIONS.get("name") else: print('error') team = Team.objects.create(team_name=team_name) TeamUser.objects.create(team=team, user=user, is_leader=True, permission_level=4) return JsonResponse({})
def modify_permission(request): user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) team_id = request.POST.get("team_id") team = Team.objects.get(id=team_id) username = request.POST.get("username") target_user = User.objects.get(username=username) permission_level = request.POST.get("level") team_user = TeamUser.objects.get(team=team, user=target_user) if team_user: team_user.permission_level = permission_level print("权限被设置为", permission_level) team_user.save() print("modify_permission success") else: print("modify_permission fail") return JsonResponse({})
def is_leader(request): print("current user is leader?") user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) team_id = request.POST.get("team_id") team = Team.objects.get(id=team_id) # print("team id") # print(team_id) try: team_user = TeamUser.objects.get(team=team, user=user) data = { "is_leader": team_user.is_leader, "level": team_user.permission_level } print("team user permission level") print(team_user.permission_level) except: data = {} return JsonResponse(data)
def response_invitation(request): user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) notice_id = request.POST.get("notice_id") if request.POST.get("answer") == 'Yes': # 用户接受邀请 # 获取团队 team = Team.objects.get(id=request.POST.get("team_id")) # User作为组员加入团队 TeamUser.objects.create(user=user, team=team, is_leader=False) print('Success') elif request.POST.get("answer") == 'No': # 用户拒绝邀请 print('Refuse') else: print('There must be something wrong with the data!') Notification.objects.get(id=notice_id).delete() return JsonResponse({})
def delete_doc(request): print("delete doc") key = request.POST.get("doc_id") doc_id = transfer(key) user = authentication(request) try: doc = Document.objects.get(pk=doc_id) delete_doc = Delete_document.objects.create( creator=doc.creator, team=doc.team, in_group=doc.in_group, name=doc.name, content=doc.content, created_date=doc.created_date, modified_date=doc.modified_date) doc.delete() data = {'flag': "yes", 'delete_doc_id': delete_doc.pk} print("success") except expression as identifier: data = {'flag': "no"} return JsonResponse(data)
def get_team_docs(request): # print("get team docs") user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) team_id = request.POST.get("team_id") # print(team_id) team = Team.objects.get(pk=team_id) # print(team) documents = Document.objects.filter(team=team) # print(documents) docs = [] for doc in documents: item = { 'name': doc.name, # 'content': d.content, 'doc_id': doc.key, } docs.append(item) data = {'team_docs': docs} return JsonResponse(data)
def get_team_member(request): # print("get team list") user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) team_id = request.POST.get("team_id") team = Team.objects.get(id=team_id) team_user = TeamUser.objects.filter(team=team) user_list = [] for relation in team_user: if relation.is_leader: continue target_user = relation.user team_user = TeamUser.objects.get(user=target_user, team=team) item = { 'username': target_user.username, "level": str(team_user.permission_level) } user_list.append(item) # fake_list = [{'username': "******", "level": "1"}, {'username': "******", "level": "2"}, {'username': "******", "level": "3"}] data = {'user_list': user_list} return JsonResponse(data)
def get_user_notice(request): user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) unread_notice = user.notifications.unread() notice_list = [] for notice in unread_notice: team = notice.target actor = notice.actor item = { 'notice_id': notice.id, 'actor_id': actor.id, 'actor_name': actor.username, 'actor_avatar': ABSOLUTE_URL + actor.avatar.url, 'verb': notice.verb, 'target_id': team.id, 'target_name': team.team_name, 'sent_time': datetime.strftime(notice.timestamp, '%Y-%m-%d %H:%M'), } notice_list.append(item) data = {"notice_list": notice_list} return JsonResponse(data)
def get_my_team(request): print('get my team') user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) try: team_user = TeamUser.objects.filter(user=user) team_list = [] for relation in team_user: item = { 'team_name': relation.team.team_name, 'team_id': relation.team.id, "introduction": relation.team.introduction, "is_leader": relation.is_leader, "level": relation.permission_level } team_list.append(item) data = {"team_list": team_list} except: print("没有team") data = {"team_list": []} return JsonResponse(data)
def restore_doc(request): print("restore") user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) delete_doc_id = request.POST.get("doc_id") delete_doc = Delete_document.objects.get(pk=delete_doc_id) data = {'flag': "no"} if user == delete_doc.creator: # 生成独特的原始码 name = delete_doc.name key = user.username + name + str(datetime.now()) doc = Document.objects.create(creator=delete_doc.creator, team=delete_doc.team, in_group=delete_doc.in_group, name=delete_doc.name, key=key, content=delete_doc.content, created_date=delete_doc.created_date, modified_date=delete_doc.modified_date) delete_doc.delete() data = {'flag': "yes", 'doc_id': doc.key} return JsonResponse(data)
def get_comment_list(request): user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) # 获取被评论的文档id key = request.POST.get("doc_id") doc_id = transfer(key) document = Document.objects.get(id=doc_id) # 获取评论 comments = Comment.objects.filter(document=document) # 返还评论列表 comment_list = [] for comment in comments: item = { 'comment_id': comment.id, 'user': comment.user.username, 'content': comment.body, 'post_time': datetime.strftime(comment.created_time, '%Y-%m-%d %H-%M'), } comment_list.append(item) data = {"comment_list": comment_list, "current_user": user.username} return JsonResponse(data)
def my_doc(request): # print('my docs') user = authentication(request) if user is None: return HttpResponse('Unauthorized', status=401) created_documents = Document.objects.filter(creator=user) created_docs = [] collections = Collection.objects.filter(user=user) collected_docs = [] browsing = Browsing.objects.filter(user=user) browsing_docs = [] # 我创建的 for d in created_documents: if not d.in_group: c_item = { 'name': d.name, # 'content': d.content, 'doc_id': d.key, 'created_time': d.created_date.__format__('%Y-%m-%d %H:%M'), } created_docs.append(c_item) # 我收藏的 for d in collections: if not d.doc.in_group: c_item = { 'name': d.doc.name, # 'content': d.content, 'doc_id': d.doc.key, 'collected_time': d.collected_date.__format__('%Y-%m-%d %H:%M'), } collected_docs.append(c_item) # 最近浏览 for d in browsing: if d.doc.in_group: team = d.doc.team team_user = TeamUser.objects.get(user=user, team=team) c_item = { 'name': d.doc.name, 'doc_id': d.doc.key, 'in_group': True, 'team_id': team.pk, 'level': team_user.permission_level, 'browse_time': d.browsing_date.__format__('%Y-%m-%d %H:%M'), } else: c_item = { 'name': d.doc.name, 'doc_id': d.doc.key, 'in_group': False, 'team_id': -1, 'level': 4, 'browse_time': d.browsing_date.__format__('%Y-%m-%d %H:%M'), } browsing_docs.append(c_item) data = { 'browsing_docs': browsing_docs, 'created_docs': created_docs, 'collected_docs': collected_docs } return JsonResponse(data)