32 lines
1.3 KiB
Python
32 lines
1.3 KiB
Python
"""考核模块按俱乐部过滤。"""
|
||
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
|