Files
Django/jituan/services/shenhe_club.py

32 lines
1.3 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"""考核模块按俱乐部过滤。"""
from jituan.constants import CLUB_ID_DEFAULT, DATA_SCOPE_ALL
from jituan.services.club_context import resolve_club_id_from_request, resolve_club_scope
from jituan.services.club_user import get_user_club_id
from users.business_models import User
def filter_shenhe_jilu_by_request(qs, request):
"""考核记录:按申请人(打手)所属俱乐部过滤。"""
if resolve_club_scope(request) == DATA_SCOPE_ALL:
return qs
club_id = resolve_club_id_from_request(request)
club_uids = list(
User.query.filter(ClubID=club_id).values_list('UserUID', flat=True)
)
if not club_uids:
return qs.none()
return qs.filter(shenqingren_id__in=club_uids)
def yonghu_chenghao_qs_for_request(base_qs, request):
"""板块标签用户数统计:按俱乐部过滤打手。"""
if resolve_club_scope(request) == DATA_SCOPE_ALL:
return base_qs
return base_qs.filter(yonghu__ClubID=resolve_club_id_from_request(request))
def user_belongs_to_request_club(user, request):
"""考核官添加等:用户须归属当前请求俱乐部(含集团视图下 header 所选 club"""
expected = (resolve_club_id_from_request(request) or CLUB_ID_DEFAULT).strip()
actual = (get_user_club_id(user) or CLUB_ID_DEFAULT).strip()
return actual == expected