Exemplo n.º 1
0
def edit_profile_whiteLists(request):
    page = int(request.GET.get('page',1))
    per_page = int(request.GET.get('per_page',10))
    if request.GET.get('search'):
        search = request.GET.get('search','').split(' ')
        if not search or (type(search) == 'list' and len(search) > 2):
            return render_json(u'Error in search word')
        else:
            if len(search) == 2:
                list_users = User.objects.filter((Q(name=search[0]) & Q(surname=search[1]) | Q(name=search[1]) & Q(surname=search[0]))).values_list('pk', flat=True)
            else:
                list_users = User.objects.filter((Q(name=search[0]) | Q(surname=search[0]))).values_list('pk', flat=True)

            list = UserList.objects.filter(object__in=list_users, user=request.user.pk)
            pagination = createPaginationBlock(page, per_page, list)

        return render(request, 'beagent/ba-reklamodatel-profile-whitelist.html', {'request':request, 'count_list':list.count(),'list':list[pagination['offset']:pagination['offset'] + pagination['per_page']],'pag':pagination})

    if request.user.type == 'advertiser':
        list = UserList.objects.filter(user=request.user.pk, type='white')
        pagination = createPaginationBlock(page, per_page, list)
        return render(request, 'beagent/ba-reklamodatel-profile-whitelist.html', {'request':request, 'count_list':list.count(),'list':list[pagination['offset']:pagination['offset'] + pagination['per_page']],'pag':pagination})

    elif request.user.type == 'agent':
        return redirect(SITE_URL+'cabinet/profile/black_list')
Exemplo n.º 2
0
Arquivo: agent.py Projeto: EmelD/agent
def view_agent_invitations(request):
    if request.user.type == 'agent':
        page = int(request.GET.get('page',1))
        per_page = int(request.GET.get('per_page',10))

        res = []
        balance = 0

        platforms = AdvertisingPlatform.objects.filter(user=request.user.pk)
        list = Invitation.objects.filter(platform__in=platforms,status='new')
        pagination = createPaginationBlock(page, per_page, list)

        for i in list:
            balance += i.task.sum

        for i in list[pagination['offset']:pagination['offset'] + pagination['per_page']]:
            res.append({
                'id':i.pk,
                'campaign':i.campaign.name,
                'balance':i.task.sum,
                'platform':i.platform.address,
                'platform_type':i.platform.type,
                'sender_name':i.campaign.user.name,
                'sender_surname':i.campaign.user.surname,
                'sender_rating':i.campaign.user.rating,
                'task':i.task.work_type,
            })
        return render(request, 'beagent/ba-agent-priglashenia.html', {'request':request, 'count_list':list.count(),'result':res,'pag':pagination,'balance':balance})
    else:
        return render(request, 'beagent/404.html')
Exemplo n.º 3
0
Arquivo: agent.py Projeto: EmelD/agent
def view_agent_platforms(request):
    if request.user.type == 'agent':
        page = int(request.GET.get('page',1))
        per_page = int(request.GET.get('per_page',10))
        status = request.GET.get('status','')

        res = []
        if status:
            list = AdvertisingPlatform.objects.filter(user=request.user.pk,status=status)
        else:
            list = AdvertisingPlatform.objects.filter(user=request.user.pk)
        pagination = createPaginationBlock(page, per_page, list)

        for i in list[pagination['offset']:pagination['offset'] + pagination['per_page']]:
            count = Invitation.objects.filter(status='new',platform=i.id).count()
            res.append({
                    'id':i.id,
                    'inventation':count,
                    'address':i.address,
                    'type':i.type,
                    'status':i.status,
                })

        return render(request, 'beagent/ba-agent-moi_ploshadki.html', {'request':request, 'count_list':list.count(),'result':res,'pag':pagination})
    else:
        return render(request, 'beagent/404.html')
Exemplo n.º 4
0
def profile_messages(request):
    page = int(request.GET.get('page',1))
    per_page = int(request.GET.get('per_page',10))
    list = Message.objects.filter(receiver=request.user.pk).order_by('-last_answer')
    pagination = createPaginationBlock(page, per_page, list)

    return render(request, 'beagent/ba-agent-soobshenia.html', {'request':request, 'count_list':list.count(),'list':list[pagination['offset']:pagination['offset'] + pagination['per_page']],'pag':pagination})
Exemplo n.º 5
0
def profile_view_tasks(request):
    date_range = None

    page = int(request.GET.get('page',1))
    per_page = int(request.GET.get('per_page',10))
    status = request.GET.get('status','')

    if request.method == 'POST':
        val = {}
        for i in request.POST:
            if request.POST[i] == '':
                val[i] = str(datetime.date.today())
            else:
                val[i] = request.POST[i]
        form = DateForm(val)
        if form.is_valid():
            date_range=(form.cleaned_data['date_from'], form.cleaned_data['date_to'])

    if request.user.type == 'agent':
        if not status:
            if not date_range:
                list = AgentTask.objects.filter(user=request.user.pk).extra(where=["status='performed' OR status='checkout'"])
            else:
                list = AgentTask.objects.filter(user=request.user.pk,date_start__range=date_range).extra(where=["status='performed' OR status='checkout'"])
        else:
            if not date_range:
                list = AgentTask.objects.filter(user=request.user.pk,status=status)
            else:
                list = AgentTask.objects.filter(user=request.user.pk,status=status,date_start__range=date_range)
        pagination = createPaginationBlock(page, per_page, list)

        return render(request, 'beagent/ba-agent-moi_zadachi.html', {'request':request, 'count_list':list.count(),'list':list[pagination['offset']:pagination['offset'] + pagination['per_page']],'pag':pagination})
    else:
        if not status:
            if not date_range:
                list = AgentTask.objects.filter(customer=request.user.pk).extra(where=["status='performed' OR status='payable'"])
            else:
                list = AgentTask.objects.filter(customer=request.user.pk,date_start__range=date_range).extra(where=["status='performed' OR status='payable'"])
        else:
            if not date_range:
                list = AgentTask.objects.filter(customer=request.user.pk,status=status)
            else:
                list = AgentTask.objects.filter(customer=request.user.pk,status=status,date_start__range=date_range)
        pagination = createPaginationBlock(page, per_page, list)
        res = []
        for i in list[pagination['offset']:pagination['offset'] + pagination['per_page']]:
            total_hours = i.date_finish - i.date_start
            now = datetime.datetime.utcnow().replace(tzinfo=utc)
            elapsed_hours = i.date_finish - now if i.date_finish > now else i.date_finish - i.date_finish
            res.append({
                'pk':i.pk,
                'campaign_name':i.task.campaign.name,
                'work_type':i.task.work_type,
                'status':i.get_status_display,
                'date_start':i.date_start,
                'last_event':i.last_event,
                'total_hours':total_hours.days*24 + total_hours.seconds/3600,
                'elapsed_hours':elapsed_hours.days*24 + elapsed_hours.seconds/3600,
                'name':i.customer.name,
                'surname':i.customer.surname,
                'rating':i.customer.rating,
                })


        return render(request, 'beagent/ba-reklamodatel-moi_zadachi.html', {'request':request, 'count_list':list.count(),'list':res,'pag':pagination})