拍爱

tourguidegroupadmin_views.py 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # -*- coding: utf-8 -*-
  2. from __future__ import division
  3. from logit import logit
  4. from group.models import GroupUserInfo
  5. from utils.admin_utils import is_group_admin
  6. from utils.error.errno_utils import GroupStatusCode
  7. from utils.error.response_utils import response
  8. @logit
  9. def tg_group_admin_list_api(request):
  10. """ 旅行团管理员列表 """
  11. group_id = request.POST.get('group_id', '')
  12. admin_id = request.POST.get('admin_id', '') # 导游唯一标识
  13. # 权限校验
  14. if not is_group_admin(group_id, admin_id):
  15. return response(GroupStatusCode.NOT_GROUP_ADMIN)
  16. admins = GroupUserInfo.objects.filter(group_id=group_id, subadmin=True, status=True)
  17. admins = [admin.admin_info for admin in admins]
  18. return response(200, 'Get Tour Guide Group Admin List Success', u'获取旅行团管理员列表成功', {
  19. 'group_id': group_id,
  20. 'admins': admins,
  21. })
  22. @logit
  23. def tg_group_admin_recovery_api(request):
  24. """ 旅行团管理员权限回收,管理员主动,团成员被动 """
  25. group_id = request.POST.get('group_id', '')
  26. admin_id = request.POST.get('admin_id', '') # 导游唯一标识
  27. user_id = request.POST.get('user_id', '')
  28. # 权限校验
  29. if not is_group_admin(group_id, admin_id):
  30. return response(GroupStatusCode.NOT_GROUP_ADMIN)
  31. # 管理员也不允许将自己移除
  32. if admin_id == user_id:
  33. return response(GroupStatusCode.ADMIN_CANNOT_HANDLE_SELF)
  34. try:
  35. subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, status=True)
  36. except GroupUserInfo.DoesNotExist:
  37. return response(GroupStatusCode.NOT_GROUP_SUBADMIN)
  38. # 权限回收
  39. subadmin.status = False
  40. subadmin.save()
  41. return response(200, 'Tour Guide Group Admin Right Recovery Success', u'旅行团管理员权限回收成功')
  42. @logit
  43. def tg_group_admin_waiver_api(request):
  44. """ 旅行团管理员权限放弃 """
  45. group_id = request.POST.get('group_id', '')
  46. user_id = request.POST.get('user_id', '')
  47. try:
  48. subadmin = GroupUserInfo.objects.get(group_id=group_id, user_id=user_id, subadmin=True, status=True)
  49. except GroupUserInfo.DoesNotExist:
  50. return response(GroupStatusCode.NOT_GROUP_SUBADMIN)
  51. # 权限回收
  52. subadmin.status = False
  53. subadmin.save()
  54. return response(200, 'Tour Guide Group Admin Right Waiver Success', u'旅行团管理员权限放弃成功')