def get_all_users(request): q_objects = Q() q_objects.add(Q(active='1'), Q.AND) flag = False action = 'context_menu' if ('value' in request.POST or 'value' in request.GET) and ( 'search' in request.POST or 'search' in request.GET): q_objects.add(Q(user__first_name__icontains=request.POST['value']), Q.AND) q_objects.add(Q(user__last_name__icontains=request.POST['value']), Q.AND) flag = True users = Profile.objects.filter(q_objects) \ .select_related('user', 'user__profileavatar', 'user__usersettings') \ .order_by('user__first_name') \ .exclude(id=request.user.profile.id) ret_objects = helper.helper_paginator(request, users, count=20) return { 'flag': flag, 'items': ret_objects, 'user_id': '', 'action': action, 'type': 'all' }
def get_followers(request): if 'user' in request.GET: user_id = request.GET.get('user', 1) else: user_id = request.user.id flag = False action = 'context_menu' # Тип - контекстное меню user = User.objects.get(id=user_id) if ('value' in request.POST or 'value' in request.GET) and ( 'search' in request.POST or 'search' in request.GET): from django.db.models import Q followers_object = ProfileSubscribers.objects.filter( Q(from_profile__user__first_name__icontains=request.POST['value']) |Q(from_profile__user__last_name__icontains=request.POST['value']), to_profile=user.profile).exclude(from_profile=request.user.profile) \ .select_related('from_profile__user__profileavatar', 'from_profile__user__usersettings') flag = True else: followers_object = ProfileSubscribers.objects.filter(to_profile=user.profile) \ .exclude(from_profile=request.user.profile)\ .select_related('from_profile__user__profileavatar', 'from_profile__user__usersettings') followers = [ follower.from_profile for follower in followers_object.all() ] followers = helper.helper_paginator(request, followers) return { 'flag': flag, 'items': followers, 'user_id': user_id, 'action': action, 'type': 'followers' }
def get_subscribers(request): if 'user' in request.GET: user_id = request.GET.get('user', 1) else: user_id = request.user.id flag = False action = '' # Просмотр if 'action' in request.GET: action = request.GET.get('action') # Тип - выбор подписчиков (с чекбоксами) else: action = 'context_menu' # Тип - контекстное меню user = User.objects.get(id=user_id) if ('value' in request.POST or 'value' in request.GET) and ( 'search' in request.POST or 'search' in request.GET): from django.db.models import Q subscribers_object = ProfileSubscribers.objects.filter( Q(to_profile__user__last_name__icontains=request.POST['value']) | Q(to_profile__user__first_name__icontains=request.POST['value']), from_profile=user.profile).select_related('to_profile__user__profileavatar', 'to_profile__user__usersettings') \ .only('to_profile__user__first_name', 'to_profile__user__last_name') \ .exclude(to_profile=request.user.profile) flag = True else: subscribers_object = ProfileSubscribers.objects.filter(from_profile=user.profile) \ .select_related('to_profile__user__profileavatar', 'to_profile__user__usersettings') \ .only('to_profile__user__first_name', 'to_profile__user__last_name') \ .exclude(to_profile=request.user.profile) subscribers = [ subscriber.to_profile for subscriber in subscribers_object.all() ] subscribers = helper.helper_paginator(request, subscribers, 20) return { 'flag': flag, 'items': subscribers, 'user_id': user_id, 'action': action, 'type': 'subscribers' }
def get_all_groups(request): cur_user, is_my = check_is_my_acount(request) # Параметры приходящие постом if 'name' in request.POST: name = request.POST['name'] else: name = '' groups = Group.objects.filter(name__icontains=name) \ .only('id', 'name', 'status').select_related('groupavatar') groups = helper.helper_paginator(request, groups, 2) context = { 'cur_user': cur_user, 'user': request.user, 'is_my': is_my, 'find': name, 'groups': groups, 'type': 'all_groups' } return render_to_response('groups/groups_template.html', context)
def user_manager(request): if 'event' in request.GET: event_id = request.GET.get('event', 1) if 'type' in request.GET: type = request.GET['type'] flag = False event = Event.objects.get(id=event_id) if 'value' in request.POST and 'search' in request.POST: from django.db.models import Q subscribers_object = EventMembership.objects.filter( Q(person__user__last_name__icontains=request. POST['value']) | Q(person__user__first_name__icontains=request. POST['value']), event=event, role__role=type) flag = True else: subscribers_object = EventMembership.objects.filter( event=event, role__role=type) subscribers = [ subscriber.person for subscriber in subscribers_object.all() ] subscribers = helper.helper_paginator(request=request, p_object=subscribers, count=20) return { 'flag': flag, 'items': subscribers, 'user_id': event_id, 'is_profile': False, 'type': type } raise Http404
def get_subscribers(request): if 'event' in request.GET: event_id = request.GET.get('event', 1) flag = False action = '' # Просмотр event = Event.objects.get(id=event_id) if 'value' in request.POST and 'search' in request.POST: from django.db.models import Q subscribers_object = EventMembership.objects.filter( Q(person__user__last_name__icontains=request.POST['value']) | Q(person__user__first_name__icontains=request. POST['value']), event=event, role__role__in=['admin', 'editor', 'subscribers']) flag = True else: subscribers_object = EventMembership.objects.filter( event=event, role__role__in=['admin', 'editor', 'subscribers']) subscribers = [ subscriber.person for subscriber in subscribers_object.all() ] subscribers = helper.helper_paginator(request=request, p_object=subscribers, count=20) return { 'flag': flag, 'items': subscribers, 'user_id': event_id, 'action': action, 'type': 'subscribers', 'is_profile': False }