コード例 #1
0
ファイル: models.py プロジェクト: dimnik97/events_all
    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'
        }
コード例 #2
0
ファイル: models.py プロジェクト: dimnik97/events_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'
        }
コード例 #3
0
ファイル: models.py プロジェクト: dimnik97/events_all
    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'
        }
コード例 #4
0
ファイル: views.py プロジェクト: dimnik97/events_all
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)
コード例 #5
0
ファイル: models.py プロジェクト: dimnik97/events_all
    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
コード例 #6
0
ファイル: models.py プロジェクト: dimnik97/events_all
    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
            }