12345678910111213141516171819202122232425262728293031323334353637 |
- # coding=utf-8
- from rest_framework import permissions
- from apps.customer.models import Customer
- from apps.account.models import User
- from apps.activity.models import Activity
- from util.wx.wechat import WeChat
- from util.exceptions import CustomError
- from util import response_error
- class IsCustomerUser(permissions.BasePermission):
- def has_permission(self, request, view):
- if not request.user or not request.user.is_authenticated:
- return False
- if not request.user.type != User.CUSTOMER:
- return False
- appid = request.GET.get('appid', None)
- if not appid:
- appid = request.POST.get('appid')
- activity_id = request.GET.get('activity_id', None)
- if not activity_id:
- activity_id = request.POST.get('activity_id')
- try:
- WeChat.checkAppid(appid)
- activity = Activity.getById(activity_id)
- except:
- return False
- customer = Customer.objects.filter(branch_id=activity.branch_id, user_id=request.user.id).first()
- if not customer:
- return False
- request.customer = customer
- return True
|