Exemplo n.º 1
0
    def test_contact_view_list(self):
        """Test Function to check Contact list"""
        response = self.client.get('/contact/')
        self.assertEqual(response.context['module'], 'contact_list')
        self.assertTrue(response.context['form'], ContactSearchForm(self.user))
        self.assertEqual(response.status_code, 200)
        self.assertTemplateUsed(response, 'frontend/contact/list.html')

        request = self.factory.post('/contact/',
                                    data={
                                        'from_date': datetime.now(),
                                        'to_date': datetime.now(),
                                        'contact_name': '123'
                                    })
        request.user = self.user
        request.session = {}
        response = contact_list(request)
        self.assertEqual(response.status_code, 200)
Exemplo n.º 2
0
def contact_list(request):
    """Contact list for the logged in user

    **Attributes**:

        * ``template`` - dialer_contact/contact/list.html
        * ``form`` - ContactSearchForm

    **Logic Description**:

        * List all contacts from phonebooks belonging to the logged in user
    """
    sort_col_field_list = ['id', 'phonebook', 'contact', 'status', 'first_name', 'last_name', 'email', 'updated_date']
    pag_vars = get_pagination_vars(request, sort_col_field_list, default_sort_field='id')
    form = ContactSearchForm(request.user, request.POST or None)
    phonebook_id_list = Phonebook.objects.values_list('id', flat=True).filter(user=request.user)

    contact_no = ''
    contact_name = ''
    phonebook = ''
    contact_status = STATUS_CHOICE.ALL
    post_var_with_page = 0
    if form.is_valid():
        field_list = ['contact_no', 'contact_name', 'contact_status', 'phonebook']
        unset_session_var(request, field_list)

        contact_no = getvar(request, 'contact_no', setsession=True)
        contact_name = getvar(request, 'contact_name', setsession=True)
        contact_status = getvar(request, 'contact_status', setsession=True)
        phonebook = getvar(request, 'phonebook', setsession=True)
        post_var_with_page = 1

    if request.GET.get('page') or request.GET.get('sort_by'):
        post_var_with_page = 1
        contact_no = request.session.get('session_contact_no')
        contact_name = request.session.get('session_contact_name')
        contact_status = request.session.get('session_contact_status')
        phonebook = request.session.get('session_phonebook')
        form = ContactSearchForm(request.user,
                                 initial={'contact_no': contact_no,
                                          'contact_name': contact_name,
                                          'status': contact_status,
                                          'phonebook': phonebook})

    if post_var_with_page == 0:
        # default
        # unset session var
        field_list = ['contact_no', 'contact_name', 'contact_status', 'phonebook']
        unset_session_var(request, field_list)

    kwargs = {}
    if phonebook and phonebook != '0':
        kwargs['phonebook'] = phonebook

    if contact_status and int(contact_status) != STATUS_CHOICE.ALL:
        kwargs['status'] = contact_status

    contact_no_type = '1'
    contact_no = source_desti_field_chk(contact_no, contact_no_type, 'contact')
    for i in contact_no:
        kwargs[i] = contact_no[i]

    contact_list = []
    all_contact_list = []
    contact_count = 0

    if phonebook_id_list:
        contact_list = Contact.objects.values('id', 'phonebook__name', 'contact', 'last_name', 'first_name', 'email', 'status', 'updated_date')\
            .filter(phonebook__in=phonebook_id_list)

        if kwargs:
            contact_list = contact_list.filter(**kwargs)

        if contact_name:
            # Search on contact name
            contact_name_filter = (
                Q(last_name__icontains=contact_name) | Q(first_name__icontains=contact_name)
            )
            if contact_name_filter:
                contact_list = contact_list.filter(contact_name_filter)

        all_contact_list = contact_list.order_by(pag_vars['sort_order'])
        contact_list = all_contact_list[pag_vars['start_page']:pag_vars['end_page']]
        contact_count = all_contact_list.count()

    data = {
        'contact_list': contact_list,
        'all_contact_list': all_contact_list,
        'total_contacts': contact_count,
        'CONTACT_COLUMN_NAME': CONTACT_COLUMN_NAME,
        'col_name_with_order': pag_vars['col_name_with_order'],
        'msg': request.session.get('msg'),
        'error_msg': request.session.get('error_msg'),
        'form': form,
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response('dialer_contact/contact/list.html', data, context_instance=RequestContext(request))
Exemplo n.º 3
0
def contact_list(request):
    """Contact list for the logged in user

    **Attributes**:

        * ``template`` - frontend/contact/list.html
        * ``form`` - ContactSearchForm

    **Logic Description**:

        * List all contacts from phonebooks belonging to the logged in user
    """
    sort_col_field_list = ['id', 'phonebook', 'contact', 'status',
        'first_name', 'last_name', 'updated_date']
    default_sort_field = 'id'
    pagination_data =\
        get_pagination_vars(request, sort_col_field_list, default_sort_field)

    PAGE_SIZE = pagination_data['PAGE_SIZE']
    sort_order = pagination_data['sort_order']
    start_page = pagination_data['start_page']
    end_page = pagination_data['end_page']

    form = ContactSearchForm(request.user)
    phonebook_id_list = Phonebook.objects.values_list('id', flat=True)\
        .filter(user=request.user)
    search_tag = 1
    contact_no = ''
    contact_name = ''
    phonebook = ''
    contact_status = STATUS_CHOICE.ALL
    if request.method == 'POST':
        form = ContactSearchForm(request.user, request.POST)
        if form.is_valid():
            field_list = ['contact_no', 'contact_name',
                          'contact_status', 'phonebook']
            unset_session_var(request, field_list)

            contact_no = getvar(request, 'contact_no', setsession=True)
            contact_name = getvar(request, 'contact_name', setsession=True)
            contact_status = getvar(request, 'contact_status', setsession=True)
            phonebook = getvar(request, 'phonebook', setsession=True)

    post_var_with_page = 0
    try:
        if request.GET.get('page') or request.GET.get('sort_by'):
            post_var_with_page = 1
            contact_no = request.session.get('session_contact_no')
            contact_name = request.session.get('session_contact_name')
            contact_status = request.session.get('session_contact_status')
            phonebook = request.session.get('session_phonebook')
            form = ContactSearchForm(request.user, initial={'contact_no': contact_no,
                                                            'contact_name': contact_name,
                                                            'status': contact_status,
                                                            'phonebook': phonebook})
        else:
            post_var_with_page = 1
            if request.method == 'GET':
                post_var_with_page = 0
    except:
        pass

    if post_var_with_page == 0:
        # default
        # unset session var
        field_list = ['contact_no', 'contact_name',
                      'contact_status', 'phonebook']
        unset_session_var(request, field_list)

    kwargs = {}
    if phonebook and phonebook != '0':
        kwargs['phonebook'] = phonebook

    if contact_status and int(contact_status) != STATUS_CHOICE.ALL:
        kwargs['status'] = contact_status

    contact_no_type = '1'
    contact_no = type_field_chk(contact_no, contact_no_type, 'contact')
    for i in contact_no:
        kwargs[i] = contact_no[i]

    contact_list = []
    all_contact_list = []
    contact_count = 0

    if phonebook_id_list:
        contact_list = Contact.objects.values('id', 'phonebook__name', 'contact',
            'last_name', 'first_name', 'status', 'updated_date')\
            .filter(phonebook__in=phonebook_id_list)

        if kwargs:
            contact_list = contact_list.filter(**kwargs)

        if contact_name:
            # Search on contact name
            q = (Q(last_name__icontains=contact_name) |
                 Q(first_name__icontains=contact_name))
            if q:
                contact_list = contact_list.filter(q)

        all_contact_list = contact_list.order_by(sort_order)
        contact_list = all_contact_list[start_page:end_page]
        contact_count = all_contact_list.count()

    template = 'frontend/contact/list.html'
    data = {
        'module': current_view(request),
        'contact_list': contact_list,
        'all_contact_list': all_contact_list,
        'total_contacts': contact_count,
        'PAGE_SIZE': PAGE_SIZE,
        'CONTACT_COLUMN_NAME': CONTACT_COLUMN_NAME,
        'col_name_with_order': pagination_data['col_name_with_order'],
        'msg': request.session.get('msg'),
        'error_msg': request.session.get('error_msg'),
        'form': form,
        'dialer_setting_msg': user_dialer_setting_msg(request.user),
        'search_tag': search_tag,
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response(template, data,
                              context_instance=RequestContext(request))
Exemplo n.º 4
0
def contact_list(request):
    """Contact list for the logged in user

    **Attributes**:

        * ``template`` - frontend/contact/list.html
        * ``form`` - ContactSearchForm

    **Logic Description**:

        * List all contacts from phonebooks belonging to the logged in user
    """
    sort_col_field_list = ["id", "phonebook", "contact", "status", "first_name", "last_name", "email", "updated_date"]
    default_sort_field = "id"
    pagination_data = get_pagination_vars(request, sort_col_field_list, default_sort_field)

    PAGE_SIZE = pagination_data["PAGE_SIZE"]
    sort_order = pagination_data["sort_order"]
    start_page = pagination_data["start_page"]
    end_page = pagination_data["end_page"]

    form = ContactSearchForm(request.user)
    phonebook_id_list = Phonebook.objects.values_list("id", flat=True).filter(user=request.user)
    search_tag = 1
    contact_no = ""
    contact_name = ""
    phonebook = ""
    contact_status = STATUS_CHOICE.ALL
    if request.method == "POST":
        form = ContactSearchForm(request.user, request.POST)
        if form.is_valid():
            field_list = ["contact_no", "contact_name", "contact_status", "phonebook"]
            unset_session_var(request, field_list)

            contact_no = getvar(request, "contact_no", setsession=True)
            contact_name = getvar(request, "contact_name", setsession=True)
            contact_status = getvar(request, "contact_status", setsession=True)
            phonebook = getvar(request, "phonebook", setsession=True)

    post_var_with_page = 0
    try:
        if request.GET.get("page") or request.GET.get("sort_by"):
            post_var_with_page = 1
            contact_no = request.session.get("session_contact_no")
            contact_name = request.session.get("session_contact_name")
            contact_status = request.session.get("session_contact_status")
            phonebook = request.session.get("session_phonebook")
            form = ContactSearchForm(
                request.user,
                initial={
                    "contact_no": contact_no,
                    "contact_name": contact_name,
                    "status": contact_status,
                    "phonebook": phonebook,
                },
            )
        else:
            post_var_with_page = 1
            if request.method == "GET":
                post_var_with_page = 0
    except:
        pass

    if post_var_with_page == 0:
        # default
        # unset session var
        field_list = ["contact_no", "contact_name", "contact_status", "phonebook"]
        unset_session_var(request, field_list)

    kwargs = {}
    if phonebook and phonebook != "0":
        kwargs["phonebook"] = phonebook

    if contact_status and int(contact_status) != STATUS_CHOICE.ALL:
        kwargs["status"] = contact_status

    contact_no_type = "1"
    contact_no = type_field_chk(contact_no, contact_no_type, "contact")
    for i in contact_no:
        kwargs[i] = contact_no[i]

    contact_list = []
    all_contact_list = []
    contact_count = 0

    if phonebook_id_list:
        contact_list = Contact.objects.values(
            "id", "phonebook__name", "contact", "last_name", "first_name", "email", "status", "updated_date"
        ).filter(phonebook__in=phonebook_id_list)

        if kwargs:
            contact_list = contact_list.filter(**kwargs)

        if contact_name:
            # Search on contact name
            q = Q(last_name__icontains=contact_name) | Q(first_name__icontains=contact_name)
            if q:
                contact_list = contact_list.filter(q)

        all_contact_list = contact_list.order_by(sort_order)
        contact_list = all_contact_list[start_page:end_page]
        contact_count = all_contact_list.count()

    template = "frontend/contact/list.html"
    data = {
        "contact_list": contact_list,
        "all_contact_list": all_contact_list,
        "total_contacts": contact_count,
        "PAGE_SIZE": PAGE_SIZE,
        "CONTACT_COLUMN_NAME": CONTACT_COLUMN_NAME,
        "col_name_with_order": pagination_data["col_name_with_order"],
        "msg": request.session.get("msg"),
        "error_msg": request.session.get("error_msg"),
        "form": form,
        "dialer_setting_msg": user_dialer_setting_msg(request.user),
        "search_tag": search_tag,
    }
    request.session["msg"] = ""
    request.session["error_msg"] = ""
    return render_to_response(template, data, context_instance=RequestContext(request))
Exemplo n.º 5
0
def contact_list(request):
    """Contact list for the logged in user

    **Attributes**:

        * ``template`` - dialer_contact/contact/list.html
        * ``form`` - ContactSearchForm

    **Logic Description**:

        * List all contacts from phonebooks belonging to the logged in user
    """
    sort_col_field_list = [
        'id', 'phonebook', 'contact', 'status', 'first_name', 'last_name',
        'email', 'updated_date'
    ]
    pag_vars = get_pagination_vars(request,
                                   sort_col_field_list,
                                   default_sort_field='id')
    form = ContactSearchForm(request.user, request.POST or None)
    phonebook_id_list = Phonebook.objects.values_list(
        'id', flat=True).filter(user=request.user)

    contact_no = ''
    contact_name = ''
    phonebook = ''
    contact_status = STATUS_CHOICE.ALL
    post_var_with_page = 0
    if form.is_valid():
        field_list = [
            'contact_no', 'contact_name', 'contact_status', 'phonebook'
        ]
        unset_session_var(request, field_list)

        contact_no = getvar(request, 'contact_no', setsession=True)
        contact_name = getvar(request, 'contact_name', setsession=True)
        contact_status = getvar(request, 'contact_status', setsession=True)
        phonebook = getvar(request, 'phonebook', setsession=True)
        post_var_with_page = 1

    if request.GET.get('page') or request.GET.get('sort_by'):
        post_var_with_page = 1
        contact_no = request.session.get('session_contact_no')
        contact_name = request.session.get('session_contact_name')
        contact_status = request.session.get('session_contact_status')
        phonebook = request.session.get('session_phonebook')
        form = ContactSearchForm(request.user,
                                 initial={
                                     'contact_no': contact_no,
                                     'contact_name': contact_name,
                                     'status': contact_status,
                                     'phonebook': phonebook
                                 })

    if post_var_with_page == 0:
        # default
        # unset session var
        field_list = [
            'contact_no', 'contact_name', 'contact_status', 'phonebook'
        ]
        unset_session_var(request, field_list)

    kwargs = {}
    if phonebook and phonebook != '0':
        kwargs['phonebook'] = phonebook

    if contact_status and int(contact_status) != STATUS_CHOICE.ALL:
        kwargs['status'] = contact_status

    contact_no_type = '1'
    contact_no = source_desti_field_chk(contact_no, contact_no_type, 'contact')
    for i in contact_no:
        kwargs[i] = contact_no[i]

    contact_list = []
    all_contact_list = []
    contact_count = 0

    if phonebook_id_list:
        contact_list = Contact.objects\
            .values('id', 'phonebook__name', 'contact', 'last_name', 'first_name', 'email', 'status', 'updated_date')\
            .filter(phonebook__in=phonebook_id_list)

        if kwargs:
            contact_list = contact_list.filter(**kwargs)

        if contact_name:
            # Search on contact name
            contact_name_filter = (Q(last_name__icontains=contact_name)
                                   | Q(first_name__icontains=contact_name))
            if contact_name_filter:
                contact_list = contact_list.filter(contact_name_filter)

        all_contact_list = contact_list.order_by(pag_vars['sort_order'])
        contact_list = all_contact_list[
            pag_vars['start_page']:pag_vars['end_page']]
        contact_count = all_contact_list.count()

    data = {
        'contact_list': contact_list,
        'all_contact_list': all_contact_list,
        'total_contacts': contact_count,
        'CONTACT_COLUMN_NAME': CONTACT_COLUMN_NAME,
        'col_name_with_order': pag_vars['col_name_with_order'],
        'msg': request.session.get('msg'),
        'error_msg': request.session.get('error_msg'),
        'form': form,
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response('dialer_contact/contact/list.html',
                              data,
                              context_instance=RequestContext(request))
Exemplo n.º 6
0
def contact_list(request):
    """Contact list for the logged in user

    **Attributes**:

        * ``template`` - frontend/contact/list.html
        * ``form`` - ContactSearchForm

    **Logic Description**:

        * List all contacts from phonebooks belonging to the logged in user
    """
    sort_col_field_list = [
        'id', 'phonebook', 'contact', 'status', 'first_name', 'last_name',
        'updated_date'
    ]
    default_sort_field = 'id'
    pagination_data =\
        get_pagination_vars(request, sort_col_field_list, default_sort_field)

    PAGE_SIZE = pagination_data['PAGE_SIZE']
    sort_order = pagination_data['sort_order']
    start_page = pagination_data['start_page']
    end_page = pagination_data['end_page']

    form = ContactSearchForm(request.user)
    phonebook_id_list = Phonebook.objects.values_list('id', flat=True)\
        .filter(user=request.user)
    search_tag = 1
    contact_no = ''
    contact_name = ''
    phonebook = ''
    contact_status = STATUS_CHOICE.ALL
    if request.method == 'POST':
        form = ContactSearchForm(request.user, request.POST)
        if form.is_valid():
            field_list = [
                'contact_no', 'contact_name', 'contact_status', 'phonebook'
            ]
            unset_session_var(request, field_list)

            contact_no = getvar(request, 'contact_no', setsession=True)
            contact_name = getvar(request, 'contact_name', setsession=True)
            contact_status = getvar(request, 'contact_status', setsession=True)
            phonebook = getvar(request, 'phonebook', setsession=True)

    post_var_with_page = 0
    try:
        if request.GET.get('page') or request.GET.get('sort_by'):
            post_var_with_page = 1
            contact_no = request.session.get('session_contact_no')
            contact_name = request.session.get('session_contact_name')
            contact_status = request.session.get('session_contact_status')
            phonebook = request.session.get('session_phonebook')
            form = ContactSearchForm(request.user,
                                     initial={
                                         'contact_no': contact_no,
                                         'contact_name': contact_name,
                                         'status': contact_status,
                                         'phonebook': phonebook
                                     })
        else:
            post_var_with_page = 1
            if request.method == 'GET':
                post_var_with_page = 0
    except:
        pass

    if post_var_with_page == 0:
        # default
        # unset session var
        field_list = [
            'contact_no', 'contact_name', 'contact_status', 'phonebook'
        ]
        unset_session_var(request, field_list)

    kwargs = {}
    if phonebook and phonebook != '0':
        kwargs['phonebook'] = phonebook

    if contact_status and int(contact_status) != STATUS_CHOICE.ALL:
        kwargs['status'] = contact_status

    contact_no_type = '1'
    contact_no = type_field_chk(contact_no, contact_no_type, 'contact')
    for i in contact_no:
        kwargs[i] = contact_no[i]

    contact_list = []
    all_contact_list = []
    contact_count = 0

    if phonebook_id_list:
        contact_list = Contact.objects.values('id', 'phonebook__name', 'contact',
            'last_name', 'first_name', 'status', 'updated_date')\
            .filter(phonebook__in=phonebook_id_list)

        if kwargs:
            contact_list = contact_list.filter(**kwargs)

        if contact_name:
            # Search on contact name
            q = (Q(last_name__icontains=contact_name)
                 | Q(first_name__icontains=contact_name))
            if q:
                contact_list = contact_list.filter(q)

        all_contact_list = contact_list.order_by(sort_order)
        contact_list = all_contact_list[start_page:end_page]
        contact_count = all_contact_list.count()

    template = 'frontend/contact/list.html'
    data = {
        'module': current_view(request),
        'contact_list': contact_list,
        'all_contact_list': all_contact_list,
        'total_contacts': contact_count,
        'PAGE_SIZE': PAGE_SIZE,
        'CONTACT_COLUMN_NAME': CONTACT_COLUMN_NAME,
        'col_name_with_order': pagination_data['col_name_with_order'],
        'msg': request.session.get('msg'),
        'error_msg': request.session.get('error_msg'),
        'form': form,
        'dialer_setting_msg': user_dialer_setting_msg(request.user),
        'search_tag': search_tag,
    }
    request.session['msg'] = ''
    request.session['error_msg'] = ''
    return render_to_response(template,
                              data,
                              context_instance=RequestContext(request))